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

Бред. В очередной переставил систему. Модули решил поставить под рут. Всё прекрасно работает, но перевод… Может на Яндексе что творится?!
Изменил некоторые написания, бац прошло без тревоги:

$ perl osm2mp/osm2mp.pl --config=osm2mp/cfg-navitel/navitel-ab.cfg --bpoly=MAPS/AB/POLY/AB-1.poly --target-lang=ru --default-lang=en --default-country=AB --default-region="Гагрский район" --mapname="Абхазия Гагрский район" --output=MAPS/AB/MP/AB-1.mp --lt-yatr-key=@me.key --lt-yatr-cache-dir=osm2mp/cachedir MAPS/AB/OSM/AB-1.osm

  ---|   OSM -> MP converter  1.03   (c) 2008-2013 liosha, xliosha@gmail.com

Loading configuration...

Loading OSM data from file MAPS/AB/OSM/AB-1.osm...

Initialising bounds from file MAPS/AB/POLY/AB-1.poly...

Что называется найдите хотя бы одно отличие. Тут ;е перезапускаю JSON уже ругается типа на пустую строку:

$ perl osm2mp/osm2mp.pl --config=osm2mp/cfg-navitel/navitel-ab.cfg --bpoly=MAPS/AB/POLY/AB-1.poly --target-lang=ru --default-lang=en --default-country=AB --default-region="Гагрский район" --mapname="Абхазия Гагрский район" --output=MAPS/AB/MP/AB-1.mp --lt-yatr-key=@me.key --lt-yatr-cache-dir=osm2mp/cachedir MAPS/AB/OSM/AB-1.osm

  ---|   OSM -> MP converter  1.03   (c) 2008-2013 liosha, xliosha@gmail.com

Loading configuration...
malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at /home/alvi/7W/osm2mp/lib/LangTransform/YaTranslate.pm line 68.

Loading OSM data from file MAPS/AB/OSM/AB-1.osm...

Бред. И почему я не учил программирование.

  • подумалось, что может пустая строка приехала?

Может вы из разных папок, пропишите полные пути.

del

del

del

И что я этого не сделал раньше. Перешел на другой ПК (Windows OC). Старые перлы. И та же песня. Там то уж ничего не перенастраивал.
Это что же получается? Надо в Яндекс писать.

del

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

Что-то случилось… Конфиги особо не менял, но в последнее время в логах osm2mp при конвертации некоторых стран появились такие строки:

All done!!

assertion failed: open my_perl
assertion failed: MZ magic bytes
assertion failed: PE header
assertion failed: IMAGE_NT_OPTIONAL_HDR_MAGIC

Результирующий .mp получается вполне годным. Никто с таким не сталкивался? Что это может означать и надо ли с этим бороться?
Заранее спасибо.

assertion failed: MZ magic bytes
assertion failed: PE header

Это напоминает проверку на .EXE файл, видимо где-то он затёрся. Возможно это какой-то my_perl.exe

Такое вроде может выскакивать когда работают несколько экземпляров параллельно: http://www.nntp.perl.org/group/perl.par/2013/10/msg5634.html

Действительно, это началось когда я две конвертации запускать стал. Спасибо, Сергей.
Будет мешать - перейду опять на один поток…

Пишут что это исправлено в модуле PAR::Packer 1.015 - http://www.nntp.perl.org/group/perl.par/2013/10/msg5643.html
Может достаточно будет обновить Perl? У тебя какая версия?

Да, я прочитал там про это. Но перл у меня не завелся, я пользую скомпилированный вариант в виде .ехе. Похоже, надо перекомпилировать, но некому.
Вики по конвертору не обновляется уже давно, ссылка на скомпилированный екзешник ведет в никуда - развития нет и похоже не предвидится…

Народ, а как в osm2mp наладить конвертацию из UTF8 в однобайтовый транслит? Карта Украины. Названия в name могут быть на русском или украинском, местами встречается что-то ещё, например, названия пивнушки “Фрау Мюллер” на немецком с умляутами или кафешки с закосом под Францию.
Хорошо, если прописано name:en. Можно взять название оттуда. Но, увы, это есть далеко не везде.

Я указываю в параметрах --codepage=1251 --target-lang=en --default-lang=uk, в общем-то оно работает, но некоторые символы Юникода отсутствуют в cp1251, и я получаю матюки типа “\x{00e1}”. Приходится их потом отдельной программкой менять на что-то человекопонятное. И ещё проблема с некоторыми украинскими буквами вроде і, ї. Они остаются нетранслитерированными, и потом в навигаторе кракозябры.
Где и что нужно подкрутить, чтобы перекодировка происходила как надо?

Добавил запреты поворотов в шейпфайлах.
У кого есть возможность, проверьте плиз (у меня пока MPC под рукой нет).

Ух ты… Я уже думал не дождусь :).

Можно использовать --perlio-filter PrepareCP1251

Собрал карту Беларуси. Проверил навскидку несколько перекрестков, вроде работает нормально. Раз пошла такая пьянка, еще бы полную адреску допилить :P.