我尝试使用另一个多面创建多面区域的掩膜,示例如下http://turfjs.org/docs/#mask
由于:
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)
这可能吗?
2条答案
按热度按时间dfuffjeb1#
mask API不接受MultiPolygon作为其第二个参数。(http://turfjs.org/docs/#mask)您只能传递一个Polygon。
变通解决方案是:
1.将“多重多边形”遮罩分割为多边形阵列。
1.然后为数组中的每个Polygon循环调用mask(),将该Polygon传递给第二个参数,并将结果保存在变量中。
1.在第二个循环中,使用intersect()将步骤2中的所有掩码结果合并为一个结果。
qxgroojn2#
我就是这么做的。