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

Собрал exe`шную версию getbound.

PS; dll`ки вроде не нужны, но закинул на всякий случай.

Мда. Выглядит не очень. Ошибка гуглится, но толку мало.
Если другие дампы на этих скриптах и конфигах собираются, надо искать, где косяк в данных (может, имя тега на арабском или что-то подобное)
У меня Египет собирался меньше месяца назад, но по кусочкам.

Недавно столкнулся с какой-то непоняткой при конвертации Крыма. Конвертер вылетел на этапе “Loading search areas…”. При этом перед этим Беларусь сконвертилась без проблем. Ради интереса проверил дома, такая же фигня. На следующий день дома скачал новый дамп, думал с ним что-то не то. Запустил чисто проверить на “клопе” (слабеньком нетбуке), увидел, что конвертация это место прошла. Остановил и включил большой комп, но на нем опять вылет. Опять запустил на “клопе” и он все, хоть и долго, но сделал. Взял этот же дамп на работу, опять вылет. Тут я уже совсем ничего не понял. Как умудрился все сделать маленький нетбук, когда два мощных компа вылетают :(.

Очевидно, запускается

perl osm2mp.exe

Запускается как и .pl версия.


chcp 65001
osm2mp.pl --config=cfg-navitel\navitel-ru-utf8.cfg --bpoly=poly/Egypt.poly --default-country=EG --default-region="Egypt" --mapname="Egypt" --default-lang=ar --target-lang=en --water-back --addrinterpolation --shorelines --disableuturns --output=Maps/mp/Egypt.mp  Maps/osm/Egypt.osm


Другие то страны нормально собираются.

Хорошая штука!
Мне, ну… очень понравилась. Всё чётко работает!
Спасибо!
Скажи… эта сборка с исправленной работой ключа “clip”, о чём говорил “gryphon”?

PS: На будущее - желательно анонсировать особенности, изменения сборки.

Потестите, пожалуйста, как работает опция clip в последней версии https://github.com/cheshire-mouse/osm-getbound

В прошлой слишком намудрил с объединениями полигонов

gryphon ИМХО что то не то. Вот так вот например получается полигон Молдовы без Приднестровья. Кусок всё равно на месте, в прошлой такого не было.

perl getbound.pl md -clip -onering -o data/Maps/Moldova/bounds/moldova.poly

PS: Кстати стал наблюдать такую ошибку в твоей сборке osm2mp, чего раньше не было:

Writing crossroads...     Use of uninitialized value in hash element at script/osm2mp.pl line 1362.
Use of uninitialized value in hash element at script/osm2mp.pl line 1376.
Use of uninitialized value in hash element at script/osm2mp.pl line 1362.
Use of uninitialized value in hash element at script/osm2mp.pl line 1367.
Use of uninitialized value in hash element at script/osm2mp.pl line 1376.
Use of uninitialized value in hash element at script/osm2mp.pl line 1376.
42311 restrictions, 0 signs

All done!!

Издалека выглядит странно, но если приблизить, то, похоже, все сделано правильно (хотя и немного кривовато): Приднестровье честно вырезано, но там есть маленький кусочек Молдавии

По ошибке. Предположу, что в данных есть кривое отношение restriction. Можно попробовать раскомментировать строчку 1361 (там print должен быть), посмотреть, на каком отношении сругнется

Вот преждняя версия getboud:

А вот новая:

Ключи в обоих случаях одинаковые. Старый вариант меня устраивает больше.

Если ты применяешь эти две границы для osmconvert и osm2mp, результат отличается?

Не сравнивал. Попробую завтра.

Поправил getbound. Сейчас Молдова отработывает нормально. Предполагаю, что это все же не решает проблему окончательно, так что шлите примеры криво выгружаемых границ.

Проверил, пока ошибок не вижу.

Всем добрый вечер. Случайно обратил внимание - файл *.mp открытый и сохраненный без правки в GPSMapEdit худеет катастрофически = с 215 МБ до 162МБ. С одной стороны и хорошо. С другой за счет чего?
Конечно не по теме, но возможно кто то уже сталкивался и знает ответ. Тем более где то было сказано, что после конвертации полезно файл открыть в GPSMapEdit. Что же удаляется. За счет чего такое облегчение?
Стесняюсь спросить откуда берутся дубли. Конвертер osm2mp ищет, находит, устраняет. GPSMapEdit после этого тоже находит. И он не последний в поиске дубликатов. Разные критерии поиска? Т.е. при желании и больше можно найти?
Спасибо.

А просто сравнить файлы - что поменялось не пробовали? К тому же в них полно комментариев с отсылками на OSM-объекты, которые можно безболезненно удалить.

Там при сохранении по другому сохраняется адресация. В настройках посмотри, там есть как её сохранять.

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

Подскажите ещё по какому принципу объекты слоями ложатся. Кто выше, кто ниже (не уровни масштабирования). Берем нулевой уровень детализации в нем два разных полигона в одних координатах. Условно газон и спортивная площадка. Кто то оказывается выше, кто то под ним - ниже. Закономерности уследить не удается.
От чего это зависит? Может быть от последовательности конвертации - типа кто первый тот ниже, кто последний ложится выше. В том же GPSMapEdit отображение по какому признаку распределяет объекты? И как то не получается поменять местами - вынуть на верх, опустить вниз.
Другими словами есть *.mp файл. Что в файле отвечает за позицию практически одинаковых полигонов (это не мост и не платформа подземного метро - обычные поверхностные объекты).
Не уверен понятно ли изложил, думаю понять суть можно. :slight_smile: Спасибо.