OpenStreetMap Forum

The Free Wiki World Map

You are not logged in.

Announcement

A fix has been applied to the login system for the forums - if you have trouble logging in please contact support@openstreetmap.org with both your forum username and your OpenStreetMap username so we can make sure your accounts are properly linked.

#3976 2017-02-14 18:09:11

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

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

KonTur wrote:

запустить то, что нашел у ZKir'a

Насколько я помню Zkir старой версией пользовался, на новую не стал переходить.

White_54 wrote:

Странно?! У меня Работает.

Твою папку вместо своей подложил и запустил osm2mp, правда у меня osm2mp самая последняя что есть на данный момент. Там немного пакеты окружения отличаются.

PS: Кстати getbound последний тоже отличается требованиями к пакетам, а из новинок тока немецкий прокси вижу.

Last edited by Kostik (2017-02-14 18:24:49)

Offline

#3977 2017-02-14 18:24:19

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

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

Kostik wrote:
White_54 wrote:

Странно?! У меня Работает.

Твою папку вместо твоей подложил и запустил osm2mp, правда у меня osm2mp самая последняя что есть на данный момент. Там немного пакеты окружения отличаются.

PS: Кстати getbound последний тоже отличается требованиями к пакетам, а из новинок тока немецкий прокси вижу.

У меня дополнительно к конфигам в osm2mp лежат - https://yadi.sk/d/l-6wNzxF3E5i2C
Давно не сличал. Хотя стоит TortoiseSVN и показывает свежак?!

Offline

#3978 2017-02-14 18:26:39

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

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

White_54 wrote:

показывает свежак

Раньше репозиторий был на Google, а с некоторых пор переехал на github.

Offline

#3979 2017-02-15 06:01:17

G_A_V
Member
Registered: 2013-07-05
Posts: 4

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

KonTur wrote:

Нашел у Zkir'a какую-то предыдущею версию, 0.9b, она запускается, начинает что-то делать, потом падает:

  ---|   OSM -> MP converter  0.90b   (c) 2008-2010  liosha, xliosha@gmail.com

[skipped]

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.

Это давняя проблема. В смысле, современный Math::Polygon и/или Math::Polygon::Tree глючные, нужны давние  - 1.01 и 0.041 соответственно. Ранее пробегала ссылка на весь нужный Math.

Offline

#3980 2017-02-15 06:26:54

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

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

Kostik wrote:
White_54 wrote:

показывает свежак

Раньше репозиторий был на Google, а с некоторых пор переехал на github.

К вопросу. Ну скрипты, конфиги понятное дело, формируют собственно идеологию конвертации. Что, в каком виде, с какими характеристиками...
А вод версия Perl, доп библиотеки (или как их там назвать) наверное главное что бы работало? Если уж работает, то работает? Или Perl, getbound, доп. библиотеки  могут оказывать влияние на выходной материал?
Т.е. могут ли быть различия в итоговых *.mp форматах при конвертации разными версиями Perl, библиотек...?

Offline

#3981 2017-02-15 07:05:46

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

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

G_A_V wrote:

современный Math::Polygon и/или Math::Polygon::Tree глючные, нужны давние  - 1.01 и 0.041 соответственно.

Спасибо, скачал - вроде работает.
буду дальше разбираться.

Offline

#3982 2017-02-15 07:29:46

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

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

Не было печали. Вроде всё работает. Но в свете выше прочитанного сравнил свою версию osm2mp.pl с т.н. "свежей". Обе версии:

our $VERSION = '1.03' . do { my ($r) = '$Rev: 777 $' =~ /(\d+)/xms; $r ? "-$r" : q{} };
our $VERSION = '1.03' . do { my ($r) = '$Rev$' =~ /(\d+)/xms; $r ? "-$r" : q{} }; - "свежая"

Но главное отличие в наличии (отсутствии) match::smart; (есть в свежей, нет в моей):

use match::smart;

use Math::Polygon;
use Math::Polygon::Tree  0.068  qw{ :all };
use Tree::R;

Спрашивается: какая версия актуальнее - "свежая" или "моя"? Если у меня работает без 'use match::smart', то и на кой она нужна?
Может это отвечает за перевод которым я не пользуюсь? Или пользуюсь, но не получаю должного результата?

