首页 / Turf.js / API 文档
mask
先看结论
返回一个带洞的大面,洞里是研究区,洞外是背景。
turf.mask(polygon, mask, options) → Feature
参数
| 参数 | 类型 | 说明 |
|---|---|---|
polygon | Feature | 要保留的区域 |
mask | Feature | 可选,遮罩范围,缺省为全球 |
options.ignoreBoundary | boolean | 是否忽略边界重合情形 |
返回值
一个带洞的面。遮罩范围必须完全包含研究区,否则结果不完整。
示例
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)。