经纬志
首页 / Turf.js / API 文档

mask

先看结论

返回一个带洞的大面,洞里是研究区,洞外是背景。

最后验证 2026-11-03 · Turf.js 7.x · 更新 2026-10-27 · 引用本文
turf.mask(polygon, mask, options) → Feature

参数

参数类型说明
polygonFeature要保留的区域
maskFeature可选,遮罩范围,缺省为全球
options.ignoreBoundaryboolean是否忽略边界重合情形

返回值

一个带洞的面。遮罩范围必须完全包含研究区,否则结果不完整。

示例

var study = turf.polygon([[[116.30, 39.85], [116.45, 39.85],
  [116.45, 39.95], [116.30, 39.95], [116.30, 39.85]]]);

var veil = turf.mask(study);
console.log(veil.geometry.type);   // Polygon
console.log(veil.geometry.coordinates.length);   // 2,外环加洞

渲染方式

把掩膜面铺在数据上层,填充半透明深色,环按奇偶规则渲染, 洞内不受影响。Leaflet、MapLibre 都支持带洞面的填充, 前提是环的绕向正确。

范围选择

默认遮罩是全球范围,在三维斜视角下会看到平面插进地平线。 传入当前视野范围作遮罩,视觉上更干净。

掩膜不是裁剪。数据本身没有变化,只是被遮住, 统计接口仍然会返回区外要素。真正裁剪要再走一次 intersect。

引用本文

经纬志(2026)。《mask》。https://www.jingweizhi.com/turf/api/mask.html(访问日期 2026-11-03)。