Конвертер OSM -> MP

Полностью поддерживаю вышесказанное!
Ещё бы getbound внешние узлы на дорожном графе ставил - вообще бы цены не было программке…

Может быть есть возможность формировать границу методом слияния/вычитания полигонов границ по средствам закачки и + с использованием локальных полигонов уже присутствующих на домашнем ПК.

Поясню - скажем в какой то момент оказалась разрушена граница Хабаровского края (вот сейчас такой случай). Впридачу границы прилегающего региона, соответствующих районов регионов. Но на ПК есть живое отношение границы разрушенного региона. Сочетая локальный файл границы и живые границы районов региона можно было бы нарезать регион на необходимые части без потери данных?!
Спасибо!

Если разрушена граница то её нужно починить! :wink: Я всегда по такому принципу действую.
Правило вычитания полигонов я просил для случаев политических, где трогать границу нельзя, но и использовать то что есть тоже не хочется.

Граница починена по моему запросу тем кто сломал . Собственно там война откатов… А при откате вылезают бяки.
Однако если можно то лишним не будет. Особо убиваться по этой просьбе не надо. Выход всегда найдется (тем более если это единичный эпизод).
А вот на счет упрощения линий подумать было бы более желательно. OSMconvert не хочет работать с границами перенасыщенными точками вершин (если я это правильно называю) - слишком близко расположенными точками. Особенно это вылезает если граница идет по линии побережья скрупулёзно огибая все изгибы волны и берега. :smiley: Их надо чуть чуть проредить.
Убился резать Приморский край в районе Владивостока. Граница там на столько замысловата, что конвертер просто таки кричит - файл или отсутствует, или слишком большой.

Пока так и пришлось руками допиливать нарезку. А режу я по причине убогости ПК. Не справляется он с разбухшими регионами.

Параметр --offset 0.01 с минимальным значением очень сильно упрощает линию. Я нарезаю по границам с --offset, а карты конвертирую уже по точным.

Понятно. Спасибо. Как то не запал мне этот параметр. Теперь думаю должен отложиться в голове.

Всем хорошей погоды на выходные.
Скажите, никто не сталкивался на Windows системе с нештатной отработкой osmconverter.exe 0.8.10. Работает вроде хорошо, но выходной файл бракуется в osm2mp. Выходит ошибка parser.
Обработал исходник в osmconvert.exe 0.8.7 и osm2mp перестал ругаться?

Аха! Оказывается завершение процесса не полноценное. Проблемы памяти. Применение параметра – hash-memory решает проблему osmconvert.exe на версии 0.8.10.

Яндекс уведомил:

И бесплатного перевода судя по всему не предвидится:
https://cloud.yandex.ru/services/translate?utm_source=emailing&utm_campaign=links&utm_content=yandex-translate

Что можно выжать из osm2mp?

--lt-priority <id>=<val>  set tranformer priority                   
 --lt-dump                 list registered transformers              
 --lt-equal <lang>=<langs> set language alias (comma-separated list) 
 --lt-gme <data>           GME table, data is <from_lang>-<to_lang>:<file>

Как этим воспользоваться? Как сделать таблицу в формате gme, и подключить её с помощью --lt-gme? Какое применение предполагает --lt-equal? Поискал, не нашел развернутого ответа. Может плохо искал.

Ещё раз перечитал что есть по Language options, отложилось следующее:
!!! на примере Украины !!!

--target-lang ru --default-lang ru

вытянут “name:ru”, где нет “name” что как правило соответствует “name:uk” (Перевод не предусмотрен)

--target-lang ru --default-lang uk

вытянут “name:ru”, где нет “name:uk”, где нет иное “name:ХХ” и если совсем ничего нет - “name”.
В этом случае доступен перевод (транслитерация):

--lt-dump

покажет “Список” зарегистрированных трансформеров, заложены в файле “Subst.pm”. Судя по всему можно корректировать.
К сожалению ссылки на ru.wikipedia.org устарели. Посему понять откуда ноги трудно.

--lt-yatr-key (--lt-yatr-cache-dir --lt-priority)

обеспечивали подключение к API Яндек.Пепеводчика. Перевод был не ахти какой, но был. Главное можно было вносить коррективы в словарь (базу sql) ручками. Канет в лето в ближайшие дни. Собственно платный вариант останется.

