Думаю это проблема не в getbound, а в JOSM или плагине (после обновления).
Могу так говорить потому, что когда разбирался с форматами полифайлов, то никакая программа не требовала отсутствия пустой строки.
И даже напротив - во всех описаниях и примерах (в т.ч. и в OSMosis) пустая строка имеется!
Могло пройти и больше, если бы не пришлось поработать с POLY.
я добавлял отдельный 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 преобразует название как “Цветочная улица /Советский район/”.
Мне надо чтобы вместо прямого слеша ставился обратный.
Заранее спасибо.
А где в мр-файле такая запись?
У меня в мр-файле нет никаких разделителей.
RegionName=Владимирская область Александровский район запад
StreetDesc=Советская улица
А зачем в 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?
Вы что то меняли в ozm2mp?
Нет. Сейчас используется скрипт вроде от gryphon, где названия станций метро на входы копируются.
В ОСМ улица подписана как “Цветочная улица (Советский район)”. osm2mp преобразует название как “Цветочная улица /Советский район/”.
А как это выглядит. Могли бы вы привести цитату из файла *.mp?
И дайте ссылку на то как это в OSM.
У себя не могу воспроизвести то что происходит у вас.
А как это выглядит. Могли бы вы привести цитату из файла *.mp?
; 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%.