Last edited by White_54 (2017-02-15 07:31:29)

Offline

#3983 2017-02-15 07:35:56

freeExec
Moderator
From: Ульяновск
Registered: 2012-07-31
Posts: 6,537

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

White_54 wrote:

Но в свете выше прочитанного сравнил свою версию osm2mp.pl с т.н. "свежей".

В Вашей просто ревизия проставлена жёстко, а не из параметра берётся.

Offline

#3984 2017-02-15 15:57:03

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

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

freeExec wrote:

В Вашей просто ревизия проставлена жёстко, а не из параметра берётся.

Это интуитивно понятно. Почему в моей версии нет "use match::smart;"? Как это сказывается на конечном результате?
Или такие отличия:

my ($in, $stream_msg) = $infile eq '-'
my ($in, $stream_msg) = $infile ~~ '-'

return if !( $tags->{route} |M| 'road' );
return if !( $tags->{route} ~~ 'road' );

my $r2 = $list[0];
                report( "WayID=$r2 is merged into WayID=$r1", 'FIX' );
my $r2 = $list[0];
                строка отсутствует вовсе

Offline

#3985 2017-02-15 20:48:26

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

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

KonTur wrote:
White_54 wrote:

Папку Perl64 изъять из архива и поместить в корень диска C:\

Спасибо, попробую как время будет.

Отрицательный результат, то же результат.
Сборка, которую я предложил отличается от требований "свежей" версии osm2mp.
Дополнительно необходимы модули "match::smart" в самом скрипте и где то там в одном из конфигов "match::simple". Подгрузил - заработало. Без них актуальные версии osm2mp .pl и getbound.pl работать не будут. Не нашел для чего и до кучи поставил "Config::YAML" в надежде что прибавит скорости обработки.
Пока на Linux системе. Если проблема остаётся, то в течении пары дней думаю обновиться на Windows "Perl64", при положительном результате обновлю и архив.

Offline

#3986 2017-02-16 09:36:11

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

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

Добавил в Perl64 модули "match-smart"; "match-simple"; "Config-YAML" без затруднений через ppm. Заменил osm2mp и getbound на свежие.  getbound - отработал, а вот osm2mp выдал неожиданную ошибку:

Bareword "M" not allowed while "strict subs" in use at osm2mp.pl line 367.
BEGIN not safe after errors--compilation aborted at osm2mp.pl line 1368.

Куда копать не знаю. Какие будут советы, замечания предложения?

Bareword "M" not allowed while "strict subs" in use at mp-postprocess.pl line 89.
Bareword "M" not allowed while "strict subs" in use at mp-postprocess.pl line 94.
Bareword "M" not allowed while "strict subs" in use at mp-postprocess.pl line 99.
Bareword "M" not allowed while "strict subs" in use at mp-postprocess.pl line 99.
BEGIN not safe after errors--compilation aborted at mp-postprocess.pl line 180.

Под Linux этой проблемы нет. Вторично перепроверил и установил пакет osm2mp. Как же не хватает познаний в программировании.

Last edited by White_54 (2017-02-16 10:11:48)

Offline

#3987 2017-02-16 13:46:35

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

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

Странно, что никто не имеет предложить решение проблемы.
Пока сообщество думает заменил все |M| на ~~, во всех файлах пакета, пример:

