@k79x

Как из russia-latest.osm.pbf достать список всех городов России?

Я скачал с этого Geofabrik сайта файл russia-latest.osm.pbf.
Затем установил postgreSQL и плагин postgis. Скачал osm2pgsql и выполнил команду
osm2pgsql -d allrussia -U postgres -W -O flex -r pbf -S flex-config/generic.lua russia-latest.osm.pbf

Оно там импортировалось. Далее я захожу pgAdmin и открываю Query tool. Помогите пожалуйста с SQL запросом, который достанет список всех городов, где population > 4000;
  • Вопрос задан
  • 339 просмотров
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
SELECT * FROM planet_osm_points WHERE place = 'city' AND population::int > 4000

Все теги описаны в wiki.osm.org и именно от туда надо начинать свой путь.
Второе, что вы называете городом и что отмечают в ОСМ, немного разные понятия.
Третье, стоит надеяться, что население этого города кто-то внёс, и пусть это будут данные не переписи 2012 года.

Для FLEX режима, который ты использовал, но не настраивал деление по слоям, сделав в итоге только запутанней.
SELECT * FROM points WHERE tags->>'place' = 'city' AND (tags->>'population')::int > 4000
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы