0

我正在尝试使用此示例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)

这可能吗?

4

1 回答 1

0

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

一种解决方法是:

  1. 将您的 MultiPolygon 蒙版拆分为一组多边形。
  2. 然后循环调用数组中的每个多边形,调用 mask() 将该多边形传递给第二个参数,并将结果保存在一个变量中。
  3. 在第二个循环中,使用 intersect() 将步骤 2 中的所有掩码结果合并为一个结果。
于 2017-05-30T18:29:17.670 回答