java - 如何使用 OSM 创建和采样路线

标签 java scala openstreetmap graphhopper

我希望使用 OSM(或基于 OSM 的开放服务)来“创建”随机点之间的路线,然后无限时间地对这些路线进行采样。示例如获取 lan+lat 和各种其他信息(如果可用)(例如海拔、兴趣点...等)。

我一直在努力寻找类似的项目或可能对我有帮助的文档。现在,我什至不确定如何在本地下载部分 OSM 模式,这样我就不必通过网络使用 API 并向 OSM 服务器发送垃圾邮件。

遗憾的是,我在网上找到的大多数资源都足够了,文档很少,而且经常得不到维护:/

如果我将需要学习的内容分成三部分,那么:

a) 获取世界某个“区域”的 OSM 架构,下载并在本地运行,然后连接并控制它。

b) 弄清楚如何围绕两点(例如城市中的地址)之间的“路线”线创建一个实体。

c) 弄清楚如何查询所述实体以获取沿途的各种样本。

如果有更适合于此的产品,则不需要在 OSM 中完成此操作,但我必须使用开放的东西,而 OSM 似乎是迄今为止最大、维护得最好的项目。

(我应该注意,我正在用 scala 构建应用程序,但我对其他语言/语言不可知论的文档很满意,而且它实际上解释了内容并深入细节,而不是仅仅抛出一些不完整的代码行对你)

最佳答案

回复 1:从 http://planet.osm.org/ 获取 OSM并通过 osmcut、osmosis、osmconvert 等提取您的区域。或者使用预处理的提取物,例如来自geofabrik

回复 2:街道名称很简单,其他一切都很复杂。您将需要另一个预处理步骤,为您提供每个城市/村庄的边界或一些猜测,然后将其提供给路由引擎。

回复 3:将其存储在路由引擎中后,查询和返回应该相当简单。

OSM seems to be by far the biggest most well maintained project.

也许这里有一个误解:OpenStreetMap 是一个数据库,所以它只是数据。现在它恰好是各种工具(例如路由工具)的生态系统,请参阅标记的 GraphHopper 路由引擎 here及其他here

关于java - 如何使用 OSM 创建和采样路线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41087097/

相关文章:

scala - 执行外部命令

postgresql - 为 postgis 过滤 openstreetmap 数据

java - Admob 广告未在我的应用中显示

java - 如何使用eclipse将数据插入Google Cloud mysql数据库

scala - Flink Gelly - 创建图表时类型不匹配

javascript - Meteor:OSM的Oauth1.0a登录服务

javascript - Leaflet、JS、示例代码不渲染 map

java - 检测到的请求 JSP

java - Jsoup 代码不工作

scala - Constructor.newInstance 替换 Scala 对象