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

Ну вот они, эти отношения.
Атма-Ата: http://api.openstreetmap.org/api/0.6/relation/2465058/full
Астана: http://api.openstreetmap.org/api/0.6/relation/3087155/full

Спасибо. Чего то вылетело из памяти что у релейшенов тоже есть id
Теперь качается

Как как я пытаю гармин то попробовал сразу же протестировать эту возможность. Перегон в шейпы для гармин мап креатора.
Шейпы получились. Но здесь засада.
Креататор не хочет их понимать

Вывод креатора

Building Product <test OSM>...

Building ast...
Importing addr_pseudoroads.shp...
Imported 0 areas, 0 lines, and 0 points.
Importing areas.shp...
Imported 0 areas, 0 lines, and 0 points.
Importing lines.shp...
Imported 0 areas, 0 lines, and 0 points.
Importing points.shp...
Imported 0 areas, 0 lines, and 0 points.
Importing roads.shp...
Imported 0 areas, 0 lines, and 0 points.
ERROR: Error creating map image.
The map is empty!  Was any input data provided?
C:\projects\map-create\MPC_MapCreator.cxx - 810

Или нужно что то еще настраивать при выводе шейпов?
Конфиг osm2mp для шейпов по дефолту.
Сам osm2mp последний только сегодня с свн слил

UPD. Попробовал залить эти шейпы в QGIS, Он их тоже не распознал :frowning: . Не выдал никаких результатов для отображения

А что сам конвертер пишет при конвертации? Может он просто вылетел с ошибкой и не закончил…

Я написал тут скриптик для пакетной обработки.
Пришлось добавить паузу чтоб увидеть вывод процесса…
В общем вот

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

Loading configuration...

Loading OSM data from file astana.osm...

Initialising bounds from file astana.poly...
  590 segments

Loading search areas...
  2 cities
  0 districts
  0 restricted areas
  3 settlement areas

Processing relations...
  283 turn restrictions
  0 destination signs
  0 houses with associated street
  69 road ways with ref
  0 transport stops

Processing nodes...
  15 POI written
  2128 POI loaded for addressing
  0 building entrances loaded
  33 main entrances loaded

Processing ways...
  1910 POI written
  386 lines written
  27670 polygons written
  7276 roads loaded
  0 coastlines loaded

Writing rest POIs...
  886 POI written

Processing coastlines...
  0 areas
Merging roads...          864 merged
Detecting road nodes...   12419 found
Splitting roads...        89 self-intersections, 10347 long roads, 37 barriers
Removing U-turns...       1030 restrictions added
Writing roads...          Sort subroutine didn't return single value at /home/dansit/osmdata/osm2mp/lib/WriterMPC.pm line 330.
Press [Enter] key

Сама команда которая выполняется
perl osm2mp/osm2mp.pl --config=osm2mp/cfg/garmin-mpc.cfg --bpoly=astana.poly --default-country=KZ astana.osm --textfilter=PrepareCP1251

А ещё сам astana.osm скинь плиз

Вот ссылка на файл
https://yadi.sk/d/_D50VMOB3MfwhB

Полиш с него выходит нормально

На всякий случай

perl -v

This is perl 5, version 22, subversion 1 (v5.22.1) built for x86_64-linux-gnu-thread-multi
(with 58 registered patches, see perl -V for more detail)

Copyright 1987-2015, Larry Wall

Поправил

Итак шейпы получил. Прогнал через МПС.
Он выдал только одну ошибочку.

Error: Clipping polygon is self intersecting

Clip Poly Src File: C:\Garmin\tst\in\astana\areas.shp, RecNum: 27671

Думаю к osm2mp это не имеет прямого отношения. Хотя конечно любопытно какой такой полигон на карте самопересекается(Полигон покрытия?).
Установил полученное на комп.

Вот как выглядит в мапсорсе

Довольно печально. Кодировка русских надписей не читаема.Ох уж эта виндовая кодировка 1251.
Маршруты ложатся по прямой.
Нет полигона покрытия карты. Выделяется большим квадратом.

:frowning: :frowning:
Проект для МПС настроен также как и для шейпов получаемых через утиль mp2shp

А вообще. Раз тут про МПС зашел разговор то я продолжу в теме связанной с ним здесьhttps://forum.openstreetmap.org/viewtopic.php?id=19144

А в WriterMPC.pm добавил недостающие коды, которые использовал в mp2shp?

Хм. О каких кодах в WriterMPC.pm идет речь?
Можно пояснить.
Для mp2shp редактировал 2 файла - _config и _types.
Для osm2mp я полагал нужно настраивать garmin-mpc.cfg и settings-mpc.yml. Они пока по умолчанию.
Но я думал что по умолчанию роутинг то должен быть все равно. Пусть не правильный, с ошибками но должен быть.

Роутинг работал еще 4 года назад, небыло только запретов и адресов. Посмотри в самом конце WriterMPC.pm, там прописаны коды, которые обрабатываются. Для mp2shp они были в файле _types. Тут Леша прописал только основные коды.

У меня маршрут прокладывает нормально.

Карту Беларуси от 06.09.2017 можно глянуть тут http://borism346.narod.ru/maps/garmin-maps-by.html :).

Можно на гитхаб для getbound пару алиасов добавить для Казахстана?
KZ-AST: 3087156
KZ-ALA: 2465058

Астану с Алмаатой

Можно, только давай тогда уж список всех областей KZ

Так они уже есть в алиасах в списке list regions of kazakhstan только этих 2 не хватает

Да, действительно. Наверно, тогда города ещё самостоятельными регионами не считались.

Добавил.

Я так понял мы здесь обсуждаем все фичи osm2mp, никак их не деля.
А то я написал топик в теме osm2mp связаную с МПС. Но там видать никто не пишет.
Ок. Тогда здесь.
Итак имеем 2 карты Астаны
1 Сперва полиш потом через mp2shp в шейпы.
1 Сразу с osm2mp в шейпы.
Что имеем.

Слева адресные данные выглядят гораздо приятней. Нет нагромождения названий улиц.
В mp2shp адреска в шейпах тоже ведь не настоящая. Организована через точки.
Может просто использовать этот алгоритм? Я не думаю что автор mp2shp будет против

UPD. Попробывал адресный поиск в BaseCamp.
ПО 2 варианту адреса не НАХОДЯТСЯ.:frowning:

Ну в общем вроде как у себя основное взвел. Правда для пришлось взвести подсистему линукс на виндовс 10 чтоб не прыгать, перегружаю комп, из линукс в винду о обратно.(Из за МПС) :slight_smile:
Пока я использую конфиги по дефолту, еще не вчитывался как они устроены.
Но с дефолтными конфигами заметил одну проблему со зданиями.
Здания которые building=yes+building:level, но без адресных данных. Может и другие типы зданий.
В конечном полише их просто нет. Наверно надо в дефолтном конфиге правило о них поправить чтоб они появись.
А то я таких зданий в ОСМ нанес тысячи и как то не приятно, что они отсутствуют.
Ладно для себя я могу это как то разобраться и поправить.
Но я думаю что многие используют все по дефолту ничего не надстраивая. Ну ответственно у них таких домиков в конечном полише/шейпах нет.

Ну и теперь еще вопрос. Настройка конфигов для себя. Где прочитать бы о их синтаксисе? Что понять как устроены правила.
И вообще бы такое дописать в вики

P.S. Кстати о дате копирайта. Чегой то там 2013. :smiley: Вроде как на дворе год посвежее. Конечно мелочь, но все таки.

Насколько я помню, Леша специально так сделал. У себя я такое ограничение снял очень давно.