Скачивание карты города
-
Способ 1 (самый простой, но не самый аккуратный) - скачать прямоугольную область:
- зайти на главную страницу
- нажать
выделить другую область
- выделить нужный город
- нажать
скачать с Overpass API
- добавить расширение
.osm
для скачанного файла
Проблема — очень редко можно подобрать подходящий прямоугольник для границы города. Может попасть очень много лишнего, например:
-
Способ 2 (аккуратный и точный, но требует времени и не такой простой) - скачать данные только для города:
- Узнать
Relation ID
:- зайти на главную страницу
- в поиске вбить название города
- выбрать нужный вариант из списка
- убедиться по карте, что выбран верный город
Relation ID
находится в левом верхнем углу:
- Получить
полигон
для города: - Скачать карту региона (есть как минимум два варианта)
- Скачать карту субрегиона:
- зайти на сайт
- выбрать регион, в котором расположен город (подсказка: если вы не уверены в регионе, то по нажатию на регион в новой странице откроется карта с выделенным регионом, где вы можете проверить принадлежит ли данному региону ваш город)
- скачать в формате
*.osm.pbf
- Скачать карту области (только для России)
- Скачать карту субрегиона:
- Извлечь из файла с форматом
*.osm.pbf
данные только для вашего города- С помощью Osmosis
- Установить
Osmosis
. Инструкция для Linux, Mac OS, Windows - Получить карту только для города. (Для
Windows
проще всего перенести полигон и карту региона в папкуosmosis-latest\bin
). И с помощью командой строки запустить следующую команду:osmosis --read-pbf-fast file="YOUR-REGION-latest.osm.pbf" --bounding-polygon file="CITY-NAME_STATE.poly" --write-xml file="CITY-NAME_STATE.osm"
. Например:osmosis --read-pbf-fast file="south-fed-district-latest.osm.pbf" --bounding-polygon file="volgograd.poly" --write-xml file="volgograd.osm"
- Дождаться выполнения команды
- Необходимый файл будет иметь расширение
.osm
- Установить
- С помощью Pbftoosm
- Скачать с официального сайта
- С помощью командой строки запустить следующую команду (для Windows необходимо использовать
cmd
,Powershell
здесь не будет работать):./pbftoosm < YOUR-REGION-latest.osm.pbf -B=CITY-NAME.poly > CITY-NAME.osm
. Например:./pbftoosm < RU-VGG.osm.pbf -B=volgograd.poly > VGG.osm
- Замечание. Если вам не нужны теги с историей (version, changeset, user, timestamp), то их можно убрать с помощью аргумента
--drop-history
- Замечание. Аналогично можно удалить битые ссылки и теги с отношениями, если они вам не нужны, с помощью аргументов
--drop-brokenrefs
и--drop-relations
соответственно - Замечание. Иногда в получившимся файле могут остаться ссылки на точки, которые находятся за пределами области, и, как следствие, не попадут в итоговый файл. Чтобы этого избежать необходимо добавить параметр
-i
перед указанием области, то есть-i=YOUR-REGION-latest.osm.pbf
- Примечание. При условии выполнения всех замечаний получившийся файл может солидно уменьшится в размере, например при выполнении команды вида
./pbftoosm -i=RU-VGG.osm.pbf -B=volgograd.poly > VGG.osm --drop-history --drop-brokenrefs --drop-relations
итоговый файл в два раза меньше по размеру - 81Мб против 167Мб
- С помощью Osmconvert
- С помощью Osmosis
- Узнать
Примечания
- Независимо от выбранного Вами способа, формат полученного документа будет идентичен. Разница лишь в области, которая попадет в файл
- Спасибо за второй пункт JamesChevalier и интернетам