我希望使用 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/