You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
#3951 2017-01-17 13:19:14
- Pashka2017
- Member
- From: Киев
- Registered: 2017-01-16
- Posts: 4
Re: Конвертер OSM -> MP
Marych73, желательно, чтобы name и name:en одновременно в label прописывались или добавить переменную Label1=name:en
В общем-то, интересен любой способ, чтобы сохранить в MP инфо на нескольких языках.
Offline
#3952 2017-01-17 20:19:24
- White_54
- Member

- From: 101 километр
- Registered: 2014-07-16
- Posts: 835
Re: Конвертер OSM -> MP
Marych73, желательно, чтобы name и name:en одновременно в label прописывались или добавить переменную Label1=name:en
В общем-то, интересен любой способ, чтобы сохранить в MP инфо на нескольких языках.
Нет никакой разницы какие тянуть данные для Label - https://forum.openstreetmap.org/viewtop … 27#p595927 - я так думаю.
Offline
#3953 2017-01-17 21:49:17
- Pashka2017
- Member
- From: Киев
- Registered: 2017-01-16
- Posts: 4
Re: Конвертер OSM -> MP
Нет никакой разницы какие тянуть данные для Label - https://forum.openstreetmap.org/viewtop … 27#p595927 - я так думаю.
Благодарю за ответ, но я уже читал это и по совету igitov создал переменную в settings-navitel.yml:
################################
## Name selection priority
################################
--- taglist
---
label: [ name, loc_name, brand, operator ]
label1: [ 'name:en' ]
Теперь работавший ранее батник, выдаёт ошибку:
YAML Error: Invalid element in map
Code: YAML_LOAD_ERR_BAD_MAP_ELEMENT
LINE: 10
Document: 2
at YAML/Loader.pm line 352.
Если убрать строку "label1: [ 'name:en' ]", то всё работает ОК
Last edited by Pashka2017 (2017-01-17 21:54:01)
Offline
#3954 2017-01-21 07:30:12
- White_54
- Member

- From: 101 километр
- Registered: 2014-07-16
- Posts: 835
Re: Конвертер OSM -> MP
Если убрать строку "label1: [ 'name:en' ]", то всё работает ОК
Попробуйте варианты, сажем:
oldname: [ 'name:en' ]
enname: [ 'name:en' ]
Вам же не важно как тег будет обзываться.
P.S. А это единственное что вы внесли в конфиги. Или ещё что то, в другие конфигурационные файлы вносили?
Offline
#3955 2017-01-21 15:18:55
- igitov
- Member

- From: Kotel'nich
- Registered: 2011-12-08
- Posts: 1,430
Re: Конвертер OSM -> MP
label1: [ 'name:en' ]Вообще в этой записи нет ошибки. Странно, что конвертер вылетает.
Да, переменную вы ввели, а где пример её использования? Может проблема не в settings-navitel.yml, а в настройках конкретных mp-типов.
Offline
#3956 2017-01-23 06:45:45
- G_A_V
- Member
- Registered: 2013-07-05
- Posts: 6
Re: Конвертер OSM -> MP
Версия 0.90b иногда дает отрицательные значения в RouteParam при modify_road
Кусок кода:
# routeparams
if ( exists $action->{routeparams} ) {
my @rp = split q{,}, $road{ $objinfo{id} }->{rp};
my @mrp = split q{,}, $action->{routeparams};
for my $p ( @rp ) {
my $mp = shift @mrp;
$p = $mp if $mp =~ /^\d$/;
$p = 1-$p if $mp eq q{~};
$p = $p+$1 if $p < 4 && $mp =~ /^\+(\d)$/;
$p = $p-$1 if $p > 0 && $mp =~ /^\-(\d)$/;
}
$road{ $objinfo{id} }->{rp} = join q{,}, @rp;
}
Поскольку в perl я не сильно разбираюсь, то правильно ли будет добавить $p = 0 if $p < 0 после всех if ?
Offline
#3957 2017-02-07 09:39:51
- KonTur
- Member

