eth*_*ogy 5

解决方案:

有很多解决方案可以实现这个目标,我在下面列出了其中一些。

-立交桥-api

Overpass-api 和 overpass-turbo 允许您使用立交桥查询语言来收集城市的高速公路类型的路线节点:

[out:xml]; area[name = "Pantin"]; (way(area)[highway]; ); (._;>;); out;
Run Code Online (Sandbox Code Playgroud)

庞坦 城市位于 法国 立交桥涡轮增压

- Geofabrik &

Geofabrik 允许您下载从大陆到城市的各种数据集。

接下来,使用Osmium tag-filters提取高速公路类型的节点和路径:

[out:xml]; area[name = "Pantin"]; (way(area)[highway]; ); (._;>;); out;
Run Code Online (Sandbox Code Playgroud)

注意:锇标签过滤器也适用于 .pbf 文件

-奥菲斯

Ophois 是一个用 Rust 编写的 CLI 工具,我创建它的目的是:

  • 从 overpass-api 下载地图
  • 处理来自 Overpass 或 Geofabrik 的数据以提取街道图
  • 使用详细的启发式方法简化提取的图表
  • 将提取或简化的图形离散化为以米为单位的距离

我还创建了一个简单的工具cartographe来在 Leaflet 地图上显示生成的图形以检查简化过程。
Cartographe允许您使用半正矢公式检查节点 ID 和以米为单位的链接距离。

提取的

使用 Ophois 从 overpass-api 中提取 Pantin

简化版

使用 Ophois 简化 Pantin

简化和离散化

使用 Ophois 简化和离散 Pantin

注:使用 10 米参数进行简化和离散化

- OSMnx

OSMnx:用于街道网络的 Python。从 OpenStreetMap 检索、建模、分析和可视化街道网络和其他空间数据。
潘坦-osmnx

注意:使用 OSMnx 的 Pantin