На будущее:
Чтобы понять кто и куда долбится, есть замечательная утилитка strace, под ней запускаем что-либо и потом через grep разгребаем логи. За $ sudo bash надо отрывать руки. Массивчик @INC обычно распечатывается следом и там видно, где оно пытается искать, если этого списка нет - значит что-то не так, выглядит это примерно так: (@INC contains: /etc/perl /usr/local/lib/i386-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/i386-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/i386-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .)
Поправил немного инструкцию
Удалил то что не выполнял
sudo bash не выполнял точно
И все таки не устроило что пришлость дебиан взводить.
Попробывал еще раз минт помучить.
Снес файл настроек .cpan
перелогинился и запросе cpan типа установки выбрал sudo.
И выполнил install модулей по списку в инструкции.
Большинство конечно сказало что они установлены, но пара установилось заново.
И о чудо пошло без ошибок.
Поли файл получаю
Ок двигаем дальше.
Не могу скачать Пару границ.
Как быть если граница мультиполигон из разных линий с разными id?
Конкретно это Астана и Алматы с границами из кусков.
Использовать id отношения.
Если не качается. то возможно надо исправить в OSM. И почитайте что такое мультиполигон.
Конкретно это номера релейшенов что пытаетесь скачать.
Ну вот они, эти отношения.
Атма-Ата: 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, Он их тоже не распознал . Не выдал никаких результатов для отображения
А что сам конвертер пишет при конвертации? Может он просто вылетел с ошибкой и не закончил…
Я написал тут скриптик для пакетной обработки.
Пришлось добавить паузу чтоб увидеть вывод процесса…
В общем вот
---| 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.
Маршруты ложатся по прямой.
Нет полигона покрытия карты. Выделяется большим квадратом.
Проект для МПС настроен также как и для шейпов получаемых через утиль 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