3

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

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

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

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

4

1 回答 1

1

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

于 2013-11-12T12:03:25.280 回答