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

Проверь чтобы у полигона place и точки placе были одинаковые теги name и addr:*, скорее всего в каком-то из них отсутствует addr:subdistrict и они получают разные имена в полише.

Сельские округа очень выручают, когда в одном районе есть несколько населенных пунктов с одинаковым названием (Абай, например).

Заметил новые корректировки в lib/Coastlines.pm - Skip polygons (like islands) from the process of merging coastlines a…
Не поясните в двух словах.
Спасибо.

Исключил полигоны, состоящие из одного вея (читай острова) из расчета общего полигона воды по костлайнам и границам обрезки. Т.к. в ряде случаев пересечение такой линии с границей обрабатывается некорректно и водный полигон не формируется.

Если исключить острова из расчета, то проблемы не возникает (по крайней мере я таких случаев не нашел).

Для примера, Мурманск: если обрезать по границе области, как раз получим то самый вариант.

Прошу простить мой нигилизм, но не могу не спросить: в части fixing close nodes (testing)

  • начиная со строки 663 идет вставка большого корректирующего массива (воспринимается дилетантом как должное)
  • со строки 1262 is_close_nodes, на сколько я понял, тоже добавлен некий массивчик
  • но со строки 1280 fix_close_nodes и далее, идет штатный исходный массив
    Они слабо различимы по содержимому, если не сказать более - практически идентичны?!

На всякий случай прошу уточнить - всё ли здесь верно? Нет ли некой избыточности?
Спасибо.

Не, всё в прорядке. На оптимальность, скорость, отсутствие ошибок данный алгоритм не претендует. Но свою задачу выполняет

del

Подскажите пожалуйста, какими таблицами транслитерации пользуется osm2mp при задании ключа --translit?
При транслитерации с азербайджанского в латиницу одна буковка превращается в “@”, что некрасиво на карте выглядит. Хотелось бы ее хотя бы в “а” превращать.
Заранее спасибо.

Это где-то тут
https://metacpan.org/source/SBURKE/Text-Unidecode-1.30/lib/Text/Unidecode/x01.pm

Почитал - ничерта не понял.
попробую по другому - где найти примеры файла, который требуется при задании ключа --ttable (–ttable= Имя файла дополнительной таблицы перекодировки (пример файла)
На вики ссылка на пример файла ведет в никуда…

Самое правильное будет сделать таблицу в формате GME, и использовать --lt-gme.
Можно заодно и им отправить.

Спасибо, попробую.

liosha

А можешь исправить чтобы можно было в параллели несколько процессов с Я.Переводом собирать? SQL же это позволяет?


Processing nodes...
DBD::SQLite::db do failed: database is locked at C:/navitel/lib/SQLite_File.pm line 319.
DBD::SQLite::db do failed: database is locked at C:/navitel/lib/SQLite_File.pm line 319.
DBD::SQLite::db do failed: database is locked at C:/navitel/lib/SQLite_File.pm line 319.


yatr: failed request zh-en for 4хП╖хо┐шИНце╝ at C:/navitel/lib/LangTransform/YaTranslate.pm line 109.
Wide character in warn at C:/navitel/lib/LangTransform/YaTranslate.pm line 109.
yatr: failed request zh-en for 4хП╖хо┐шИНце╝ at C:/navitel/lib/LangTransform/YaTranslate.pm line 109.
yatr: failed request zh-en for Border Mongolia - China at C:/navitel/lib/LangTransform/YaTranslate.pm line 109.
yatr: failed request zh-en for Wukui Expressway at C:/navitel/lib/LangTransform/YaTranslate.pm line 109.
Wide character in warn at C:/navitel/lib/LangTransform/YaTranslate.pm line 109.
yatr: failed request zh-en for чЯ│ц▓│хнРхНлчФЯхнжцаб at C:/navitel/lib/LangTransform/YaTranslate.pm line 109.
Wide character in warn at C:/navitel/lib/LangTransform/YaTranslate.pm line 109.
yatr: failed request zh-en for чЯ│ц▓│хнРхНлчФЯхнжцаб at C:/navitel/lib/LangTransform/YaTranslate.pm line 109.
Wide character in warn at C:/navitel/lib/LangTransform/YaTranslate.pm line 109.

Теоретически да, но тогда сильно просядет скорость, потому что отключится всё кеширование.
Проще для каждого потока использовать отдельный кеш, см --lt-yatr-cache-dir

И чего ему надобно?
Сделал файл AZ.yml

#### test

--- Azerbaijan
---

Ə: A
ə: a

запускаю с ключами --translit --ttable=AZ.yml
он ругаецца:

Loading configuration...
YAML Error: Expected separator '---'
   Code: YAML_PARSE_ERR_NO_SEPARATOR
   Line: 1
   Document: 2
 at YAML/Loader.pm line 81.

— должен быть до комментария

Леша, я пробовал вообще без комментария, т.е. первой строкой было — Azerbaijan, второй опять —.
Все равно такая же ругань на разделитель.
Вариант с таблицей GME также не работает, правда ругани нет, но и результата тоже. И там более непонятно как файл .dat оформлять…

А там случаем bom в файл не пролез? В yaml его быть не должно.

Для GME можно ориентироваться на файл с польским языком

Лёша, действительно был BOM в yaml. Я его убрал, osm2mp ругаться перестал на AZ.yml, но и результата тоже нет. По прежнему, буква Ə транслитеруется в @…
С файлом для GME такая же история - не ругается, но и не использует…
Что еще можно предпринять?

Тоже заметил такое. Несколько лет назад, когда данная фича только была реализована, она работала, а как то не так давно пробовал использовать и не получилось.

А можно какой-то небольшой пример для воспроизведения?

UPD. Поправил парсер gme-таблиц, должно работать.