- From: SPB
- Registered: 2010-03-10
- Posts: 1,662
Re: Конвертер OSM -> MP
Доброго дня!
Подскажите пожалуйста, скомпилированной версии можно в качестве конфига давать .yml?
типа "osm2mp64.exe --config=cfg-my\my.yml
Или я многого хочу?
А то екзешник делает .mp, но не так как надо с дефолтным конфигом, а перловая версия - падает либо ругается на нехватку кучи модулей, которые где взять - хз.
Offline
#3958 2017-02-07 17:33:53
- gryphon
- Member

- From: Pskov
- Registered: 2010-09-16
- Posts: 1,690
Re: Конвертер OSM -> MP
Доброго дня!
Подскажите пожалуйста, скомпилированной версии можно в качестве конфига давать .yml?
типа "osm2mp64.exe --config=cfg-my\my.yml
Или я многого хочу?
А то екзешник делает .mp, но не так как надо с дефолтным конфигом, а перловая версия - падает либо ругается на нехватку кучи модулей, которые где взять - хз.
Должен подхватывать те же ключи, что и перловый вариант
А установка модулей через cpan (вот как тут http://wiki.openstreetmap.org/wiki/Osm2mp#Windows) не работает?
Offline
#3959 2017-02-07 18:02:56
- White_54
- Member

- From: 101 километр
- Registered: 2014-07-16
- Posts: 835
Re: Конвертер OSM -> MP
А установка модулей через cpan (вот как тут http://wiki.openstreetmap.org/wiki/Osm2mp#Windows) не работает?
Это устарело. Perl шагнул вперед, надо выбирать старенький. Уже и не помню какой - 14-й что ли.
Offline
#3960 2017-02-07 20:27:01
- KonTur
- Member

- From: SPB
- Registered: 2010-03-10
- Posts: 1,662
Re: Конвертер OSM -> MP
Должен подхватывать те же ключи, что и перловый вариант
В том то и дело, что перловый вариант конфиги берет, но падает дальше, а екзешник - тоже вроде берет, но ругается на ошибку в конфиге. Вот я и поинтересовался.
Пробовал и актив перл последний, там через ppm модули ставятся, и "землянику", модули ставил через cpan, один хрен - скрипт падает.
Offline
#3961 2017-02-07 21:26:14
- gryphon
- Member

- From: Pskov
- Registered: 2010-09-16
- Posts: 1,690
Re: Конвертер OSM -> MP
gryphon wrote:А установка модулей через cpan (вот как тут http://wiki.openstreetmap.org/wiki/Osm2mp#Windows) не работает?
Это устарело. Perl шагнул вперед, надо выбирать старенький. Уже и не помню какой - 14-й что ли.
Проверил, работает без проблем на современных перлах
ХАУ-ТУ
#Настройка osm2mp на Ubuntu server 16.04 с нуля
#большая часть перловых библиотек есть в репозитариях
sudo apt-get install build-essentials unzip libconfig-std-perl libyaml-perl libencode-locale-perl liblist-moreutils-perl libmatch-simple-perl libmath-polygon-perl liblocal-lib-perl libxml-parser-perl libtext-unidecode-perl libjson-perl libtemplate-perl
#запускаем и настраиваем cpan (без рута, библиотеки установятся в домашнем каталоге)
cpan
...
Would you like to configure as much as possible automatically? [yes]
...
What approach do you want? (Choose 'local::lib', 'sudo' or 'manual')
[local::lib]
...
Would you like me to append that to /home/user/.bashrc now? [yes]
...
>exit
#в этом месте надо перелогиниться, чтобы заново подхватился обновленный профиль с путями к библиотекам
#ставим недостающие библиотеки
cpan -i Math::Polygon::Tree
cpan -i Tree::R
cpan -i Geo::Openstreetmap::Parser
#загружаем и распаковываем osm2mp
wget https://github.com/liosha/osm2mp/archive/master.zip
unzip master.zip
#тестируем
cd osm2mp-master
wget http://data.gis-lab.info/osm_dump/dump/latest/RU-IN.osm.bz2
unzip RU-IN.osm.bz2
./osm2mp.pl -o ./result.mp ./RU-IN.osmOffline
#3962 2017-02-07 21:31:31
- gryphon
- Member

- From: Pskov
- Registered: 2010-09-16
- Posts: 1,690
Re: Конвертер OSM -> MP
gryphon wrote:Должен подхватывать те же ключи, что и перловый вариант
В том то и дело, что перловый вариант конфиги берет, но падает дальше, а екзешник - тоже вроде берет, но ругается на ошибку в конфиге. Вот я и поинтересовался.
Пробовал и актив перл последний, там через ppm модули ставятся, и "землянику", модули ставил через cpan, один хрен - скрипт падает.
К сожалению, на винду не пробовал все это ставить, но раз уж вы поставили перловый вариант и разобрались с cpan, до победы должно быть не далеко
А что за ошибка-то, кстати?
Last edited by gryphon (2017-02-07 21:31:53)
Offline
#3963 2017-02-08 09:13:19
- White_54
- Member

- From: 101 километр
- Registered: 2014-07-16
- Posts: 835
Re: Конвертер OSM -> MP
В том то и дело, что перловый вариант конфиги берет, но падает дальше, а екзешник - тоже вроде берет, но ругается на ошибку в конфиге. Вот я и поинтересовался.
Пробовал и актив перл последний, там через ppm модули ставятся, и "землянику", модули ставил через cpan, один хрен - скрипт падает.
Помнится, давно это было - в том файле конфигурации на который ругается Perl удалил последнюю пустую строчку. И заработало.
Что до последней версии, то то может поэкспериментируем:
- Вот архив с Perl64
- Вот файл с описанием путей
Папку Perl64 изъять из архива и поместить в корень диска C:\
Открыть свойства компьютера (Система), зайти в дополнительные параметры системы, раздел дополнительно "переменные среды", в разделе системные переменные - дополняем Path теми путями что указаны в файле описания путей.
Может быть надо будет перегрузить компьютер.
Перл установлен методом простого копирования и должен работать.
P.S. только если есть понимание того что делаете. Все делаете на свой страх и риск. Которого практически нет.
Offline
#3964 2017-02-08 09:30:36
- White_54
- Member

- From: 101 километр
- Registered: 2014-07-16
- Posts: 835
Re: Конвертер OSM -> MP
Проверил, работает без проблем на современных перлах
ХАУ-ТУ
Подходит время, заканчивается активность по Ubuntu 12.04. Руки противятся переустановке актуальной версии. Она потянет за собой другой Perl. Припоминаю, что ряд нужных модулей не смог установить. Они конечно устанавливались, но были более свежие и Perl отказывался работать. Пришлось ставить более древнюю систему ради старого Perl со старыми модулями. Какие то модули пришлось ставить вручную. Словом как то помучился, воспоминания не радужные. Хоть и повторил процедуру пару раз. Тут конечно сыграло роль ограниченные знания Linux и Perl.
Уже обдумываю как буду это делать. Жаль что на Ubuntu нельзя просто перенести Perl, как в случае с Windows системой.
Offline
#3965 2017-02-08 10:54:48
- KonTur
- Member

- From: SPB
- Registered: 2010-03-10
- Posts: 1,662
Re: Конвертер OSM -> MP
Папку Perl64 изъять из архива и поместить в корень диска C:\
Спасибо, попробую как время будет.
Offline
#3966 2017-02-11 11:34:08
- Kostik
- Member

- From: Moscow
- Registered: 2011-01-02
- Posts: 2,114
Re: Конвертер OSM -> MP
Что до последней версии, то то может поэкспериментируем:
- Вот архив с Perl64
Проверил у себя архив вместо своего перла версии 5.16.3, у тебя версия 5.14.3, у меня такого дистрибутива нет.
Пути все прописаны в переменных среды. Но у тебя в архиве не хватает как минимум:
Can't locate match/smart.pm
Can't locate match/simple.pm
Can't locate Config/YAML.pm
поле того как выполнил из командной строки ppm и установил эти пакеты osm2mp.pl запустился.
PS: Пробовал собрать рабочий комплект с последним дистрибутивом с сайта ActivePerl-5.24.1.2402-MSWin32-x64-401627.exe, но там половины нужных пакетов нет.
Last edited by Kostik (2017-02-11 12:02:27)
Offline
#3967 2017-02-14 08:26:25
- KonTur
- Member

- From: SPB
- Registered: 2010-03-10
- Posts: 1,662
Re: Конвертер OSM -> MP
osm2mp.pl запустился.
А какой именно версии? У меня последний так и не хочет работать, все какие-то отсутствующие модули хочет.
Offline
#3968 2017-02-14 09:56:45
- Kostik
- Member

- From: Moscow
- Registered: 2011-01-02
- Posts: 2,114
Re: Конвертер OSM -> MP
А какой именно версии?
Последний доступный. match-smart, match-simple, Config-YAML через ppm устанавливались?
PS: Если не запускается то обычно пишет какого модуля не хватает.
Last edited by Kostik (2017-02-14 09:57:35)
Offline
#3969 2017-02-14 10:02:55
- KonTur
- Member

- From: SPB
- Registered: 2010-03-10
- Posts: 1,662
Re: Конвертер OSM -> MP
Последний доступный
Последний доступный ругается на osm.pm, хотя его нашел и положил аж в две папки lib.
Offline
#3970 2017-02-14 10:16:23
- borism346
- Member

- From: Minsk
- Registered: 2008-11-12
- Posts: 911
Re: Конвертер OSM -> MP
У меня OSM.pm лежит рядом с конвертером.
Offline
#3971 2017-02-14 11:21:05
- KonTur
- Member

- From: SPB
- Registered: 2010-03-10
- Posts: 1,662
Re: Конвертер OSM -> MP
Перл установлен методом простого копирования и должен работать.
я наверное совсем лузер.
Скачал архив, распаковал, пути прописал, перегрузился. Скачал последний osm2mp.pl
Запускаю
perl -S osm2mp.pl --config=cfg-cityguide\cityguide.yml --mapid="RU-KR (OSM)" --mapname="RU-KR (OSM)" --navitel --nointerchange3d --nomarine --nodestsigns --shorelines --hugesea=1000000 --background --bpoly=D:\OSM2MP\poly\RU-KR.poly --transport car d:\osm2mp\osm\RU-KR.osm >d:\osm2mp\mp\RU-KR.mpСначала ругался на отсутствие osm.pm - нашел, с помощью Бориса положил в нужное место. Потом ругался на отсутствие osmDB.pm - нашел, положил. Теперь ругается на bzip2.pm.
Хрень полная.
Offline
#3972 2017-02-14 12:11:44
- KonTur
- Member

- From: SPB
- Registered: 2010-03-10
- Posts: 1,662
Re: Конвертер OSM -> MP
Нашел у Zkir'a какую-то предыдущею версию, 0.9b, она запускается, начинает что-то делать, потом падает:
---| OSM -> MP converter 0.90b (c) 2008-2010 liosha, xliosha@gmail.com
Loading configuration... Ok
Processing file d:\osm2mp\osm\RU-KR.osm
Initialising bounds... 207 segments
Loading nodes... 7683950 loaded
Loading relations... 49725 multipolygons
186 turn restrictions
5 transport routes
321 numbered roads
5 streets
Loading necessary ways... Can't use string ("63.9545479") as an ARRAY ref while "strict refs" in use at C:/Perl64/site/lib/Math/Polygon/Tree.pm line 366, <IN> line 19325324.Offline
#3973 2017-02-14 13:55:37
- Kostik
- Member

- From: Moscow
- Registered: 2011-01-02
- Posts: 2,114
Re: Конвертер OSM -> MP
Старая и новая версии не совместимы по конфигам.
Offline
#3974 2017-02-14 15:18:30
- KonTur
- Member

- From: SPB
- Registered: 2010-03-10
- Posts: 1,662
Re: Конвертер OSM -> MP
Старая и новая версии не совместимы по конфигам.
Супер. Я, собственно, пытаюсь запустить то, что нашел у ZKir'a - а там вроде как версия конвертера с конфигами совместима.
Хорошо, тогда так: кто может помочь и выложить рабочий вариант (перл вместе с конвертером) для windows 64 битной?
Конфиги я потом буду править постепенно.
Заранее спасибо.
Offline
#3975 2017-02-14 17:31:26
- White_54
- Member

- From: 101 километр
- Registered: 2014-07-16
- Posts: 835
Re: Конвертер OSM -> MP
White_54 wrote:Вот архив с Perl64
Проверил у себя, у тебя в архиве не хватает как минимум:
Can't locate match/smart.pm
Can't locate match/simple.pm
Can't locate Config/YAML.pm
Странно?! У меня Работает. На досуге попробую разобраться.
Last edited by White_54 (2017-02-14 17:32:02)
Offline