如何使用 OSM 创建和采样路由

How to create&sample routes using OSM

我希望使用 OSM(或开放的、基于 OSM 的服务)"create" 任意点之间的路线,然后无限期地对这些路线进行采样。在获取 lan+lat 和各种其他可用信息(例如海拔、兴趣点...等)中进行采样。

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

遗憾的是,我能够在网上找到的大多数资源都已经足够了,它们的文档很少,而且通常没有维护:/

如果我把我需要学习的东西分成 3 个部分,那就是:

a) 获取下载的某个 "region" 世界的 OSM 模式,并在本地 运行 连接并控制它。

b) 弄清楚如何在两点(比如城市中的地址)之间的 "route" 线周围创建一个实体。

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

这不需要在 OSM 中完成,如果有更适合这个的产品,但我必须使用一些开放的东西,OSM 似乎是迄今为止最大的维护最好的项目。

(我应该注意到我正在用 scala 构建应用程序,但我对其他 languages/language 不可知论者的文档很好,而且它实际上解释了一些东西并进入了细节,而不是仅仅抛出一些你的代码行不完整)

回复 1:从 http://planet.osm.org/ and extract your area via osmcut, osmosis, osmconvert etc. Or use preprocessed extracts e.g. from geofabrik

获取 OSM

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

回复 3:一旦将其存储在路由引擎中,查询起来应该会相当简单 return。

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

这里可能存在一个误解:OpenStreetMap是一个数据库,所以它只是数据。现在它恰好是各种工具的生态系统,例如路由工具,请参阅标记的 GraphHopper 路由引擎 here and others here