我在Postgres导入了瑞士的OSM数据,我有兴趣获取高速公路连续部分的道路数据(我知道名称),即连接两个特定城市的部分。高速公路相当大(A1),将许多城市连接在一起。
我不确定如何在postgres中存储路段序列(即,如何知道一个路段直接在另一个路段之后)。我应该如何查询Postgres以获得从城市到另一个城市的路线的线串?通过查询,我可以在QuantumGis中可视化整个高速公路(跨越多个城市)的数据:
select osm_id,way from planet_osm_roads where highway='motorway' and ref='A1';
但我不知道如何只按照它们出现在路线中的顺序获取我感兴趣的osm_ids。我不想在where子句中使用边界框约束,因为我正在寻找一般解决方案,而且,我仍然不确定如何保存路段序列的顺序。
答案 0 :(得分:1)
我这样做的方法是使用pgrouting,即他们的pgr_dijkstra算法。我将OSM数据加载到适合使用osm2pgrouting工具进行pgrouting的格式。