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

Posted

技术标签:

【中文标题】如何使用带有 R 的 OSM 计算从某个点到 POI 的距离【英文标题】:How to calculate distance from a certain point to a POI using OSM with R 【发布时间】:2017-06-27 16:19:06 【问题描述】:

我有一个给定点的纬度和经度,我想计算到这个给定点和一些 POI(兴趣点)的距离。 此外,我想使用 OSM (OpenStreetMap) 和 R。 谁能帮帮我?

Tnx

【问题讨论】:

geosphere 包有各种函数,可以接受纬度/经度参数并返回点之间的距离。里面应该有一些东西可以让你找到你要找的东西。 好的,但是我在哪里可以找到 POI?软件包的某些功能是否有列表? Tnx ggmap 有很多功能可以帮助您连接 Google API。由此,您或许可以使用 Places 或 Maps API 来获取 POI。 【参考方案1】:

您是否考虑过使用 osmar 项目 (http://osmar.r-forge.r-project.org/) 从 OpenStreetMap 访问 POI 数据?这是使用它的教程 - https://journal.r-project.org/archive/2013-1/eugster-schlesinger.pdf。

因此,osmar 将允许您通过 API 访问 POI 数据,然后您可以使用任何标准 R 包来处理空间数据以获取距离。

【讨论】:

我已经尝试过使用它但我没有得到结果: require(osmar) src ua osmar object 0 个节点,0 个方式,0 个关系有什么想法吗? 您是否尝试过反转坐标,例如center_bbox(12.481755, 41.875645, 1000, 1000)。看起来坐标顺序是 lng/lat,在这种情况下,您将查询东埃塞俄比亚的一个区域,我想您可能想要罗马?

以上是关于如何使用带有 R 的 OSM 计算从某个点到 POI 的距离的主要内容,如果未能解决你的问题,请参考以下文章

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

在 GeoServer 中使用 OSM 进行路由(最佳实践)

如何从 R 中的 ca.po 函数中提取 p 值?

如何在 QML 中设置正确的路径到离线 OSM 目录(不使用 qrc)?

如何计算给定点到最近道路的距离?

如何在 OpenLayers 中将“正常”坐标转换为 OSM 坐标