--lt-gme=uk-ru:trans-uk-ru.dat 
  • обеспечивает транслитерацию из собственного файла. Пример файла можно взять в GPSMapEdit.
    Нет четкого понимания можно ли использовать для полноценного перевода т.е. вместо символов прописывать целые слова и даже фразы?! Короткая практика применения не дает пока однозначного ответа.

Если есть дополнения или замечания по изложенному буду признателен. Спасибо!

Привет. Заметил что getbound стал выдавать ошибку при попытке скачать границу:


C:\osm-getbound-master>getbound.pl 51490 -o 51490.poly
Downloading relation ID=51490
GET https://www.openstreetmap.org/api/0.6/relation/51490/full
Download failed: 500 Can't connect to www.openstreetmap.org:443
Failed, trying by parts
GET https://www.openstreetmap.org/api/0.6/relation/51490
Download failed: 500 Can't connect to www.openstreetmap.org:443
Failed to get relation ID=ARRAY(0x4179d78) at C:/osm-getbound-master/lib/App/OsmGetbound/OsmApiClient.pm line 92.

Это что то у меня поломалось или в консерватории? :slight_smile: exe версия отрабатывает без ошибок.

Только, что попробовал perl-овским - скачивается всё идеально…

Вопрос конкретно про версию с этого репозитория. У меня в exe её более старая редакция.

Именно с указанного Вами репозитория!

PS: Сейчас специально зашёл, скачал и сравнил файлы - один в один (ну кроме добавления в алиасы Твери).
Из практики… Смотрите, что и где были изменения в Perl.
С предыдущей версией так же голову ломал, почему либо только ехе-шная версия работает, либо только perl-овская.
Сейчас совершенно одинаково работают и та и другая.
“Вылечилось” переустановкой Perl и не только самой перестановкой, а подборкой версии.
Как-то всё это непонятно и очень “капризно” порой…

Я думаю это проблема из-за TLS 1.3, недавно активировали на серверах ОСМ. А старый софт в него не умеет. Какое-то время назад у меня перестал работать номинатим, и не работал пока я не стал форсировать соединения по 1.2

В том то и прикол что Perl не трогал, не обновлял. Всё работало и перестало. :slight_smile:

Не могу проверить. Днём бы раньше, сейчас на выезде. И главное на прошлой недели обновлял карты. Границы не обновлял.
Хотя не совсем так. Грузию и Абхазию обрабатывал от и до. А толку? Может там и была ошибка да не заметил. Границы остались старые и остальные обработки прошли по маслу.

Надо делать доступ к ПК по удалёнке. Посмотреть дату границ и было бы ясно. Опять же у меня Linux. Может и отработало нормально.

Попробовал Лёшину версию getbound`а тоже перестала работать:


C:\osm-getbound-master>getbound.pl 51490 -o 51490.poly
Downloading relation ID=51490
GET http://www.openstreetmap.org/api/0.6/relation/51490/full
Download failed
Failed, trying by parts
GET http://www.openstreetmap.org/api/0.6/relation/51490
Download failed
Failed to get relation ID=51490 at C:/osm-getbound-master/lib/App/OsmGetbound/OsmApiClient.pm line 89.

Где-то у тебя нестыковка в библиотеках/файлах.
Видимо всё же не заметил как когда-то произошло автообновление файлов в Perl.

Попробовал на скорую руку - вроде работает как работало (Linux). Надо будет глянуть ещё на Windows 10.

P.S. на Windows 10 тоже работает:

perl getbound.pl 1245702 -o D:\7W\MAPS\AB\POLY\AB-1.poly -api osm -onering
perl getbound.pl 2027322 -o D:\7W\MAPS\AB\POLY\AB-2.poly -api osm -onering
perl getbound.pl 2027323 -o D:\7W\MAPS\AB\POLY\AB-3.poly -api osm -onering
perl getbound.pl 2027325 -o D:\7W\MAPS\AB\POLY\AB-4.poly -api osm -onering
perl getbound.pl 2624774 -o D:\7W\MAPS\AB\POLY\AB-5.poly -api osm -onering
perl getbound.pl 2624775 -o D:\7W\MAPS\AB\POLY\AB-6.poly -api osm -onering
perl getbound.pl 2624773 -o D:\7W\MAPS\AB\POLY\AB-7.poly -api osm -onering

как пример