Я использую osm2pgsql для заполнения базы данных OSM в Северной Америке из planet.osm.
Мне нравится, насколько проста полученная схема PostGIS, но меня немного смущает ее содержание.
У меня есть две таблицы planet_osm_roads
и planet_osm_line
. Я предположил, что planet_osm_roads содержит все данные о шоссе, но потом обнаружил, что он содержит только часть дорог в некоторых типах «шоссе».
Например, у planet_osm_line более 12 000 000 линий со значением «шоссе», равным «жилой». Тем не менее, planet_osm_roads имеет только 2000. Для сравнения, обе таблицы имеют одинаковое количество «автомагистралей». Глядя на данные, я не могу сказать, почему некоторые функции были бы в одной таблице, а не в другой.
Мне бы очень хотелось увидеть правила, которые osm2pgsql использует для направления линейных объектов в каждую таблицу.
Я попытался просмотреть исходный код osm2pgsql, чтобы пролить свет на тайну, но до сих пор не нашел то, что мне нужно.
Любые предложения очень приветствуются.