Geometry 计算到线串的距离

Geometry 计算到线串的距离,geometry,gis,leaflet,geojson,Geometry,Gis,Leaflet,Geojson,我不熟悉地理信息系统,所以我需要以下方面的帮助 我想计算GeoJSON文件中的POI和linestring之间的距离。 因此,泊松位于与线串一定距离(平行)处 从GeoJSON文件计算单个点(“当前位置”)和POI之间的距离不是问题(使用distanceTo()) 但是计算poi和线串之间的距离让我头疼 我的最终目标是为我的geoJson层使用过滤器选项,并且只显示位于与线串一定距离(平行)的POI。(例如,最大距离50米) 使用十进制lat/lon。您需要迭代Pois图层,以使用LineLay

我不熟悉地理信息系统,所以我需要以下方面的帮助

我想计算GeoJSON文件中的POI和linestring之间的距离。 因此,泊松位于与线串一定距离(平行)处

从GeoJSON文件计算单个点(“当前位置”)和POI之间的距离不是问题(使用
distanceTo()
) 但是计算poi和线串之间的距离让我头疼

我的最终目标是为我的geoJson层使用过滤器选项,并且只显示位于与线串一定距离(平行)的POI。(例如,最大距离50米)


使用十进制lat/lon。

您需要迭代Pois图层,以使用LineLayer计算每个POI,并保存每个点的最小距离,以便以后获得它

POIsLayer.eachLayer(function(POI){
    if (POI instanceof L.LatLng) POI.mindistance = POI.distanceTo(L.GeometryUtil.closest(yourMap,    LineLayer, POI));
});

我的回答对你有用吗?如果是这样的话,我将不胜感激,如果你能把它标记为未来会有这个问题的其他人的答案,我已经有两年没有接触过GIS软件了,但是我听说读你的问题更像是一个数学(向量)问题。比我的英语单词解释得更好。这是一个可以考虑的选项吗?(我知道地理数据不能被视为一个纯粹的“计划”,但…)我仍在与之斗争。log(POI.mindistance)给出了所有POI的“未定义”。那么,最小距离保存在哪里以及如何使用它呢。抱歉,我没有那么丰富的经验。使用我写的相同的行,而不是计算MindDistance,使用它,不管你想要什么,比如:if(POI instanceof L.LatLng)console.log(POI.MindDistance)<代码>POIsLayer.eachLayer(函数(POI){if(POI instanceof L.LatLng)POI.MindDistance=POI.distanceTo(L.GeometryUtil.closest(yourMap,LineLayer,POI));console.log(POI.MindDistance);}打印“未定义”,而
控制台.log(POI)
打印所有对象。如果我添加'If(POI instanceof L.LatLng)console.log(POI.mindistance);`没有打印任何内容。我已经在脚本部分的末尾添加了您的行。为我的无聊感到抱歉。