elsif ( %street_tag && $role |M| 'street' ) {
elsif ( %street tag && $role ~~ 'street' ) {

Всё работает. Не знаю на сколько этот вариант ущербнее. Начинаю сомневаться - может мой вариант был свежее, обходящий такого рода проблемы?!
Perl64 (вариант 2) для "свежей" версии osm2mp - https://yadi.sk/d/BI7VIViH3EA9Rw - распаковать в корень диска C:\
osm2mp (вариант 2) "свежий" правленый - https://yadi.sk/d/xrGkZ_Ib3EA9Rj
Текстовый файл для настройки путями - https://yadi.sk/i/WIMgDcvc3DTyfu

Может кто то протестирует. Или более того найдет занозу.

Offline

#3988 2017-02-17 07:33:39

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

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

Поставил python 3.6 для windows. При запуске

python getbrokenrelations.py < in.osm >out.osm

выдается такая ошибка:

  File "getbrokenrelations.py", line 95
    print f.read()
          ^
SyntaxError: invalid syntax

Что можно сделать?

Offline

#3989 2017-02-17 09:01:21

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

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

KonTur wrote:

Поставил python 3.6 для windows. При запуске ошибка. Что можно сделать?

Попробуйте Python 2.7. Я допустил такую же ошибку в своё время. Спасибо подсказали, что скрипт был сделан под Python 2.

Offline

#3990 2017-02-17 10:40:00

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

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

White_54 wrote:

Попробуйте Python 2.7.

Спасибо. Не думал что это так критично.

Offline

#3991 2017-02-17 10:43:31

pfg21
Member
From: Чебоксары
Registered: 2012-10-18
Posts: 2,359

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

третий питон по синтаксису сильно изменен относительно второго, есть даже конверторы из 2го в 3ий smile

Offline

#3992 2017-02-17 11:16:35

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

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

pfg21 wrote:

третий питон по синтаксису сильно изменен относительно второго

Да, я почитал там у них. С 2.7 все заработало.

Offline

#3993 2017-02-17 11:21:52

chnav
Member
From: Moscow, Russia
Registered: 2010-03-18
Posts: 2,630

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

KonTur
White_54

Ребята, не смейтесь, на свой сервак поставил... Windows 10. У него есть WSL, читай Ubuntu 12.04 из коробки. Все инструкции из нашей вики, касающиеся Ubuntu, работают 1:1, нулевой оверлоад по сравнению с портированными программами и тем более виртуальными машинами. Цена вопроса 1 Гб на диске.

Last edited by chnav (2017-02-17 11:23:26)

Offline

#3994 2017-02-17 11:29:10

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

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

chnav wrote:

Windows 10

Чтобы поставить Windows10 - надо ее купить. Мне своих денег жалко (компьютер конторский).
Как будет возможность - попробую.

Offline

#3995 2017-02-17 11:48:16

pfg21
Member
From: Чебоксары
Registered: 2012-10-18
Posts: 2,359

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

поставь virtualbox, прекрасный виртуальник, даже без сильных потерь в мощности.

Offline

#3996 2017-02-17 11:53:09

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

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

pfg21 wrote:

поставь virtualbox

Зачем? Пока под виндой все потихоньку налаживается.
Да и не хочется в юниксы влезать...

Offline

#3997 2017-02-17 12:15:27

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

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

KonTur wrote:
pfg21 wrote:

поставь virtualbox

Зачем? Пока под виндой все потихоньку налаживается.
Да и не хочется в юниксы влезать...

Старый (древний) ПК с 2 ядрами и 2ГБ оперативки на Ubuntu (32), опережает в обработке (osm в mp) ноутбук с 4 ГБ оперативки и 4 ядрами на Windows 10/7 (64). Всё порываюсь поставить на  ноутбук Ubuntu второй системой. Они не плохо уживается друг с другом. Никаких виртуальных машин, никаких вживлений одного в другое.

Offline

#3998 2017-02-17 12:59:48

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

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

Я уже писал - это офисный комп, который также используют для офисных дел. Он просто сейчас чаще свободен (и я его под эксперименты задействую).

Offline

#3999 2017-02-27 15:16:15

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

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

Подскажите пожалуйста, как можно в случае junction=roundabout добавить нестандартный атрибут к этой дороге в .mp ?
Пытался сам разобраться, но так как не программист ни разу - нифига не вышло.
Заранее спасибо.

Offline

#4000 2017-02-28 06:58:48

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

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

KonTur wrote:

как можно в случае junction=roundabout добавить нестандартный атрибут к этой дороге в .mp ?

Уточните вопрос. Что значит нестандартный атрибут? Какой атрибут? Какова цель добавления?
Вы хотите каждый раз править *.MP файл? Или все же хотите добавить атрибут в базу?
А может вы хотите добавить атрибут в конвертер?

Offline

Board footer

Powered by FluxBB