Leaflet 使用传单删除多边形外部的多段线点

Leaflet 使用传单删除多边形外部的多段线点,leaflet,turfjs,Leaflet,Turfjs,我已经使用地图上的传单绘制插件在polygone内部以编程方式绘制了多段线(不使用传单绘制),我只想保留polygone内部的多段线点,并删除外部的多段线点。你知道如何使用传单插件吗?。非常感谢您的帮助。谢谢 以下是一个屏幕截图: 预期结果: 我按照@Sam的建议研究了**turp”库的差异方法,因此最终我可以将此方法应用到我的绘制多边形和直线上,下面是一个代码片段: var line=path.toGeoJSON(); var polygon=selectedPoly.toGeoJSON

我已经使用地图上的传单绘制插件在polygone内部以编程方式绘制了多段线(不使用传单绘制),我只想保留polygone内部的多段线点,并删除外部的多段线点。你知道如何使用传单插件吗?。非常感谢您的帮助。谢谢

以下是一个屏幕截图:

预期结果:

我按照@Sam的建议研究了**turp”库的差异方法,因此最终我可以将此方法应用到我的绘制多边形和直线上,下面是一个代码片段:

var line=path.toGeoJSON();
var polygon=selectedPoly.toGeoJSON();
var差异,结果=[];
差异=草皮。差异(直线、多边形);
如果(差异)
{
结果:推(差);
var inter=L.geoJson(result).addTo(map);
}
我正在检查传单中是否有重叠的多克隆

map.on('draw:created', function (e) {
      var intersection = [];
      otherPolysLayer.eachLayer(function (layer) {
      if (!_.isUndefined(turf.intersect(e.layer.toGeoJSON(), ))) {
             intersection.push(layer);
      }
   }) 
});
您可以更改上述内容,使其检查整个polygone,您可以使用该方法进行检查

差异:通过剪裁多边形来查找两个多边形之间的差异 从第一个多边形开始的第二个多边形

我一直在寻找一个像样的图书馆,并查阅了pip、kevlindev等传单,但我发现,草皮真的只是开箱即用

更新


这个怎么样?我使用了相交,因为这显然是你想要保留的部分,我误读了,抱歉。下面我们使用一组线,使用相交线,或者如果没有相交,则使用线本身在地图上绘制。

谢谢@Sam的澄清,我将尝试应用不同的多亏了againI,我使用了你说的@Sam的TurpJS库,所以到目前为止,我可以得到差分层,现在我有问题如何删除多边形外的部分线条,我编辑文章来添加screeshot和我的代码片段,直到现在我还找不到解决方案:(嘿,伙计,如果你能在jsfiddle.net上发布一些东西,那么我就可以把你到目前为止所得到的东西交出来,看看我能帮上什么忙吗?这是一个jsfiddle示例,它不是我真正的代码,但它是同一个问题