Как вырезать сабсет города (любого отношения) из OSM данных
Однажды мне потребовалось получить из сырых ОСМ данных чистый сабсет города (потому что так удобно, компактно и просто красиво). К моему удивлению я не нашел готового рецепта, из-за чего для выполнения этой задачи потребовалось немного попотеть.
Ввиду вышеизложенного считаю своим долгом поделиться накопленным опытом.

Допустим я хочу получить сабсет Кишинёва (почему? … там тепло, там мой дом, там моя мама)
Planet.osm нас, конечно, не интересует, зато есть geofabrik, но там планета нарезана на достаточно крупные шматки — http://download.geofabrik.de/europe/moldova.html
Значит, граница города есть в сырых данных.
Из отношения несложно получить полигон, делаем это либо руками, либо при помощи любой подходящей утилиты, например, этой.
Иии… теперь в игру вступает osmosis.
У нас есть осм всея Молдовы и ограничивающий полигон Кишинёва, этого вполне достаточно для получения сабсета города из сырого XML (OSM) файла:
osmosis --read-xml file="moldova.osm" --bounding-polygon file="kishinev.poly" --write-xml file="kishinev.osm"
Аналогично можно выковырять данные из PBF (Protocolbuffer Binary Format) файла:
osmosis --read-pbf file="moldova.osm.pbf" --bounding-polygon file="kishinev.poly" --write-xml file="kishinev.osm"
Немногим больше про osmosis можно почитать здесь.
Ну а готовый сабсет нужно срочно открывать в JOSM или импортировать в личный проект!

UPD:
Как заметил zverik, всё вышеперечисленное будет гораздо проще сделать при помощи *osmium-tool* (оф доки)
1. Скачать датасет страны
2. Извлечь из него границу города
osmium getid -r -t moldova-latest.osm.pbf r1691801 -o kishinev-boundary.osm
3. Извлечь город из датасета
osmium extract -p kishinev-boundary-with-tags.osm moldova-latest.osm.pbf -s simple -o kishinev.osm
Обратите внимание на флак -s simple
Это стратегия извлечения, и всего их три:
1. -s simple — обрезать дороги по границе
2. -s complete_ways — не обрезать пограничные дороги (по умолчанию)
3. -s smart — извлекать зависимости пограничных дорог
Формат выходного файла определяется его расширением в команде.
OSMIUM — крайне мощный, удобный и полезный инструмент, которым приятно пользоваться.
Файл с расширением .osm

