Тогда так.
Вытащить “name (old_name)” в надпись объекта просто. Нужно отредактировать соответствующие конфиги. Но с адреской всё сложнее.
Это сам liosha может ответить или кто в перловских скриптах и модулях понимает.
В файле “settings-mp*.yml” в разделе “Name selection priority” добавить новую переменную:
oldname: [ old_name ]
Затем, в конфигах из папки “polish-mp” добавить для нужных типов объектов правило:
name:
- %label (%oldname)
- %label
Тогда, если есть old_name, оно будет дописываться в скобках. Можно добавлять это правило не для каждого отдельного типа, а сделать пресет для группы типов.
И ещё раз повторюсь, таким образом мы изменим только поле Label, все адресные поля - CityName, StreetDesc и прочие останутся неизменными.
В апреле я поднимал вопрос (в теме “Карты OSM для Garmin (osm2mp+cgpsmapper)”) про дублирование дорог. Когда например дорога представляется в виде улицы с проложенной прямо по ней грунтовкой.
Мне было отвечено, что “так и задумано, это не глюк”. Зачем так задумано я так и не понял. В случае коротких улочек это не мешает. Однако в случае длинных дорог возникает проблема: эти дороги при перестроении графа соединяются друг-с-другом в каждом узле, таким образом каждый узел становится узлом дорожного графа. И их количество запросто набегает за допустимые 60 штук, cgpsmapper затыкается. Устранить образующееся огромное количество ошибок вручную - практически нереально.
Все же задаю вопрос: для чего так сделано?
И можно ли как-то обозначенную проблему решить?
Иначе теряется смысл самого mp-файла (его нельзя скормить cgpsmapper 'у).
А как я могу пример в студию?
Проблема возникает при обработке mp с помощию MapEdit - после перестроения графа. Вот на приведенном скриншоте проблемная дорога: все узлы на ней являются узлами графа, а их зеленый цвет говорит о том, что из каждой точки исходит 4 луча (то есть, через нее проходят 2 дороги - одна под другой)
В ОСМ эта дорога - http://www.openstreetmap.org/way/372925088#map=11/51.8739/133.4976
Можно, конечно, одну из дорог удалить вручную. Но узлы графа на оставшейся останутся, и проблема не решится. А если перестроить весь граф с нуля - потеряются все(!) запреты поворотов, и их вручную восстановить будет нереально.
Не ПЕРЕстраивать, а ДОстраивать. После вмешательства в дорожную сеть. (а собственно для вмешательства мапэдит и нужен - для чего ещё?!). То есть, я что-то делаю совсем в другом месте. А потом применяю “создать граф” - и возникают все эти лишние точки.
Дублируется еще до мапедита. В mp-файле уже идет дорога WayID=179547768:0 поверх WayID=372925088, это еще до какого бы то ни было вмешательства в mp. Только узлы графа не построены на них.
В ОСМ далеко не всё позволено. Приходится доделывать для собственного употребления в мапеэите, в том числе по запрещенным в ОСМ источникам. А зачем тогда вообще нужен mp - достаточно было бы готового img.
В приведенном примере обе линии - дороги (разного типа), от чего и проблема. Если бы одна из линий была “не-дорога” - она и не мешала бы построению графа.
Ну cgsmapper-то вроде как ни при чём.
Вот необходимость этого я так понять и не могу:
Зачем требуется этот “неплохой вариант”.
Есть ли какая-нибудь возможность избавиться от дублирующих дорог, может присвоением им какого-либо особого типа, или может комментария в mp?