я добавлял отдельный writer, чтобы формат соответствовал описанию POLY в вики
getbound.pl -om poly-strict <...>
я добавлял отдельный writer, чтобы формат соответствовал описанию POLY в вики
getbound.pl -om poly-strict <...>
Да, я уже нашел, скачал и опробовал. Большое спасибо за эффективную работу.
Вопрос по mp-postprocess.pl
Запускаю строкой perl mp-postprocess.pl RU-KL.mp
Ругается
Use of uninitialized value $object in string eq at mp-postprocess.pl line 99, <$in> line 1.
и портит итоговый файл
Было RegionName=Республика Калмыкия Городовиковский район
Стало RegionName=Республика Калмыкияовиковский р-н
Что можно сделать для исправления?
В программе есть такая строка:
$line =~ s/ город//i;
Я у себя ее отключил, так как много где встречается слово “город” в названиях, и вылезает бяка.
Спасибо большое!
На 99 строку по прежнему ругается, но портить названия перестал. Попробую в батник воткнуть…
Кто владеет языками подскажите пожалуйста, в каком месте в osm2mp находится вот такое преобразование:
В ОСМ улица подписана как “Цветочная улица (Советский район)”. osm2mp преобразует название как “Цветочная улица /Советский район/”.
Мне надо чтобы вместо прямого слеша ставился обратный.
Заранее спасибо.
А где в мр-файле такая запись?
У меня в мр-файле нет никаких разделителей.
А зачем в OSM район города указывать в name улицы? Для этого есть place=suburb.
Разве не так?
Относительно скобок и слешей - они могут выполнять двойные функции = собственные и программные. Один из слешей как раз и выполняет функцию определения что за ним следует = обычный знак или программный элемент.
Ваша проблема скорее всего в файле пост процесса. Я тоже далек от программирования. Как смог , извините.
Можно почитать https://www.opennet.ru/base/dev/pcre_perl_intro.txt.html
Вам повезло. Вот два примера:
https://www.openstreetmap.org/way/148882551
https://www.openstreetmap.org/way/533487528
Я не знаю, зачем это сделано так, но в результате в .mp получается вместо () - //. А мне надо чтобы было \
Описанное получается до постпроцессинга. Сразу после завершения osm2mp. В связи с чем и возник мой вопрос.
Тогда надо больше конкретики. Это тот объект?
https://www.openstreetmap.org/way/148882551#map=11/56.3056/44.0036
Вы что то меняли в ozm2mp?
Нет. Сейчас используется скрипт вроде от gryphon, где названия станций метро на входы копируются.
А как это выглядит. Могли бы вы привести цитату из файла *.mp?
И дайте ссылку на то как это в OSM.
У себя не могу воспроизвести то что происходит у вас.
; WayID = 155408702
; building = yes
[POLYGON]
Data0=(56.3042604,43.9941972),(56.3042312,43.9940442),(56.3043521,43.9939693),(56.3043813,43.9941223),(56.3042604,43.9941972)
EndLevel=1
Type=0x13
Label=13
CityName=Нижний Новгород
Floors=1
HouseNumber=13
RegionName=Нижегородская область городской округ Нижний Новгород
StreetDesc=Цветочная ул. /Советский район/
[END]
Ну так это после постпроцесса - mp-postprocess.pl. Что и говорю. Это не osm2mp делает, а постпроцесс.
Вспоминайте что правили в mp-postprocess.pl?
Вероятнее всего правили эту строку:
[ 'ул(?:|ица)' => 'ул.' ],
К вопросу, строку не удалял, а сделал так (пробел с обеих сторон):
$line =~ s/ город //i;
Я уже писал, что это в .мр сразу после osm2mp. постпроцесса у меня пока нет. что видно по несокращенным области и району
А почему у вас вместо “улица” - “ул.”?
В OSM сокращения нет - https://www.openstreetmap.org/way/155408702
Сокращения это как раз опция постпроцесса. Вы правы. У вас его нет, а сокращение есть. Странно.
Я не знаю чем вам помочь. Я просто помогаю вам вспомнить где и что вы правили. Другой помощи пока все равно нет.
улица сокращается пока другой тулзой. самописной от Zkir
Так это тоже постпроцесс. В этой программе и искать надо. Она виновница на 99%.
Всё понятно… Это результат неверного обозначения теми, кто вносил (или правил) объект (улицу).
Теперь только либо исправлять в OSM, либо править в МР-файле (что проще) текстовым редактором (опция замены).
*PS: скачайте и попробуйте сейча эти улицы. *
Вы исправили не тот объект. Или точно не все объекты. Он не единственный - Цветочная улица (Советский район) 13. Кроме того там есть ещё аналогичная адресация по Приокскому району - Цветочная улица (Приокский район) 13. Там не только на самой улице, но и на домах в addr:street район прописан.
https://www.openstreetmap.org/way/627592743
https://www.openstreetmap.org/way/155408702
Видимо местные так решили разнести одноименные улицы одного города.
Да и вопрос был про другое - вместо (район) у пользователя получается /район/. Человек вместо /район/ хочет \район. Я так понял вопрос.