是否可以使用草皮创建MultiPolygon蒙版?

时间:2017-05-04 16:09:06

标签: javascript mapbox-gl turfjs

我正在尝试使用此示例http://turfjs.org/docs/#mask

使用另一个MultiPolygon为MultiPolygon区域创建蒙版

由于:

masked = turf.mask(multiPolygon1, multiPolygon2);

我收到错误:

npmcdn.com/@turf/turf@4.2.0/turf.min.js:18 Uncaught TypeError: Cannot read property 'coordinates' of undefined
    at s (https://npmcdn.com/@turf/turf@4.2.0/turf.min.js:18:24640)

这可能吗?

1 个答案:

答案 0 :(得分:0)

掩码API不接受MultiPolygon作为其第二个参数。 (http://turfjs.org/docs/#mask)您只能传递多边形。

解决方案解决方案是:

  1. 将MultiPolygon蒙版拆分为多边形数组。
  2. 然后为数组中的每个Polygon循环调用mask(),将该Polygon传递给第二个参数,并将结果保存在变量中。
  3. 在第二个循环中,使用intersect()将步骤2中的所有遮罩结果合并为一个结果。