OSMNX-边的哪一部分被认为是最近的 [英] OSMNX - what "part" of an edge is considered the nearest

查看:20
本文介绍了OSMNX-边的哪一部分被认为是最近的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是OSMNX中的NEAREST_EDGE函数。我不清楚在进行此计算时使用的是边的哪一部分。它是边缘的任何一部分吗?这是中间点吗?

对于网络中的长边来说,这会有很大的不同。

推荐答案

这取决于您对函数进行参数化的方式。从nearest_edges函数documentation

查找与某个点或多个点中每个点最近的边。

如果X和Y是单坐标值,这将返回到该点最近的边。如果X和Y是坐标值列表,这将返回到每个点的最近边。

如果Interpolate为None,则使用r-树搜索距离每个点最近的边,一次搜索一条边,并最小化从点到可能匹配的欧几里得距离。为了准确起见,请使用投影的图形和点。如果搜索相对于图表大小的几个点,此方法是精确的,也是最快的。

在搜索相对于图形大小的许多点时,要获得更快的方法,请使用Interpolate参数沿边插值点并对它们进行索引。如果图是投影的,则使用k-d树进行欧几里得最近邻搜索,这需要将Scipy安装为可选依赖项。如果未投影图形,则使用球形树进行半正弦最近邻搜索,这要求将SCRICKIT-LEARN安装为可选依赖项。

因此,如果您离开interpolate=None(为了精确起见,最好使用投影图和投影点),该函数将根据点到边几何图形任何部分的最小距离来查找距离点最近的边。这在几何上是精确的,如果只搜索大图中的几个点,则是最快的。

或者,如果您传递一个interpolate参数值,该函数将沿边内插等间距的点,然后根据该点到沿边的几何体的任何插值点的最小距离来查找与您的点最近的边。这在几何上略有不精确(此不精确度随interpolate值的不同而不同),但在搜索多个点时最快,尤其是在较小或中等大小的图表中。

这篇关于OSMNX-边的哪一部分被认为是最近的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