如何使用 OSM 判断某个坐标是不是在街道上?

Posted

技术标签:

【中文标题】如何使用 OSM 判断某个坐标是不是在街道上?【英文标题】:how to tell if a certain coordinate is in a street, using OSM?如何使用 OSM 判断某个坐标是否在街道上? 【发布时间】:2014-11-10 21:35:58 【问题描述】:

我正在尝试收集有关我所在城市的各个点与最近的公交车站的距离的数据。我通过选择我所在城市周围的区域,从我在 OSM 网站中生成的 OSM 文件中提取了坐标。我已经设法从文件中获取公交车站坐标,现在我想测量与城市房屋的距离。问题是,如果我只是遍历所有节点,我会得到不相关的数据。如何检查某个坐标是否在街道上(或者说,有 20m 的一个)?如果有其他工具可以在全球范围内使用,我不介意切换到它。

【问题讨论】:

为什么这个问题被标记为 google-maps? @geocodezip 有两个原因,1. 堆栈溢出表明这是标签,2. 我说我不介意切换数据源,我认为谷歌地图可能会提供该选项. help.openstreetmap.org 上已经有类似的问题,例如help.openstreetmap.org/questions/23886/… 和help.openstreetmap.org/questions/31274/…。他们能解决你的问题吗? 【参考方案1】:

通常你会使用所谓的 reverse-geocoder,它使用优化的空间数据结构来回答这个问题(例如,对于 OSM nominatim)。

或者你自己做,并根据道路网络和 GIS“缓冲区”操作创建一个形状,该操作可用于检查给定的纬度/经度是否在特定的道路形状内.

【讨论】:

以上是关于如何使用 OSM 判断某个坐标是不是在街道上?的主要内容,如果未能解决你的问题,请参考以下文章

OSRM“最近”方法如何工作?

如何从 OpenStreetMap 数据中找到街道交叉口的列表?

vc 如何判断鼠标光标在某个矩形框内,如果在,显示一个子窗口

如何使用带有 R 的 OSM 计算从某个点到 POI 的距离

如何使用自己的地图而不是谷歌地图?

如何绘制围绕中心坐标相对于设备旋转的真实世界坐标?