Преобразование границ в OSM в POLY

Основной форум пользователей GPS (Global Positioning System)
Правила форума
Для предотврашения спама первые сообщения вновь зарегистрированных пользователей проходят ручную премодерацию.
Ответить
Mansurius
Сообщения: 5
Зарегистрирован: 13 ноя 2017, 17:36

Преобразование границ в OSM в POLY

Сообщение Mansurius » 13 ноя 2017, 17:49

Здравствуйте, уважаемые знатоки. У меня есть небольшой вопрос по созданию своих полигональных файлов (это удобно, когда нужно залить в навигатор определенный участок карты): есть ли возможность "вытянуть" границу какой-то области из файла OSM с помощью программы JOSM и сохранить файл в формате POLY, который потом использовать в программе osm2mp? Я уже попытался это сделать (от исходного OSM файла, в котором содержался квадратный кусок Ватикана, оставил только границы государства, далее сохранил в формате POLY с помощью специального плагина poly), но ничего не получилось - в файле POLY только название файла и END. В Интернете, конечно, есть готовые POLY файлы для разных государств, но этого мало, когда нужен более детальный кусок карты. Возможно ли это с помощью этой программы, или есть другие варианты? Заранее благодарю.

dimonster
Сообщения: 86
Зарегистрирован: 12 янв 2017, 20:48

Re: Преобразование границ в OSM в POLY

Сообщение dimonster » 14 ноя 2017, 10:24

Для создания poly-файлов есть программа https://github.com/liosha/osm-getbound
На самом деле это скрипт на языке Perl
Автор - liosha "Божья коровка" (он же сделал программу osm2mp для конвертации геоданных в формате osm в "польский" формат).
Для работы скрипта нужно будет установить интерпретатор Perl.

Скрипт запускается из командной строки (консоли) или через .bat-файл. Например:
REM Харківська область
erase UA-KHR.poly
c:\perl\perl\site\getbound\getbound.pl 71254 -o UA-KHR.poly -onering
, где c:\perl\perl\site\getbound\getbound.pl - путь к скрипту
71254 - номер релейшена (отношения), описывающего границы области. Можно подсмотреть в JOSM.
-o - параметр командной строки, где указывается имя создаваемого poly-файла
UA-KHR.poly - имя создаваемого poly-файла
-onering - опция, указывающая, что poly-файл должен быть "одним кольцом".
Учтите, что не всегда границы области или государства бывают в виде одной замкнутой линии. Во-первых, бывают анклавы и эксклавы, во-вторых, кто-то из мапперов может случайно или по дурости "сломать" линию границы.

Mansurius
Сообщения: 5
Зарегистрирован: 13 ноя 2017, 17:36

Re: Преобразование границ в OSM в POLY

Сообщение Mansurius » 14 ноя 2017, 18:02

Спасибо, Вы мне сильно помогли!

eugeny_burynin
Сообщения: 61
Зарегистрирован: 13 окт 2004, 00:31

Re: Преобразование границ в OSM в POLY

Сообщение eugeny_burynin » 16 ноя 2017, 19:11

А как сделать poly-файл для нескольких сопредельных областей?

dimonster
Сообщения: 86
Зарегистрирован: 12 янв 2017, 20:48

Re: Преобразование границ в OSM в POLY

Сообщение dimonster » 19 ноя 2017, 11:29

eugeny_burynin писал(а):
16 ноя 2017, 19:11
А как сделать poly-файл для нескольких сопредельных областей?
1. Взять JOSM, установить плагин poly, перезапустить JOSM
2. Загрузить в JOSM poly-файлы нужных границ областей. Они загрузятся в разные слои.
3. Объединить слои.
4. Выделить полигоны областей и объединить полигоны (тут JOSM может подтупливать, ибо объём данных великоват, и ругаться, что теги у полигонов не совпадают. Теги нужно убрать. Они не нужны.). Вы увидите, что границы между смежными областями исчезнут.
5. Сохранить результат как poly-файл

P. S. Не забываем про анклавы и эксклавы!

Ответить

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

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