Как получить список адресов с домами по региону?

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
Alexey2013
Новоприбывший
Сообщения: 1
Зарегистрирован: 27 июн 2013, 18:26
Репутация: 0

Как получить список адресов с домами по региону?

Сообщение Alexey2013 » 28 июн 2013, 12:24

Собственно конечная задача - получить список строк формата: <регион\область><город><улица><номер дома>

Для работы пользуюсь PostGIS (субд PostgreSQL). Загрузил данные с двух источников
1. http://gis-lab.info/projects/osm_dump/ - pdf -файлы (xml)
2. http://gis-lab.info/qa/osmshp.html - shape-файлы
структуры получившихся баз оказались разными.. хотя как я понял информация по 2ой ссылке была выведена с информации из 1вой (как - это тоже отдельный вопрос).

Лучше всего разобрался с базой по 2ой ссылке. Там разрез информации по таблицам информативный сам по себе (границы, города, дороги, дома и т.д.)
Вот что получилось добиться:
+ получил список областей страны (таблица\shape-файлы - boundaries_polygon). через фн-цию PostGIS ST_Within(region.way, country.way)
+ все города по каждой области(settlement_polygon). фн-я ST_Within(city.way, region.way)
+ все улицы по городу (roads_line). ST_Within(street.way, region.way)
- Но вот дома по этим улицам связать не получилось (buildings_polygon, buildings_point). с дорогами их можно связать разве что по расстоянию(функцию не искал, но думаю есть такая).. но подозреваю - это корректно
В таблицах домов на самом деле есть поле улицы.. Но оно заполнено крайне редко. Да и не у всех полигонах домов указан номер (то есть просто полигон с координатами и osm_id без какой-либо информации)
Подскажите как найти связать улицы и дома. Ведь база, которая используется здесь: http://www.openstreetmap.org/ и та, которую я выгрузил - одинаковы.
Может я не тем путем иду, не в те поля смотрю, и вообще не в ту религию верю:)

На счет информации с 1-ой - вобще глухо.. хотя там данные должны быть более полными. Здесь разрез идет по гео-типу и есть возможность получить все возможные теги по элементу.
Но беда - даже границы областей всех не удалось толком получить. Там они не в полигонах почему-то оказались, а в линиях. И если отрендерить эти линиии - некоторые участки областных границ отсутствуют. Хотя возможно фильтры неправильно строю, а фильтровал просто по admin_lvl.
Если нужно будет - могу кинуть эти запросы
Для рендеринга пользуюсь qGis. Для загрузки osm данных писпользовал - osm2pgsql. Для загрузки shape - shp2pgsql.
Так же пробовал для рендеринга использовать Mapnik - но пока с ним не очень подружился.

И извините сразу если вдруг не в ту тему написал

ericsson
Гуру
Сообщения: 3321
Зарегистрирован: 27 июл 2009, 19:26
Репутация: 748
Ваше звание: Вредитель полей

Re: Как получить список адресов с домами по региону?

Сообщение ericsson » 28 июн 2013, 12:39

Ну так в OSM действительно полно зданий, которым не присвоен адрес вообще, и зданий, у которых он заполнен не целиком - проехал человек мимо здания, увидел табличку, занес в тэг addr:housenumber и всё. Он, конечно, редиска, и валидатором потом надо такие вещи вылавливать, но факт остается фактом.

Ответить

Вернуться в «Я новичок!»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость