You are not logged in.

#4076 2017-03-26 17:29:45

gryphon
Member
From: Pskov
Registered: 2010-09-16
Posts: 1,661

Re: Конвертер OSM -> MP

Kostik wrote:

всё же в конце вылазит эта ошибка


Поправил. Но, думаю, это еще не все, и где-нибудь снова всплывет.

Offline

#4077 2017-03-26 23:17:37

Kostik
Member
From: Moscow
Registered: 2011-01-02
Posts: 1,987
Website

Re: Конвертер OSM -> MP

akks wrote:

lioshe спасибо, что конфиг pp-opts  написал для osm2mp написал 
Если у вас экзешники глючить не будут - выложим на вики.

Привет. Подскажи как getbound собрать? osm2mp64.exe собрался и работает, а с getbound`ом засада, собирается, но не работает:

No clipper class available at Math/Polygon/Tree.pm line 35.
BEGIN failed--compilation aborted at Math/Polygon/Tree.pm line 35.
Compilation failed in require at script/getbound.pl line 31.
BEGIN failed--compilation aborted at script/getbound.pl line 31.

PS: Пробовал без параметров собирать, пробовал по аналогии файл pp-opts создавать, результат тот же

PPS: Нашёл недостающее звено smile Math::Geometry::Planar::GPC::PolygonXS

-I lib

-M Carp
-M Log::Any
-M Log::Any::Adapter
-M FindBin

-M App::OsmGetbound::OsmApiClient
-M App::OsmGetbound::OsmData
-M App::OsmGetbound::RelAlias
-M App::OsmGetbound::WriterPoly
-M App::OsmGetbound::WriterShp

-M Math::Polygon
-M Math::Polygon::Tree

-M Getopt::Long
-M List::Util
-M List::MoreUtils
-M File::Slurp

-M YAML

-M Math::Clipper
-M Math::Geometry::Planar::GPC::PolygonXS

Рано обрадовался:

C:\osm2mp>getbound 60189 -o Russia.poly -onering
Bad subroutine name for autodie: read at App/OsmGetbound/WriterPoly.pm line 10.
BEGIN failed--compilation aborted at App/OsmGetbound/WriterPoly.pm line 10.
Compilation failed in require at (eval 455) line 1.

Last edited by Kostik (2017-03-27 14:22:11)

Offline

#4078 2017-03-27 14:48:43

Kostik
Member
From: Moscow
Registered: 2011-01-02
Posts: 1,987
Website

Re: Конвертер OSM -> MP

Собрался getbound и вроде как всё работает даже, вот такой файл зависимостей в итоге вышел:

-I lib

-M Carp
-M Log::Any
-M Log::Any::Adapter
-M FindBin

-M strict
-M warnings
-M autodie
-M utf8
-M Encode

-M LWP::UserAgent

-M Geo::Openstreetmap::Parser
-M Geo::Shapefile::Writer

-M App::OsmGetbound::OsmApiClient
-M App::OsmGetbound::OsmData
-M App::OsmGetbound::RelAlias
-M App::OsmGetbound::WriterPoly
-M App::OsmGetbound::WriterShp

-M Math::Polygon
-M Math::Polygon::Tree

-M Getopt::Long
-M List::Util
-M List::MoreUtils
-M File::Slurp

-M YAML

-M Math::Clipper
-M Math::Geometry::Planar::GPC::PolygonXS

PS: Geo-Shapefile-Writer тока не встал, пришлось руками подкинуть в папку lib, собирал на Strawberry Perl 5.16.3 x64.

//hint// to see the cpan-testers results for installing this module, try:
  reports LIOSHA/Geo-Shapefile-Writer-0.006.tar.gz
Running make install
  make test had returned bad status, won't install without force
Stopping: 'install' failed for 'L/LI/LIOSHA/Geo-Shapefile-Writer-0.006.tar.gz'.

На базе Perl 5.16 На базе Perl 5.24

Last edited by Kostik (2017-03-30 13:55:45)

Offline

#4079 2017-04-25 16:27:28

KonTur
Member
From: SPB
Registered: 2010-03-10
Posts: 1,471

Re: Конвертер OSM -> MP

Подскажите пожалуйста, кто знает - вот в конфиге вижу что можно вставить кусок кода на перле.
А вопрос такой - в этом куске можно как в самом скрипте функции задавать или можно пользоваться только уже заданными функциями?
Сам скрипт изменить не могу - у меня работает только компилированный вариант.

Online

#4080 2017-04-26 07:17:21

Kostik
Member
From: Moscow
Registered: 2011-01-02
Posts: 1,987
Website

Re: Конвертер OSM -> MP

KonTur wrote:

вот в конфиге вижу что можно вставить кусок кода на перле.

Насколько я знаю там YAML язык разметки используется. Сам бы хотел где то найти толковое описание применительно к osm2mp. А то всё больше методом тыка. smile

Offline

#4081 2017-04-26 09:03:52

KonTur
Member
From: SPB
Registered: 2010-03-10
Posts: 1,471

Re: Конвертер OSM -> MP

Kostik wrote:

Сам бы хотел где то найти толковое описание применительно к osm2mp. А то всё больше методом тыка.

Аналогично sad А уж отсутствие навыков программирования вообще вселяет уныние.

Вот например, второй день никак не могу найти/сообразить, как в condition задать проверку условия наличия в значении тега символа #...
Т.е. если в building:colour цвет задан в HEX, начинающийся с # - то сделать определенной действие.
Перепробовал кучу вариантов - все без толку...

Online

#4082 2017-04-28 07:06:14

KonTur
Member
From: SPB
Registered: 2010-03-10
Posts: 1,471

Re: Конвертер OSM -> MP

White_54 wrote:

Как известно "old_name" может быть представлен "old_name:ru"|"old_name:uk"|... Как описать тег так, что бы выбирался исключительно и только собственно "old_name", без конкретизации языка.
Пробовал разные варианты. Не получается. Как то надо ограничить поиск до ":"?!
oldname:        [ \bold_name\b ]
oldname:        [ ^old_name$ ]
oldname:         \b[ old_name ]\b и т.д.

Я кажется столкнулся с такой же проблемой. Похоже это баг конвертера.

Если в конфиге стоит так:
label:          [ name, loc_name, brand, operator, place_name ]
то конвертер вытягивает названия только из name.

Если сделать так:
label:          [ name:en, name, loc_name, brand, operator, place_name ]

то конвертер начинает вытягивать названия из любого name:*, что первое попадется.
Например, на объекте нет name:en, зато есть name:ru - в .mp мы имеем название на русском, благополучно транслитированное в латиницу.

Online

#4083 2017-04-28 07:34:17

borism346
Member
From: Minsk
Registered: 2008-11-12
Posts: 886

Re: Конвертер OSM -> MP

Вот, как-то с Лешей общался, может, что полезное найдешь:

boris, 21.03.17 15:08:06:
Привет. Решил еще раз глянуть логику работы конвертера с разными языками. Если стоит только target-lang=ru и default-lang=, вроде бы сначала ищется ru, потом пробует перевести, затем en и коль ничего не получилось - транслитерация. А вот если поставить --namelist label=name:ru,name,name:en, то там, где был русский в названии улицы появляется транслитерация (в адресе остается русский). Если поставить так --namelist label=name,name:ru,name:en, то в названии опять русский. Если в таком порядке --namelist label=name,name:en,name:ru, тоже русский. Ну и если так --namelist label=name:en,name:ru,name, то будет на английском. Да, в исходном названии улицы присутствуют и русский и английский. На домах есть только name и оно на русском. Во всех вариантах там транслитерация.

boris, 15:08:39:
Это такое в Южной Осетии :-)

liosha, 15:09:54:
привет. всё правильно: ты говоришь, что название надо искать в name:ru, значит, другие языки он ищет в name:ru:ru

boris, 15:11:04:
Во как... То бишь попросить искать в чистом name не получится.

liosha, 15:11:23:
не надо использовать namelist

boris, 15:12:29:
А как сделать, если нет name:ru, то брать name?

liosha, 15:13:12:
default-lang=ru

boris, 15:14:56:
Да, но в названии улицы name не на русском, но есть name:ru.

liosha, 15:15:39:
ну да, сначала посмотрит name:ru, потом name

boris, 15:16:05:
Ща гляну, что получится.

boris, 15:20:31:
Действительно, так все сработало :-). Спасибо.

boris, 15:23:51:
А вообще сейчас namelist-ом что-то интересное можно достать?

liosha, 15:24:08:
не думаю

boris, 15:24:20:
Ясно, спасибо.

liosha, 15:24:26:
по идее он для old_name вместо name

Last edited by borism346 (2017-04-28 07:35:19)

Offline

#4084 2017-04-28 08:16:03

KonTur
Member
From: SPB
Registered: 2010-03-10
Posts: 1,471

Re: Конвертер OSM -> MP

а namelist - это то, что в конфиге label: ?

Online

#4085 2017-04-28 08:26:00

borism346
Member
From: Minsk
Registered: 2008-11-12
Posts: 886

Re: Конвертер OSM -> MP

Это в .bat файле.

Offline

#4086 2017-04-28 09:06:24

KonTur
Member
From: SPB
Registered: 2010-03-10
Posts: 1,471

Re: Конвертер OSM -> MP

У меня немного другая ситуация, я в батнике в параметрах запуска не использую namelist.

Online

#4087 2017-04-28 09:09:38

borism346
Member
From: Minsk
Registered: 2008-11-12
Posts: 886

Re: Конвертер OSM -> MP

Так Леша и сказал, что сейчас от namelist толку немного. Я это привел больше по поводу того, как name выковыривается.

Offline

#4088 2017-04-28 09:14:55

KonTur
Member
From: SPB
Registered: 2010-03-10
Posts: 1,471

Re: Конвертер OSM -> MP

Все равно как-то неправильно. Если мне нужна строгая последовательность выковыривания name и карта у меня делается на иностранном языке с транслитерацией, то мне уже ничего не поможет, name:ru все равно будет вытаскиваться там, где не надо...
Ладно. буду иметь ввиду.
Спасибо за информацию.

Online

#4089 2017-04-29 05:24:49

White_54
Member
From: 101 километр
Registered: 2014-07-16
Posts: 570

Re: Конвертер OSM -> MP

Обновленная версия конвертера с "github" порадовала простотой установки в Linux подобных системах. Позволила перейти на более современную ОС_ь. Установка модулей в Ubuntu 16.04 не напрягает - http://wiki.openstreetmap.org/wiki/RU:Osm2mp. Пришлось до установить 2-3 доп. модуля и всё заработало.
Однако не обошлось без отрицательных эмоций. Крайняя версия конвертера заметно больше требует ресурсов - оперативной памяти в первую очередь. Обработка значительно растянулась по времени. Что бы особенно как то добавилось информации в конечном формате, или что бы разрешились какие то процедурные проблемы не заметил.

1. Это только на слабых ПК бросается в глаза или и на мощных железках отмечается подобное?
Так и подрезает вернуть "старый" добрый вариант с Googl. Но он наверное потребует установки старых модулей Perl?! А главное не понятно - может всё же что то стало работать правильнее. Может ушли в небытие какие то ошибки?

2. И вот интересно - https://github.com/liosha/osm2mp/ - не такая уже и новая версия = 2 года давности?!
Хотя согласно http://wiki.openstreetmap.org/wiki/RU:Osm2mp протестировано на Ubuntu 16.04.
Архив при этом закачался с датой основных файлов от 12 апреля этого года?! Что это? Особенность копирования на Linux подобных системах? Или действительно последние корректировки проведены 12 апреля?

Offline

#4090 2017-04-29 05:53:28

borism346
Member
From: Minsk
Registered: 2008-11-12
Posts: 886

Re: Конвертер OSM -> MP

Там от 12 апреля только файл README smile.

Offline

#4091 2017-04-29 08:40:33

gryphon
Member
From: Pskov
Registered: 2010-09-16
Posts: 1,661

Re: Конвертер OSM -> MP

White_54 wrote:

Установка модулей в Ubuntu 16.04 не напрягает - http://wiki.openstreetmap.org/wiki/RU:Osm2mp. Пришлось до установить 2-3 доп. модуля и всё заработало.

Инструкция позволяет запустить osm2mp в простейшем варианте с настройками по-умолчанию. Если для каких-то режимов могут потребоваться дополнительные модули, хорошо бы добавить это на вики (в раздел "необязательные библиотеки", например).

White_54 wrote:

Крайняя версия конвертера заметно больше требует ресурсов - оперативной памяти в первую очередь. Обработка значительно растянулась по времени. Что бы особенно как то добавилось информации в конечном формате, или что бы разрешились какие то процедурные проблемы не заметил.

Странно. Каких-то больших изменений по сравнению с версией на гуглокоде не было. Если железо/конфиги/размеры исходных файлов те же, то остается только валить все на перл.


White_54 wrote:

Архив при этом закачался с датой основных файлов от 12 апреля этого года?! Что это? Особенность копирования на Linux подобных системах? Или действительно последние корректировки проведены 12 апреля?

Смотрите историю изменений (commits), это будет нагляднее. То, что относится к гуглокоду, заканчивается 13-м годом

Offline

#4092 2017-05-03 13:52:57

KonTur
Member
From: SPB
Registered: 2010-03-10
Posts: 1,471

Re: Конвертер OSM -> MP

Подскажите пожалуйста, в каких случаях океан получается не вокруг острова, а внутри его? smile
Что-то у меня не выходят Канарские острова, хотя Крит вполне правильно получается.
Заранее спасибо.

Online

#4093 2017-05-03 18:18:51

Kostik
Member
From: Moscow
Registered: 2011-01-02
Posts: 1,987
Website

Re: Конвертер OSM -> MP

KonTur wrote:

в каких случаях океан получается не вокруг острова, а внутри его?

Честно ни разу не видел внутри. smile А так для принудительного окружения водой тег --water-back

Offline

#4094 2017-05-03 18:42:33

gryphon
Member
From: Pskov
Registered: 2010-09-16
Posts: 1,661

Re: Конвертер OSM -> MP

иногда бывают битые дампы, попробуйте открыть JOSM-мом исходый файлик и проверить цеостность костлайнов

Offline

#4095 2017-05-03 18:44:57

KonTur
Member
From: SPB
Registered: 2010-03-10
Posts: 1,471

Re: Конвертер OSM -> MP

--waterback я использую. Но вот результат не очень
https://www.dropbox.com/s/342wh33zrwktv … 9.jpg?dl=0
https://www.dropbox.com/s/fp7hg2kdyj58f … 9.jpg?dl=0

Last edited by KonTur (2017-05-03 18:52:40)

Online

#4096 2017-05-03 18:53:51

KonTur
Member
From: SPB
Registered: 2010-03-10
Posts: 1,471

Re: Конвертер OSM -> MP

gryphon wrote:

проверить цеостность костлайнов

Попробую. Но валидатор коастлайна никаких проблем не показывает.

Online

#4097 2017-06-14 18:44:08

White_54
Member
From: 101 километр
Registered: 2014-07-16
Posts: 570

Re: Конвертер OSM -> MP

Что то странное пошло в июне с Яндекс переводчиком. Сначала стал ругаться на JSON. До этого этой проблемы не было. Доустановил через CPAN. А как оно до этого работало?! Вроде пошло без ругани. Но нет:

yatr: failed request en-ru for 384870 at /.../lib/LangTransform/YaTranslate.pm line 109.
...
Wide character in warn at /.../lib/LangTransform/YaTranslate.pm line 109.
yatr: failed request en-ru for 2А at /.../LangTransform/YaTranslate.pm line 109.

Что бы это значило:

malformed JSON string, neither tag, array, object, number, string or atom, at character offset 0 (before "(end of string)") at /.../lib/LangTransform/YaTranslate.pm line 68.
No transformer id=yatr_en_ru found at /usr/share/perl/5.22/Getopt/Long.pm line 600.
No transformer id=yatr_ka_ru found at /usr/share/perl/5.22/Getopt/Long.pm line 600.

Last edited by White_54 (2017-06-14 18:58:47)

Offline

#4098 2017-06-15 06:05:59

White_54
Member
From: 101 километр
Registered: 2014-07-16
Posts: 570

Re: Конвертер OSM -> MP

gryphon wrote:

Странно. Каких-то больших изменений по сравнению с версией на гуглокоде не было. Если железо/конфиги/размеры исходных файлов те же, то остается только валить все на перл.

Хронология такова, ещё до смены системы (соответственно и Perl) переход на более свежие конфиги отметился ростом времени обработки данных. Переход потребовал доустановки модулей. Ничего не меняя вернулся на прежний вариант. А вот уже со сменой системы пробую, на сколько позволяет время, возврат к гугл конфигам.
Есть "perlbrew". Пробовал параллельно поставить Perl-5.14.4. Пока не смог развести два разных Perl на независимые рельса. Так что проверить ещё раз не получается. Сейчас главное с "yatr" разобраться. Думал "perlbrew"ом навредил, ан нет - переустановка системы не помогла.

Offline

#4099 2017-06-15 20:57:42

White_54
Member
From: 101 километр
Registered: 2014-07-16
Posts: 570

Re: Конвертер OSM -> MP

gryphon wrote:

Инструкция позволяет запустить osm2mp в простейшем варианте с настройками по-умолчанию. Если для каких-то режимов могут потребоваться дополнительные модули, хорошо бы добавить это на вики (в раздел "необязательные библиотеки", например).

Что то клин какой то: Linux Mint 18.1 (т.е. Ubuntu 16.04). Ставил по инструкции. Не хватило модулей, доставил. Все заработало. Выпустил набор  Украины и по мелочам для пробы с переводом на Русский.
Две недели пауза:

$ perl osm2mp/osm2mp.pl --config=osm2mp/cfg-navitel/navitel-ab.cfg --bpoly=MAPS/AB/POLY/AB-1.poly --lt-yatr-key @me.key --lt-priority yatr_en_ru=4 --lt-priority yatr_ka_ru=3 --lt-yatr-cache-dir osm2mp/cachedir --default-country=AB --default-region="Гагрский район" --mapname="Абхазия Гагрский район" --output=MAPS/AB/MP/AB-1.mp MAPS/AB/OSM/AB-1.osm

  ---|   OSM -> MP converter  1.03   (c) 2008-2013 liosha, xliosha@gmail.com

Loading configuration...
malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at /home/alvi/7W/osm2mp/lib/LangTransform/YaTranslate.pm line 68.
No transformer id=yatr_en_ru found at /usr/share/perl/5.22/Getopt/Long.pm line 600.
No transformer id=yatr_ka_ru found at /usr/share/perl/5.22/Getopt/Long.pm line 600.

Loading OSM data from file MAPS/AB/OSM/AB-1.osm...

Пробовал сборки:
https://github.com/cheshire-mouse/osm2mp
https://github.com/liosha/osm2mp/
разницы нет. Перевода с Яндекса нет. Переводит из ранее созданной базы  --lt-yatr-cache-dir ! Ключ активен. Систему переустановил. Не помогает. Как будто был мираж нормальной работы. Мысли закончились. Переписку выше прочитал. Все работает. Затык с Яндекс переводом.
Может я в прочитанном что то не уловил? Похожее там было - https://forum.openstreetmap.org/viewtop … 29#p638429

Offline

#4100 2017-06-16 10:51:11

White_54
Member
From: 101 километр
Registered: 2014-07-16
Posts: 570

Re: Конвертер OSM -> MP

Бред. В очередной переставил систему. Модули решил поставить под рут. Всё прекрасно работает, но перевод... Может на Яндексе что творится?!
Изменил некоторые написания, бац прошло без тревоги:

$ perl osm2mp/osm2mp.pl --config=osm2mp/cfg-navitel/navitel-ab.cfg --bpoly=MAPS/AB/POLY/AB-1.poly --target-lang=ru --default-lang=en --default-country=AB --default-region="Гагрский район" --mapname="Абхазия Гагрский район" --output=MAPS/AB/MP/AB-1.mp --lt-yatr-key=@me.key --lt-yatr-cache-dir=osm2mp/cachedir MAPS/AB/OSM/AB-1.osm

  ---|   OSM -> MP converter  1.03   (c) 2008-2013 liosha, xliosha@gmail.com

Loading configuration...

Loading OSM data from file MAPS/AB/OSM/AB-1.osm...

Initialising bounds from file MAPS/AB/POLY/AB-1.poly...

Что называется найдите хотя бы одно отличие. Тут ;е перезапускаю JSON уже ругается типа на пустую строку:

$ perl osm2mp/osm2mp.pl --config=osm2mp/cfg-navitel/navitel-ab.cfg --bpoly=MAPS/AB/POLY/AB-1.poly --target-lang=ru --default-lang=en --default-country=AB --default-region="Гагрский район" --mapname="Абхазия Гагрский район" --output=MAPS/AB/MP/AB-1.mp --lt-yatr-key=@me.key --lt-yatr-cache-dir=osm2mp/cachedir MAPS/AB/OSM/AB-1.osm

  ---|   OSM -> MP converter  1.03   (c) 2008-2013 liosha, xliosha@gmail.com

Loading configuration...
malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "(end of string)") at /home/alvi/7W/osm2mp/lib/LangTransform/YaTranslate.pm line 68.

Loading OSM data from file MAPS/AB/OSM/AB-1.osm...

Бред. И почему я не учил программирование.

Offline

Board footer

Powered by FluxBB