2013-10-07 4 views
3

Я импортировал данные OSM для Швейцарии в Postgres, и я заинтересован в получении дорожных данных непрерывной части шоссе (я знаю название), то есть той части, которая соединяет два конкретных города. Шоссе довольно большое (A1) и соединяет много городов вместе.Openstreetmaps - сплошная дорога?

Я не уверен, как последовательность дорожных сегментов хранится в postgres (то есть, как известно, что один сегмент дороги находится непосредственно за другим). Как я могу запросить Postgres, чтобы получить linestring с маршрутом из города в другой? Я могу визуализировать данные всей трассы (которая охватывает несколько городов) в QuantumGIS, выполнив запрос:

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

, но я не знаю, как получить только osm_ids, что я заинтересован в, в порядке они появляются на маршруте. Я не хочу делать ограничение ограничивающей рамки в предложениях where, потому что я ищу общее решение, а также, я до сих пор не знаю, как сохраняется порядок последовательности дорожных сегментов.

ответ

1

То, как я это делал, это использовать pgrouting, а именно их алгоритм pgr_dijkstra. Я загрузил данные OSM в формат, подходящий для использования pgrouting, используя инструмент osm2pgrouting.

Смежные вопросы