You are not logged in.

#4326 2019-03-09 08:51:10

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

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

gryphon wrote:

обновил getbound в своем репозитории

Спасибо!
Пересобрал exe`шную версию. Вроде работает. Проверял так:
getbound.exe 108082 -onering -noinner -api op_kumi --offset 0.1 -om poly-strict -o RU-KDA.poly

Offline

#4327 2019-08-11 12:31:00

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

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

Всем хорошего завершения выходного дня. Может кто подскажет в чём засада.
Запускаю --lt-yatr-key. И парадокс. На Linux перевод идет. А вот на Windows 10 yatr_ka_ru не переводится.
Добавляю приоритеты --lt-priority yatr_ka_ru... Под Linux без проблем. Под Windows выдаёт ошибку:

Loading configuration...
No transformer id=yatr_ka_ru found at C:/Perl64/lib/Getopt/Long.pm line 605.

- конфиги в Linux и Windows одинаковые
- на --lt-priority yatr_en_ru или --lt-priority yatr_de_ru ошибку не выдаёт и похоже переводит

Может кто сталкивался? Спасибо.

Offline

#4328 2019-08-11 13:51:24

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

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

А какую версию osm2mp вы используете? Если Лёшину, оригинальную ( https://github.com/liosha/osm2mp/ ), то там используется устаревший метод определения языков в ЯПереводчике. Мне это пришлось в свое время допиливать ( https://github.com/cheshire-mouse/osm2mp ), функция _get_langs в YaTranslate.pm

Если коротко, то яндекс возвращает два массива: dirs - направления перевода и langs - языки . Dirs помечен как depricated, надо использовать langs, яндекс умеет переводить между любыми двумя языками из этого массива.

Offline

#4329 2019-08-11 16:22:43

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

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

Спасибо! Действительно на Linux сборка ваша. На Windows после переустановки Perl шел прямым путем по линейке liosha/osm2mp...
Теперь проблемы перевода нет. В очередной раз помогли по полной.

Offline

#4330 2019-08-12 08:17:51

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

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

Ещё спрошу для общего развития. В теле getbound.pl значится Log::Any::Adapter 0.11 ('Stderr') = у меня ничего не установлено. Или значится Math::Polygon::Tree 0.061 qw/ :all / = в PPM был доступен и я установил версию 0.08.
Всё работает.  Файлы территории создаются. Следует ли ожидать подводные камни в этом случае?
Или, каковы преимущества getbound.pl в этой сборке https://github.com/cheshire-mouse/osm-getbound ?
Спасибо!

Offline

#4331 2019-08-12 09:05:51

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

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

Библиотеки устанавливаю периодически заново, при обновлении perl. Беру те, что есть на текущий момент в репозитариях. Каких-то проблем не заметил, но и глубоких исследований на тему "что могло поменяться" я не проводил.
В getbound я добавлял опцию clip, она объединяет контур, состоящий из нескольких (операция UNION над полигонами). Это удобно, если для области, которая вам нужна, нет единого отношения. В остальном - фиксы по-мелочам и алиасы.

Offline

#4332 2019-08-12 10:20:23

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

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

Помню как на заре была проблема с версиями отдельных модулей. В этот раз на удивление прошло как по маслу.
К вопросу. В этот раз поставил ActivePerl-5.20.3.2004-MSWin32-x64-300558. Порадовал. Все необходимые по умолчанию модули доступны в PPM. Но вот Math::Clipper отсутствует.

Offline

#4333 2019-08-13 10:04:05

RezoVlad
Member
Registered: 2017-11-02
Posts: 14

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

Прошу разъяснений и помощи!
Не могу создать poly-файл грницы со смещением (offset).
Раньше создавались без проблем, а сейчас ни в какую.
Может есть у кого готовое решение или это непорядок в моей системе или проект OSM уже не позволяет это сделать?

PS: Надоело создавать файлы вручную..... sad

Last edited by RezoVlad (2019-08-13 10:06:50)

Offline

#4334 2019-08-13 13:33:48

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

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

А в чем заключается "сейчас ни в какую"?

Offline

#4335 2019-08-13 16:19:37

RezoVlad
Member
Registered: 2017-11-02
Posts: 14

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

В том, что раньше exe-шная версия прекрасно работала для получения границ со смещением, а сейча вообще никакая веряия не создаёт.
Perl-овская при создании вываливается в ошибку с указанием на Match::Clipper::offset.
Пробовал разные "Clipper"ы устанавливать, но в конечном итоге это ничего не даёт.
Папки Match/Clipper/offset (с файлом Clipper.pm) в наличии.
Вот и не пойму в чём дело.....
Gbounb.jpg

Offline

#4336 2019-08-13 17:38:55

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

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

RezoVlad wrote:

В том, что раньше exe-шная версия прекрасно работала для получения границ со смещением, а сейча вообще никакая веряия не создаёт.
Perl-овская при создании вываливается в ошибку с указанием на Match::Clipper::offset.
Пробовал разные "Clipper"ы устанавливать, но в конечном итоге это ничего не даёт.
Папки Match/Clipper/offset (с файлом Clipper.pm) в наличии.
Вот и не пойму в чём дело.....
http://pixs.ru/images/2019/08/13/Gbounb.jpg

Что-то намудрили, мне кажется, с библиотеками. Папки offset быть не должно. Должно быть как-то так Math/Clipper.pm

Проверьте, что библиотека подключена:

perl -le 'use Math::Clipper; print $Math::Clipper::VERSION'
1.23

Offline

#4337 2019-08-14 09:57:50

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

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

RezoVlad wrote:

В том, что раньше exe-шная версия прекрасно работала

А если скачать по ссылке в самом верху этой страницы? У меня она нормально отрабатывает все функции, в том числе и оффсет, которым пользуюсь постоянно.

Offline

#4338 2019-08-14 10:00:04

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

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

gryphon Просил уже, но попробую ещё раз. А реально допилить getbound, чтобы из релейшена границы можно было вычитать другой релейшен? Пока только складывать их можно.
Пример: Хочу собрать границу Украины без Крыма, Границу Грузии без Абхазии и Южной Осетии и т.п.

Last edited by Kostik (2019-08-14 10:01:57)

Offline

#4339 2019-08-14 10:00:35

RezoVlad
Member
Registered: 2017-11-02
Posts: 14

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

Не проходит у меня данная проверка (ни с одинарными ни с двойными кавычками).
Файл Clipper.pm уже куда только не "размножил", но результата нет.
Пробовал подключить данный модуль через cpan, но это так же ничего не изменило (хотя на экране что-то там мелькало зелёным текстом и достаточно долго - более 1 минуты).

Kostik wrote:

А если скачать по ссылке в самом верху этой страницы? У меня она нормально отрабатывает все функции, в том числе и оффсет

Ну конечно же пробовал. Данная сборка у меня вообще ничего не отрабатывает, поэтому пользуюсь Perl-овской.
И что самое интересное - раньше на 32-й сборке Perl и ехе-шника всё работало, а вот с переходом на Win7+Perl64, стало как-то не совсем так.

PS: А можно вообще где-то ознакомиться со всеми ключами и их применением? Что-то справки я не нашёл в файлах (не вызывается).

Last edited by RezoVlad (2019-08-14 10:08:52)

Offline

#4340 2019-08-14 17:02:16

RezoVlad
Member
Registered: 2017-11-02
Posts: 14

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

Kostik - спасибо огромное!
Как всегда выручили.  big_smile
Разобрался.... Для работы Вашей "ехе-шной" сборки у меня в папке была лишняя ненужная папка "OsmGetbound" (так и не понял как и когда я её туда отправил/создал  hmm ).
Удалил - и всё стало ОК!

Вопрос-1: как создать один общий полифайл из 2.3 и т.д. смежных?
Например иметь один общий полигон на 3 смежные области?

Вопрос-2: какие ограничения и с какой кратностью можно задавать параметр "N" при получении расширенных (оффсетных) границ?

PS: Повторюсь - может где есть подробная справка по ключам и краткому разъяснених их применения?

Last edited by RezoVlad (2019-08-14 17:09:35)

Offline

#4341 2019-08-14 17:36:01

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

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

Kostik wrote:

gryphon Просил уже, но попробую ещё раз. А реально допилить getbound, чтобы из релейшена границы можно было вычитать другой релейшен? Пока только складывать их можно.
Пример: Хочу собрать границу Украины без Крыма, Границу Грузии без Абхазии и Южной Осетии и т.п.

В теории, можно. На практике... надо подумать. Такой подход с вычитанием выглядит несколько противоестественно, у меня пока не сложилось в голове, как это можно органично вписать.

У меня такой потребности как-то и не возникало. Практически любую область нестандартной конфигурации можно составить из кучи маленьких регионов

Я посмотрю

RezoVlad wrote:

Вопрос-1: как создать один общий полифайл из 2.3 и т.д. смежных?
Например иметь один общий полигон на 3 смежные области?

Вопрос-2: какие ограничения и с какой кратностью можно задавать параметр "N" при получении расширенных (оффсетных) границ?

PS: Повторюсь - может где есть подробная справка по ключам и краткому разъяснених их применения?

1) сделайте файл с алиасом в формате yaml, в нем текстовому имени ставится в соответствие идентификатор отношения или же массив идентификаторов, как то так

myregion: [12345, 12346] 

(вот еще пример https://github.com/cheshire-mouse/osm-g … inland.yml )
далее загружайте границу уже по этому имени, а не по id, указав ваш файл через опцию aliases

getbound.pl --aliases myaliases.yml myregion

полезными буду опции clip (сложить все полигоны) и onering (все полигоны одной линией, типа рисуем "не отрывая карандаша от бумаги")

2) N - это отступ в "градусах",  как таковых ограничений нет ( 1, 0.001, 0.00005, ...)

3) Если запустить getbound без параметров, он должен выдать список всех опций с краткими пояснениями

Last edited by gryphon (2019-08-14 17:45:27)

Offline

#4342 2019-08-14 18:21:52

RezoVlad
Member
Registered: 2017-11-02
Posts: 14

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

Понял - спасибки!
Ну и последний вопрос на текущий момент времени....
Как правильно понимать вот такую запись уровней в конфигах?:

level_h: [ 0, 0.016, 0.5, 2.5, 9 ]

Видимо через запятую кол-во уровней на которых происходит корректировка - так?
И главное - доли после точки, это как понимать физически?
Это отношение какое-то?
И относительно чего отношение и как они (эти отношения/записи) влияют?
Я пробовал и видно, что уровни как бы расширяются (подобие "LevelRange"), но в чём изюминка данной записи, по сравнению с LevelRange?

Offline

#4343 2019-08-14 18:49:14

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

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

До какого уровня отображаются объекты в зависимости от их площади.

Offline

#4344 2019-08-14 20:22:44

RezoVlad
Member
Registered: 2017-11-02
Posts: 14

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

А если более конкретно?
Например в первом уровне есть запись 0.016 - это как понимать?
Или запись в 3-м уровне 2.5 - это как понимать?
Разве нельзя в зависимости от площади того или иного объекта (например полигон), прописать просто level_h:3?
Хочу понять физическое отличие в той или иной записи прописывания уровней и как понимать относительность значения цифр.

Last edited by RezoVlad (2019-08-14 20:23:49)

Offline

#4345 2019-08-15 06:03:49

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

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

Через запятую указаны значения площадей. В соответствии с этим значением и прописывается уровень. Чем больше площадь, тем больше уровень, до которого идет отображение.

Offline

#4346 2019-08-15 12:29:58

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

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

Kostik wrote:

gryphon Просил уже, но попробую ещё раз. А реально допилить getbound, чтобы из релейшена границы можно было вычитать другой релейшен? Пока только складывать их можно.
Пример: Хочу собрать границу Украины без Крыма, Границу Грузии без Абхазии и Южной Осетии и т.п.


Попробуй. Пока в отдельной ветке testing.
https://github.com/cheshire-mouse/osm-g … ee/testing

Принцип простой: все отрицательные id-шники, которые добавлены в алиас, будут вычитаться из контура (по факту, просто инвертироваться outer -> inner и наоборот). Немного поменялся алгоритм обработки ключа clip, раньше он работал немного неправильно (в 99% случаев это не будет заметно).

Offline

#4347 2019-08-16 10:27:15

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

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

gryphon wrote:

Попробуй. Пока в отдельной ветке testing.

Спасибо, всё работает. Правда немного не разобрался как подсунуть свой файл .yml, сработало только когда отредактировал osm-getbound-aliases.yml

Offline

#4348 2019-08-16 14:53:28

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

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

там две опции для подключения алиасов: aliases для отдельного файла, aliasesdir для каталога с файлами
у меня выглядит как-то так:

getbound.pl -api op_ru -singlerequest -aliases /garmin/getbound/etc/osm-getbound-aliases.yml -aliasesdir /garmin/getbound/aliases.d ....

Offline

#4349 2019-08-16 16:19:16

RezoVlad
Member
Registered: 2017-11-02
Posts: 14

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

borism346 wrote:

Через запятую указаны значения площадей. В соответствии с этим значением и прописывается уровень. Чем больше площадь, тем больше уровень, до которого идет отображение.

Ну это в целом и так понятно было.
Вы ответили так, как будто бы самого ответа на вопрос(ы) вовсе и нет.  cool
Мои вопросы остались совершенно незамеченными:

Как правильно понимать вот такую запись уровней в конфигах?:
level_h: [ 0, 0.016, 0.5, 2.5, 9 ]
И главное - доли после точки, это как понимать физически?

Это отношение какое-то?
И относительно чего отношение?
Напрмер имеется полигон 100х100 метров.
Так вот.... как понимать скажем число 0.016, 3.5 или 9 по  отношению к данному размеру (площади) полигона?
Число 9 - это что?
В 9 раз мешьше?
В 9 раз больше?
Это масштаб производной отношения S/9?
И так далее.....
И второй "незамеченный" вопрос - чем такая запись отличается по сравнению с примененнм level_*= * по отношению этого же самого полигона?
Неужели трудно вразумительно и конкретно ответить? hmm 

gryphon wrote:

Пока в отдельной ветке testing

О финальном релизе, информация будет?

Offline

#4350 2019-08-16 16:40:47

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

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

RezoVlad wrote:

Неужели трудно вразумительно и конкретно ответить?

Про цифры - трудно. Все это было настроено настолько давно, что уже забылось за ненадобностью. Может быть есть в начальной части темы, а может я у Леши в аське интересовался...

RezoVlad wrote:

И второй "незамеченный" вопрос - чем такая запись отличается по сравнению с примененнм level_*= * по отношению этого же самого полигона?

Одна строка определяет сразу все варианты.

Offline

Board footer

Powered by FluxBB