Для более точного определения формата и программ для открытия файла используйте функцию определения формата файла по расширению и по данным (заголовку) файла.
Программы
- Проигрыватели аудио/видео
- Редакторы изображений
- Текстовые редакторы
- Web-браузеры
- Архиваторы
- Работа с дисками
- Офисные программы/пакеты
Файлы
- Аудио-файлы
- Видео-файлы
- Рисунки, изображения
- Растровые изображения
- Векторные изображения
- 3D-модели, изображения
- CAD-файлы
- Текст, документы
- Электронные таблицы
- Электронные книги
- Архивы, сжатые файлы
- Исполняемые файлы
- Интернет, web файлы
- Файлы игр
- Образы дисков
- Системные файлы
- Файлы шрифтов
- Зашифрованные файлы
- Размеченные документы
- Файлы резервных копий
- Файлы данных
- Файлы баз данных
- Скрипты, исходный код
- Подключаемые модули
- Файлы настроек
- Географические файлы
- Другие файлы
© Open-file.ru, 2008-2024
Форумы GIS-Lab.info
Здравствуйте!
не получается открыть файлы с https://needgeo.com/
Поспрашивал у знакомых, говорят можно с помощью osmconverter’a сначала pbf конвертировать в osm, а потом в shp. Скачал осмконвертер, ничего не получилось.
P.S. Говорят, еще можно pyosm, но прогать не умею.
Сообщения: 1195 Зарегистрирован: 23 апр 2011, 10:32 Проекты: 1
Репутация: 205 Откуда: Ульяновск
Re: Как открыть PBF-файлы
Сообщение freeExec » 13 июл 2020, 17:17
GDAL прекрасно понимает pbf. Посмотреть можно и в QGIS. Но это даже не пол дела, сложность будет из того месева получить только нужные данные.
Сообщения: 2227 Зарегистрирован: 04 янв 2011, 22:00 Статьи: 12 Проекты: 1
Репутация: 1500 Откуда: Казань
Re: Как открыть PBF-файлы
Сообщение Игорь Белов » 13 июл 2020, 18:44
- Приличные наборы слоёв в шейпфайлах распространяет Geofabrik. Эти слои сопровождает документ, в котором можно посмотреть, по каким критериям выбираются объекты. Как знать, возможно, Вам будет довольно этих слоёв. А может, Вы захотите добавить к ним несколько собственных выборок из PBF, которые берутся с того же сайта.
- Действительно, GDAL прекрасно понимает PBF. Можно, например, простым запросом извлечь слой административно-территориального деления. Но для более сложных запросов IMHO лучше предварительно тем же GDAL ogr2ogr конвертировать PBF в SpatiaLite, из которого уже извлекать аэродромы, линии электропередач и пр.
The purpose of computing is insight, not numbers
ussuritiger Новоприбывший
Сообщения: 14 Зарегистрирован: 29 мар 2017, 00:03
Репутация: 0
Re: Как открыть PBF-файлы
Сообщение ussuritiger » 13 июл 2020, 19:38
Спасибо!
1) на Геофабрик нет слоя с границами АТЕ-3 для России. То что у них считается третьим уровнем — районы и городские округа — это наш второй.
2) GDAL ругается, что у меня Windows 64х битная.
3) Qgis открыл, но слой мультиполигоны — это какая-то жесть. Все в одной куче и таблица атрибутов всего на 99 значений и почти пустая
Сообщения: 2227 Зарегистрирован: 04 янв 2011, 22:00 Статьи: 12 Проекты: 1
Репутация: 1500 Откуда: Казань
Re: Как открыть PBF-файлы
Сообщение Игорь Белов » 13 июл 2020, 21:33
13 июл 2020, 19:38
1) на Геофабрик нет слоя с границами АТЕ-3 для России. То что у них считается третьим уровнем — районы и городские округа — это наш второй.
Во-первых, Геофабрик здесь не при чём, речь идёт об OSM. Во-вторых, Вы просто не знакомы с принципами присвоения значений admin_level.
13 июл 2020, 19:38
2) GDAL ругается, что у меня Windows 64х битная.
Этот вопрос в другую тему.
13 июл 2020, 19:38
3) Qgis открыл, но слой мультиполигоны — это какая-то жесть. Все в одной куче и таблица атрибутов всего на 99 значений и почти пустая
Saved searches
Use saved searches to filter your results more quickly
Cancel Create saved search
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
This repository has been archived by the owner on Nov 26, 2017. It is now read-only.
Использовать OSM PBF (Open Street Map PBF) для карт. #3
nm17 opened this issue Sep 10, 2017 · 0 comments
Использовать OSM PBF (Open Street Map PBF) для карт. #3
nm17 opened this issue Sep 10, 2017 · 0 comments
Comments
nm17 commented Sep 10, 2017
❓ Что это ❓
Формат PBF («Protocolbuffer Binary Format») предназначен в первую очередь для замены Формата XML. Файл всей планеты в формате PBF примерно в два раза меньше по размеру чем OSM XML, сжатый архиватором gzip и примерно на 30% меньше чем OSM XML, сжатый архиватором bzip2. По сравнению с OSM XML, сжатый gzip, запись файла формата PBF происходит примерно в 5 раз быстрее, а чтение в 6 раз быстрее. Формат PBF был разработан для поддержки лучшей расширяемости и гибкости в будущем.
❗ Реализация ❗
The text was updated successfully, but these errors were encountered: