Отрицательный результат, то же результат.
Сборка, которую я предложил отличается от требований “свежей” версии osm2mp.
Дополнительно необходимы модули “match::smart” в самом скрипте и где то там в одном из конфигов “match::simple”. Подгрузил - заработало. Без них актуальные версии osm2mp .pl и getbound.pl работать не будут. Не нашел для чего и до кучи поставил “Config::YAML” в надежде что прибавит скорости обработки.
Пока на Linux системе. Если проблема остаётся, то в течении пары дней думаю обновиться на Windows “Perl64”, при положительном результате обновлю и архив.
Добавил в Perl64 модули “match-smart”; “match-simple”; “Config-YAML” без затруднений через ppm. Заменил osm2mp и getbound на свежие. getbound - отработал, а вот osm2mp выдал неожиданную ошибку:
Bareword "M" not allowed while "strict subs" in use at osm2mp.pl line 367.
BEGIN not safe after errors--compilation aborted at osm2mp.pl line 1368.
Куда копать не знаю. Какие будут советы, замечания предложения?
Bareword "M" not allowed while "strict subs" in use at mp-postprocess.pl line 89.
Bareword "M" not allowed while "strict subs" in use at mp-postprocess.pl line 94.
Bareword "M" not allowed while "strict subs" in use at mp-postprocess.pl line 99.
Bareword "M" not allowed while "strict subs" in use at mp-postprocess.pl line 99.
BEGIN not safe after errors--compilation aborted at mp-postprocess.pl line 180.
Под Linux этой проблемы нет. Вторично перепроверил и установил пакет osm2mp. Как же не хватает познаний в программировании.
Всё работает. Не знаю на сколько этот вариант ущербнее. Начинаю сомневаться - может мой вариант был свежее, обходящий такого рода проблемы?!
Perl64 (вариант 2) для “свежей” версии osm2mp - https://yadi.sk/d/BI7VIViH3EA9Rw - распаковать в корень диска C:
osm2mp (вариант 2) “свежий” правленый - https://yadi.sk/d/xrGkZ_Ib3EA9Rj
Текстовый файл для настройки путями - https://yadi.sk/i/WIMgDcvc3DTyfu
Может кто то протестирует. Или более того найдет занозу.
KonTur
White_54
Ребята, не смейтесь, на свой сервак поставил… Windows 10. У него есть WSL, читай Ubuntu 12.04 из коробки. Все инструкции из нашей вики, касающиеся Ubuntu, работают 1:1, нулевой оверлоад по сравнению с портированными программами и тем более виртуальными машинами. Цена вопроса 1 Гб на диске.
Старый (древний) ПК с 2 ядрами и 2ГБ оперативки на Ubuntu (32), опережает в обработке (osm в mp) ноутбук с 4 ГБ оперативки и 4 ядрами на Windows 10/7 (64). Всё порываюсь поставить на ноутбук Ubuntu второй системой. Они не плохо уживается друг с другом. Никаких виртуальных машин, никаких вживлений одного в другое.
Подскажите пожалуйста, как можно в случае junction=roundabout добавить нестандартный атрибут к этой дороге в .mp ?
Пытался сам разобраться, но так как не программист ни разу - нифига не вышло.
Заранее спасибо.
Уточните вопрос. Что значит нестандартный атрибут? Какой атрибут? Какова цель добавления?
Вы хотите каждый раз править *.MP файл? Или все же хотите добавить атрибут в базу?
А может вы хотите добавить атрибут в конвертер?
После конвертации в формат ситигида, круговое движение получается отличным от дороги, на котором оно встречается
Из чисто эстетических побуждений, я хочу чтобы круговое было таким же цветом что и примыкающая дорога. При этом, чтобы навигатор озвучивал “круговое движение”, у конвертора в ситигидовский формат есть т.н. маркер CGRoadMarker=1, про который написано: “Не используем тип дороги круговое движение, а ставим маркер”. Вот я и хочу, чтобы при конвертации из осм в .мр, junction=roundabout не превращался в тип 0х0с, а этой полилинии добавлялся атрибут CGRoadMarker=1.
Вот. Однако, как это реализовать с помощью конфигов конвертера osm2mp я так и не нашел.
Буду признателен за помощь.
В моей программе цвет линий определяет “Скин”. Любому типу - любой внешний вид.
У нас программный конвертер берет стандартный набор данных из *.mp - и сам трансформирует в формат приложения.
Если ваш программный конвертер требует что то там установить дополнительно, должно быть описание что сделать.
Формально, как было сказано, формат *.mp - есть обычный текстовый файл. Следовательно любой текст в файле можно заменить (дополнить).
Из ваших объяснений: я бы строки “Type=0x0c” заменил маркером “CGRoadMarker=1” или добавил строку с маркером CGRoadMarker=1 …
Это можно делать руками, открывая последовательно каждый файл. А можно воспользоваться командной строкой и заменить сразу все однотипные строки, нужным текстом. Получается своего рода пост процесс.
Но сие лишь предположение.
Что до формирования маркера взамен типа в ходе конвертации OSM в MP?! Надо подумать. Но ведь кто то уже это делает. И наверное есть профильная тема.
В .мр уже утерян класс дороги “круговое движение”, он там везде 0х0с. А круги встречаются и на primary, и на secondary, и на других тоже. Втыкание маркера нужно делать на этапе конвертирования.
Хотя, я тут подумал - прямо в .osm наверное можно тоже. Буду дальше думать…