Вырезка озёр из дампа OSM программой osmfilter

Не знаете, где задать вопрос? Задавайте здесь.
Ответить
pavel_surkov
Новоприбывший
Сообщения: 4
Зарегистрирован: 06 сен 2016, 11:35
Репутация: 0

Вырезка озёр из дампа OSM программой osmfilter

Сообщение pavel_surkov » 26 дек 2017, 15:21

Здравствуйте!
Помогите пожалуйста решить проблему. Необходимо из дампа OSM вырезать все озера.

Привожу свою последовательность своих действий:
1. Скачал дамп России с http://gis-lab.info/projects/osm_dump/ в формате PBF.
2. С помощью программы osmconvert преобразовал RU.osm.pbf в RU.05m.
3. С помощью программы osmfilter пытаюсь вырезать озера, а потом экспортировать их в QGIS.

При экспорте наблюдаю, что экспортируются только маленькие озера, а таких крупных как Байкал, Ладожское, Онежское озера нет.

В качестве параметров при запуске osmfilter пробовал следующее:
osmfilter RU.o5m --keep="natural=water water=lake" --keep-tags="natural= water= name= " -o=RU_lake.osm

Если кто знает, что я делаю неправильно, подскажите пожалуйста.

Аватара пользователя
Xmypblu
Участник
Сообщения: 73
Зарегистрирован: 18 авг 2013, 05:36
Репутация: 17
Контактная информация:

Re: Вырезка озёр из дампа OSM программой osmfilter

Сообщение Xmypblu » 26 дек 2017, 18:29

судя по примерам (сам не пробовал), потребуется использовать ключ --keep-relations
т.к. большие объекты создаются с помощью отношений

http://wiki.openstreetmap.org/wiki/Osmfilter

кстати, большинство озёр не имеют названий и тега "name", как и "water=lake",
чтобы определится с тем, что действительно нужно - можно "помучить" http://overpass-turbo.eu/
(http://wiki.openstreetmap.org/wiki/Over ... uage_Guide) на небольшой территории...

freeExec
Гуру
Сообщения: 1195
Зарегистрирован: 23 апр 2011, 10:32
Репутация: 205
Откуда: Ульяновск

Re: Вырезка озёр из дампа OSM программой osmfilter

Сообщение freeExec » 26 дек 2017, 22:06

pavel_surkov писал(а):
26 дек 2017, 15:21
--keep="natural=water water=lake"
Семантически неверно, т.к. дефолтный оператор ИЛИ.
Xmypblu писал(а):
26 дек 2017, 18:29
ключ --keep-relations
Не нужно, если использован --keep
С крупными озерами так и не выробоатано правило, и на текущий момент может обозначаться как natural=coastline

geouser
Активный участник
Сообщения: 146
Зарегистрирован: 02 июн 2015, 10:32
Репутация: 53
Откуда: Москва

Re: Вырезка озёр из дампа OSM программой osmfilter

Сообщение geouser » 27 дек 2017, 09:58

Ха, забавно, я только вчера попробовал выдрать что мне надо из дампа OSM на Россию, и получилосЯ!
Пары часов хватило, чтобы въехать в суть процесса. Для пользователя Windows всё конечно не очень гламурно, но зато очень и очень эффективно. Забавно, что многогигабайтные файлы проворачиваются за несколько минут.
pavel_surkov писал(а):
26 дек 2017, 15:21
--keep="natural=water water=lake"
Здесь всё же не хватает оператора "and"?

Как я вчера собственно и делал. Я бы начал с максимально широкого охвата, просматриваю результат в QGIS и изучаю дополнительные теги. Когда понятно, с комбинацией каких тегов получится нужный результат, они добавляются в запрос.

pavel_surkov
Новоприбывший
Сообщения: 4
Зарегистрирован: 06 сен 2016, 11:35
Репутация: 0

Re: Вырезка озёр из дампа OSM программой osmfilter

Сообщение pavel_surkov » 28 дек 2017, 15:37

geouser писал(а):
27 дек 2017, 09:58
Здесь всё же не хватает оператора "and"?
Пробовал, работает лучше, быстрее, но все равно не так как надо.
Вот, что получается после фильтрации:
Безымянный.png
Безымянный.png (213.26 КБ) 3011 просмотров
А Ладожского озера все равно нет.

Скачал эту область с market.trimbledata.com в формате SHP.
В слое natural_polygon_polygon оно есть, помечено тэгом natural=water water=lake.

Ответить

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

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

Сейчас этот форум просматривают: Ahrefs [Bot], Amazon [Bot] и 11 гостей