postgresql - Openstreetmaps - 连续道路?

标签 postgresql openstreetmap postgis qgis

我在 Postgres 中导入了瑞士的 OSM 数据,我有兴趣获取高速公路连续部分(我知道名称)的道路数据,即连接两个特定城市的部分。高速公路很大(A1),将很多城市连接在一起。

我不确定路段的顺序是如何存储在 postgres 中的(即,如何知道一个路段紧接在另一个路段之后)。我应该如何查询 Postgres 以获取包含从一个城市到另一个城市的路线的线串?我可以通过查询在 QuantumGis 中可视化整个高速公路(跨越多个城市)的数据:

select osm_id,way from planet_osm_roads where highway='motorway' and ref='A1';

但我不知道如何按照它们在路由中出现的顺序只获取我感兴趣的 osm_id。我不想在 where 子句中做边界框约束,因为我正在寻找一个通用的解决方案,而且,我仍然不确定路段序列的顺序是如何保存的。

最佳答案

我这样做的方法是使用 pgrouting,即他们的 pgr_dijkstra 算法。我使用 osm2pgrouting 工具将 OSM 数据加载为适合 pgrouting 使用的格式。

关于postgresql - Openstreetmaps - 连续道路?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19227012/

相关文章:

java图像白色提取

sql - PostgreSQL 相同的触发器函数在插入到不同的表时进行更新(使用相同的模式)

postgresql - 为什么 hibernate 在删除时生成交叉连接?

javascript - Openlayers 在 map 上方添加自定义 div

javascript - 去除背景图Leaflet

postgresql - 在 Gitlab CI 上设置 postgis

sql - PostgreSQL - GROUP BY 子句

database - 在 PostgreSQL 中使用 pg_notify(text, text) 收听/通知

javascript - 是否可以使用不同投影的另一个 WMS 图层显示 OSM 数据?

postgresql - 我如何删除postgis中的重叠线