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

А подскажите пожалуйста, как сделать так, чтобы числа не расписывались словами? А то так получается:

; NodeID = 996081360
; natural = peak
[POI]
Data0=(43.1383648,42.6790505)
EndLevel=1
Type=0x6616
Label=Чатынтау~(Четыре тысячи четыреста одиннадцать)
[END]

К названию прилепляется высота (ele) - а переводчик ее расписывает… Это лишнее.

И еще иногда появляются такие строчки в логе:

All cache engines failed; data will not be saved! at LangTransform/YaTranslate.pm line 175.

Хотя папка кеша задана, но в ней ничего не появляется…

А еще выяснилось, что addr:housnumber Я.переводчик тоже расписывает словами. такая фигня получается…

Я было начал править словарь переводчика. Фиг вам. Не правится.
Остаётся только у себя на ПК править непосредственно фай базы данных *.sqlite той или иной пары языков. Но это не подъёмный труд. Стоит оно того или нет решает каждый сам. По крайней мере номера от 1 до ххх наверное можно.
Ещё можно в Exsel создать простую последовательность чисел в столбик. Скопировать во второй столбик. И импортировать в базу sqlite. На первый взгляд должно получиться. Но придется искать все числовые ранее внесенные пары и удалять. Тоже можно наверное автоматизировать по фильтру. Однако телефонные номера - это цифры в разнобой. Так что будет трудно.
Можно экспортировать имеющуюся базу в Exsel. Отсортировать цифровые данные. Во второй столбик скопировать первый, заменив тем самым в столбце перевода буквы на цифры. И обратным движением импортировать данные в базу.

Как вам такая перспектива. :slight_smile: Я пока не сподвигся. Так по чуть чуть правлю когда замечания получаю и не более того.

Да, пока вы не начали и база пустая, можно импортировать цифры из Exsel. А потом уже начать использовать. Переведенные ручным образом цифры останутся цифрами. В остальном база начнет наполняться. Сначала перевод берется из базы, и только если такого перевода нет, то в переводчике. Можно вообще создать свою базу. Или оставить карту на арабском! :smiley:

Я состроил такую строку:

и после использования у меня нет .sqlite.
Я сделал что-то не так?
И кстати, это что, у всех кто пользуется я.переводчиком, числа расписываются словами? и я первый кто на это обратил внимание?

–lt-yatr-cache-dir=yatr - дерриктория где следует искать sqlite. Возможно вы не корректно прописали путь и тогда файлы базы пишутся в корень папки osm2mp (не помню точно).

  1. Возможно у вас не работает накопление базы - так как путь прописан не корректно.
  2. Но скорее всего вы не установили модуль (драйвер) для базы данных sqlite3 - в разных ОС несколько разные по названию libdbd-sqlite3-perl (скажем как то так).
  3. По этой причине у вас непременно идет перерасход бесплатного трафика переводчика - и перевод быстро отключается до следующих суток. На следующий день восстанавливается, но не на долго. По мере накопления базы запросов на перевод должно становиться всё меньше и меньше. И со временем дневного трафика становится вполне достаточно. А пока вы можете попасть и под отключение от переводчика за выработкой даже лимита месячного.
  4. Проблемы с цифрами обсуждались и в этой теме. Просто надо поискать.

Никуда не пишутся. Я проверил весь диск - такого нет нигде.

Спасибо, буду искать дальше.

Прочитал тему со 117 станицы по 164 - не нашел про проблемы с цифрами. Может решение озвучите?

Пытался нагуглить для Win7 - ничего не находится. Только для *nix’ов… Жаль.

  • Ну значит это было в гарминовской теме. А какое тут может быть решение? Только правка базы sqlite. Варианты как прописал выше. Но вы ещё не приступили к сбору базы.
  • Установить библиотеки для perl и сопутствующий софт - в зависимости от системы)
~ # sudo apt install libdbd-sqlite3-perl

в Linux

Что бы конвертер работал вы установили модули Perl … Так? https://wiki.openstreetmap.org/wiki/RU:Osm2mp
Ну вот типа надо доустановить ещё один, о котором не сказано в WiKi. Либо через \Perl\bin\ppm.bat. Либо через CPAN. Я не делаю это каждый день и у меня Linux. Не помню подробности. Но поставить надо!

P.S. вот ещё нашёл в старых записях = “Ещё -** Apache-Session-SQLite3 (0.03)** для перевода”.

Нет. Я использую скомпилированный екзешник, который Kostik любезно сделал прошлой осенью (в связи с какими-то изменениями в osm2mp.pl)

У него должно быть.

del

А в самой-то системе ничего ставить не надо? типа как sql или sql express? я не нашел sqlite .
Сама база-то откуда берется?

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

Я два года назад потратил кучу времени на то, чтобы osm2mp заработал как перловый скрипт. Безуспешно, даже используя ваши же архивы. А екзешник заработал сразу, без танцев с бубном. С требуемым на тот момент результатом.
То, что сейчас этот екзешник не дает полностью всего функционала скрипта - переживем. Будем искать другие пути.

На самом деле это очень просто, можно поставить:
Ставим http://strawberryperl.com/download/5.24.4.1/strawberry-perl-5.24.4.1-64bit.msi
Прописываем переменные
Заменяем файлы в папке C:\Strawberry на файлы из архива.
https://yadi.sk/d/olc_42tn-Z7t1g

Kostik, спасибо, попробую в понедельник.
А скрипт брать какой - у Лёши или у gryphon?

ЗЫ. А екзешник был бы предпочтительней, он работает быстрее…

Я разницы в скорости не заметил.