2013-10-07 2 views
3

스위스의 OSM 데이터를 Postgres에 가져 왔으며 고속도로의 연속 부분 (이름을 알고 있음) 즉 두 개의 특정 도시를 연결하는 부분의 도로 데이터를 가져 오는 데 관심이 있습니다. 고속도로는 꽤 크고 (A1) 많은 도시를 연결합니다.Openstreetmaps - continuous road?

도로 세그먼트의 순서가 포스트그레스에 어떻게 저장되는지 (즉, 도로 세그먼트가 다른 도로 세그먼트 바로 뒤에 있다는 것을 어떻게 알 수 있는지)는 확실하지 않습니다. Postgres에 쿼리하여 도시에서 다른 경로로 선 스트링을 얻는 방법은 무엇입니까? 나는 쿼리 수행하여 QuantumGis의 전체 고속도로의 데이터를 (이 여러 도시에 걸쳐) 시각화 할 수 있습니다 :

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

을하지만 난 단지 순서대로, 내가 관심 오전 osm_ids을 얻는 방법을 모른다 그들은 길에 나타난다. 나는 일반적인 해결책을 찾고 있기 때문에 where 절에서 경계 상자 제약 조건을 수행하기를 원하지 않으며 또한 도로 세그먼트 시퀀스의 순서가 저장되는 방법을 여전히 확신 할 수 없다.

답변

1

내가 한 방법은 pgro_dijkstra 알고리즘 인 pgrouting을 사용하는 것이 었습니다. OSM 데이터를 osm2pgrouting 도구를 사용하여 pgrouting하여 사용할 수있는 형식으로로드했습니다.