Проблема с osmfilter

Вопросы по свободной ГИС QGIS. Сообщения об ошибках, предложения по улучшению, локализация.
Ответить
Tiratore
Новоприбывший
Сообщения: 11
Зарегистрирован: 20 фев 2018, 22:07
Репутация: 1
Откуда: Украина

Проблема с osmfilter

Сообщение Tiratore » 23 мар 2018, 19:18

При обрезке и фильтрации данных пропадает часть линий
1. С https://download.geofabrik.de/ скачан pbf файл Европы

2. С помощью osmconvert вырезан необходимый регион
osmconvert.exe %filein% --hash-memory=4000 --verbose=2 -B=reg.poly -o=%fileout%

3. С помощью osmfilter отфильтрованы границы
osmfilter.exe %filein% >%logfile% --hash-memory=4000 --verbose=2 --keep="boundary=administrative" -o=%fileout%

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

В чем может быть проблема? Как проверить что эти данные есть в исходном PBF файле?
Вложения
borders.png
borders.png (17.55 КБ) 7142 просмотра

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

Re: Проблема с osmfilter

Сообщение freeExec » 23 мар 2018, 19:59

Tiratore писал(а):
23 мар 2018, 19:18
Как проверить что эти данные есть в исходном PBF файле?
Сконвертить его в .osm и выполнить поиск по номеру.

Tiratore
Новоприбывший
Сообщения: 11
Зарегистрирован: 20 фев 2018, 22:07
Репутация: 1
Откуда: Украина

Re: Проблема с osmfilter

Сообщение Tiratore » 27 мар 2018, 16:10

Все еще интереснее:

1. С https://download.geofabrik.de/ скачан OSM файл Европы

2. С помощью osmfilter отфильтрованы границы
osmfilter.exe %filein% --hash-memory=4000 --verbose=2 --keep="boundary=administrative and admin_level=2" -o=%fileout%

3. Импорт в QGIS

Все равно есть "дырки"! И самое непонятно, что линии как бы есть, но у них admin_level и boundary пустые!!!!
Отсюда возникает вопрос - а как они попали в выборку учитывая условия фильтра?!
Картинка прилагается
Вложения
b.png
b.png (32.3 КБ) 7079 просмотров

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

Re: Проблема с osmfilter

Сообщение freeExec » 27 мар 2018, 16:13

Потому что границы это relation(отношение). Эдакий мультиполигон - он имеет ссылки на линии из которых нужно собрать границу, и все теги именно на нём. А то что теги есть ещё на линии это старый костыль. На них не нужно операться.

Tiratore
Новоприбывший
Сообщения: 11
Зарегистрирован: 20 фев 2018, 22:07
Репутация: 1
Откуда: Украина

Re: Проблема с osmfilter

Сообщение Tiratore » 27 мар 2018, 16:28

О! Я и предполагал что проблема в незнании мной теории. А подскажите пожалуйста, что это за теги и как эту границу собирать?

Zverik
Активный участник
Сообщения: 158
Зарегистрирован: 11 сен 2011, 14:11
Репутация: 96
Откуда: Москва
Контактная информация:

Re: Проблема с osmfilter

Сообщение Zverik » 28 мар 2018, 11:54

Попробуйте вместо импорта в QGIS напрямую прогнать его через ogr2ogr в geopackage. Возможно, в osmconf.ini понадобится как-то указать, что нужны boundary=administrative, я не проверял.

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

Re: Проблема с osmfilter

Сообщение freeExec » 28 мар 2018, 12:35

Zverik писал(а):
28 мар 2018, 11:54
указать, что нужны boundary=administrative
Они там есть.
Если данные кривые, то как не выкручивайся нечего не выйдет. Только пойти и исправить.

Tiratore
Новоприбывший
Сообщения: 11
Зарегистрирован: 20 фев 2018, 22:07
Репутация: 1
Откуда: Украина

Re: Проблема с osmfilter

Сообщение Tiratore » 28 мар 2018, 17:27

freeExec писал(а):
27 мар 2018, 16:13
Потому что границы это relation(отношение). Эдакий мультиполигон - он имеет ссылки на линии из которых нужно собрать границу, и все теги именно на нём.
Судя по всему дело обстоит именно так, как указал freeExec.
Вот что пишет WiKi:
RU:Tag:boundary=administrative
Тег boundary=administrative используется на линиях Линия.
Однако рекомендуется всё же использовать отношения boundary.
Отношение boundary=* может использоваться для группировки границ, обозначения анклавов и эксклавов.

Теперь вопрос, как средствами OSM или QGIS собрать эти данные в полигоны.
Я не могу найти информацию как это сделать...

Tiratore
Новоприбывший
Сообщения: 11
Зарегистрирован: 20 фев 2018, 22:07
Репутация: 1
Откуда: Украина

Re: Проблема с osmfilter

Сообщение Tiratore » 28 мар 2018, 18:20

В догонку:
при поиске в интернете натыкался несколько раз на зарубежных форумах на аналогичные вопросы в которых народ точь-в точь по описанному мной алгоритму пытается получить границы, получает их с проблемами, задает вопрос и в ответ получает не решение, а совет идти на сайты которые раздают шейпы с границами государств.
Но мне нужны границы государств (и областей) в нужном мне РЕГИОНЕ а не одной стране.

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

Re: Проблема с osmfilter

Сообщение freeExec » 28 мар 2018, 22:09

Tiratore писал(а):
28 мар 2018, 17:27
Теперь вопрос, как средствами OSM или QGIS собрать эти данные в полигоны.
Это всё работает из коробки.

Tiratore
Новоприбывший
Сообщения: 11
Зарегистрирован: 20 фев 2018, 22:07
Репутация: 1
Откуда: Украина

Re: Проблема с osmfilter

Сообщение Tiratore » 29 мар 2018, 11:10

Уважаемый freeExec, а можно подробнее, потому что в полигонах при тех же условиях фильтрации границ нет вообще.

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

Re: Проблема с osmfilter

Сообщение freeExec » 29 мар 2018, 12:40

С нормальными данными всё работает, следовательно у вас данные кривые. Ещё раз вам советуют преобразовать их в xml и посмотреть все ли нужные объекты там есть.

Ответить

Вернуться в «QGIS»

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

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