如何 mask/trim 全国各地的 voronoi 多边形?

How to mask/trim voronoi polygons around country?

我有大约 2000 个点的 mapbox 地图,我用 turf.js 围绕它们绘制了 voronoi 多边形,如何设置国家/地区周围的边界,使多边形不会延伸到世界各地?我只想 mask/trim 它们并在国家边界周围保留多边形。

我已经尝试过使用 turf.js 蒙版功能 (https://turfjs.org/docs/#mask),但我丢失了所有图层(不再有 polygons/points)。

Here is my code on JSFiddle:
https://jsfiddle.net/eqxdjv6z/

遍历每个 Voronoi 单元格的每个边界并检查它是否穿过外部 shell。 如果是这样,将 Intersection 设置为 Voronoi 单元的新边,并删除网格区域之外的所有边。

也许这对您也有帮助:https://discourse.mcneel.com/t/trim-voronoi-cell/78408