如何使用带有 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 的距离的主要内容,如果未能解决你的问题,请参考以下文章
在 GeoServer 中使用 OSM 进行路由(最佳实践)