我在 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/