Конвертації в формати навігаторів

насколько я помню сам GPSmapEdit не может делать nm2 больше 25мб, в Ситигиде когда размер Украины начал увеличиваться - карта начала тупить, поэтому выгрузки порезали на округа, как по мне то удобней таки порезать ее на областя…

Так. Іноді навіть область треба буде ділити на частини.
Наприклад, карта Харківської обл. від тревелЖПС поділена на

  • Харків з Харківським районом
  • Харківська область з діркою на місці Харківського р-ну
  • оглядова карта області (лише межі області, основні дороги області, точки населених пунктів
  • ще якийсь файл, призначення якого мені невідомо.

Та навіть у Гармінах єдина карта України (файл gmapsupp.img) насправді є “контейнером”, у якому вкладені окремі карти областей.

в нашому випадку Україна автоматично ділиться на 8 частин так, щоб кількість точок в кожній частині не була більшою за максимальну, що підтримує пристрій, і також в контейнер складається стиль і ще якісь допоміжні файли, це правда.

Поточний сьогоднішній файл зі спробами перекладу доступний за новою адресою: http://larry0ua.koding.com/garmin/gmapsupp.zip

недоступний, 403 Forbidden

у мене доступний

вибачаюсь, доступний якщо качати wget’ом, а через браузер - ні

Схоже, що через перевірку Referer. Якщо урл скопіювати і вставити в нову табу - скачується і браузером.

del

А я зараз налагоджую bat-файл для автоматичної конвертації карти Харківської обл. під Навітел.
Хочу зробити так, щоби можна було запустити один батнік та забути про нього. А воно само скачає з дані гіслаба, виріже область, сконвертує у mp, потім у навітелівський nm2 та завантажить на сайт. Заодно щоби в описі карти на сайті оновилася б дата конвертації.

Будуть також на всяк випадок окремі батніки на окремі етапи: звантаження та розархівування, вирізання, конвертація, архівація та аплоад.
Треба буде ще передбачити якесь повідомлення на випадок критичних помилок у карті, коли GPSmapEdit відмовляється конвертувати карту.

Ось такий батнік. Він працює. Хоча й з деякими зауваженнями.

c:
cd c:\OSM
REM Downloading and unpacking UA.OSM
erase /f /q Maps\UA.osm.bz2
"c:\Program Files\GnuWin32\bin\wget.exe" -P Maps\  http://data.gis-lab.info/osm_dump/dump/latest/UA.osm.bz2 
if not exist Maps\UA.osm.bz2 echo ERROR! Can not get map data from GIS-lab >>log.txt
if not exist Maps\UA.osm.bz2 goto exit
erase Maps\UA.osm
"c:\Program Files\Winrar\winrar" e Maps\UA.osm.bz2 .\Maps\

REM Cutting UA-KHR
if not exist Maps\UA.osm echo ERROR! Unable to unpack map data from archive >>log.txt
if not exist Maps\UA.osm goto exit
erase Maps\UA-KHR.osm
call c:\osmosis-0.41\bin\osmosis.bat --read-xml file=Maps\UA.osm --bp file=UA-KHR.poly completeWays=yes  completeRelations=yes --write-xml file=Maps\UA-KHR.osm 

REM Converting UA-KHR.osm to mp
if not exist Maps\UA-KHR.osm echo ERROR! Can not cut UA-KHR from unpacked map data >>log.txt
if not exist Maps\UA-KHR.osm goto exit
erase Maps\OSM-UA-KHR.mp
c:\Perl\site\osm2mp\osm2mp.pl  --config=c:\Perl\site\osm2mp\cfg-navitel\navitel-uk.cfg  --target-lang=uk --default-lang=uk  --bpoly UA-KHR.poly  --defaultcountry="UA"  -o Maps\OSM-UA-KHR.mp Maps\UA-KHR.osm

REM Converting mp to nm2
if not exist Maps\OSM-UA-KHR.mp echo ERROR! Can not convert osm to mp >>log.txt
if not exist Maps\OSM-UA-KHR.mp goto exit
erase Maps\OSM-UA-KHR.nm2
ConvertToNM2.vbs

REM Upload nm2 to host server
if not exist Maps\OSM-UA-KHR.nm2 echo ERROR! Can not make nm2 map file OSM-UA-KHR >>log.txt
if not exist Maps\OSM-UA-KHR.nm2 goto exit
erase /f /q Maps\osm-ua-khr.rar
"c:\Program Files\WinRAR\rar.exe" a Maps\osm-ua-khr.rar Maps\osm-ua-khr.nm2
date /T >date_of_convertation.htm
time /T >>date_of_convertation.htm
ftp.exe -s:ftp_params.txt
:exit
pause

Нюанси:
1)Треба створити папки c:\OSM\ та c:\OSM\Maps
2) Треба установити програму wget. Батнік хоче бачити її за адресою c:\Program Files\GnuWin32\bin\wget.exe
3) Скрипт використовує архіватор WinRAR. Незареєстрована shareware версія начебто згодиться. Вибачте, згодиться лише для розархівації. А для упакування треба буде прикрутити інший архіватор :frowning:
Батнік хоче бачити вінрар за адресою c:\Program Files\Winrar\winrar
4) Треба встановити osmosis. Батнік хоче бачити осмозіс за адресою c:\osmosis-0.41\bin\osmosis.bat
5) Треба встановити інтерпретатор Perl, а також програмні пакети, які потрібні для osm2mp
6) Треба встановити osm2mp. Батнік хоче бачити його за адресою c:\Perl\site\osm2mp\osm2mp.pl
7) Треба встановити GPSmapEdit. Достатньо незереєстрованої версії. Ламати не треба.
8) Скрипт ConvertToNM2.vbs треба покласти у c:\OSM\ та закоментуватиу ньому останній рядок
(поставити одинарну лапку ’ перед MsgBox “Converting maps is completed!”)
9) Для аплоаду використовуємо віндовозну програму ftp.exe. Параметри доступу до FTP-сервера вказуємо у текстовому файлі ftp_params.txt Приклад такого файлу нижче
10) Скрипт зроблено для Харкывськоъ областы. Для ынших областей треба доробляти.
11) poly-файл для обрізування слід покласти у c:\OSM
12) В перший раз батнік буде тихенько лаятися у консоль на відсутність файлів карт.
13) Батнік використовує український конфіг для osm2mp (тут його вже десь викладували)
14) Рекомендую вказати у конфігах osm2pm (cfg-navitel\output-polish.yml) бітність нульового рівня не 24, а 25. А то будиночки криві виходять.

open 31.170.164.90
dimonster
********
binary
put Maps\osm-ua-khr.rar
put date_of_convertation.htm
quit

open 31.170.164.90 - вказуємо айпішник або адресу сервера
dimonster - вказуємо логін
******* - вказуємо пароль (свій пароль світити не буду)
(тут можна вказати команду переходу у певну папку на сервері. Але я завантажує у корінь)
binary - вказує на перехід на бінарний режим
put Maps\osm-ua-khr.rar - команда для аплоаду карти з папки Maps на сервер
put date_of_convertation.htm - команда для аплоаду файла з датою конвертації не сервер
quit - вихід з ftp .exe

До речі, а яким конвертером користуються мапери з інших країн? Усякі там німці та французи? Невже вони теж мучаються з osm2mp? Чи там крім Гарміна та mkgmap інших програм не використовують?

Гармин Нуви 2370
Адресного поиска нет.
Маршрут прокладывает.
При определенном увеличении масштаба маленькая речка показывается черным цветом.

ЛЭП при любом масштабе показывает жирной красной линией - красивее было бы потоньше…


Приятно увидеть свои “художества” в навигаторе.:slight_smile:

файл не знайдено, де взяти?

У цьому архіві http://sendfile.su/753520
addressing-uk.yml, navitel-uk.cfg, rename-country.yml, rename-region.yml - запхати у osm2mp\cfg-navitel
nodes-navitel.yml - запхати у osm2mp\cfg-navitel\polish-mp\ (рекомендую передивитися цей файл. У мене є деякі сумніви.)

Трохи розбирався з Навітелом, подивіться,плз сюди: http://larry0ua.koding.com/navi/index.php. Там само - посилання на сьогоднішній гармін.

Про червоні лінії не можу нічого сказати, на моєму пристрої вони не товсті, і про струмки також. Потрібна більша вибірка.

В чому саме?

Не годиться. У картах не працює адресний пошук. Карти мають “хвости” у сусідні області та країни

Незрозумілими мені відмінностями від льошиного оригіналу

І далі у файлі ще є відмінність в обробці подвійних адрес.

До речі, я трохи виправив свій скрипт. Він неправильно поводився у випадку можливих збоїв при конвертації. Мені соромно :roll_eyes:
http://forum.openstreetmap.org/viewtopic.php?pid=308572#p308572

А ще треба буде замінити архіватор WinRAR на безкоштовний 7z. Як для розпакування osm.bz2, так і для створення zip-архіва з готовими картами. Бо використовувати ламаний софт у відкритому проекті - якось “не комільфо” :roll_eyes:

Ой, ще одна прикра маненька помилочка. Виправив.

У файлі nodes-common.yml (з комплекту osm2mp) та nodes-navitel.yml (з osm2navitel) такий рядок теж є.

Обробка addr2:* в останній версій nodes-navitel.yml закоментована - напевно, поки що не працює (глянув mp-файл, сконвертований з моїм nodes-navitel.yml - точки з подвійною адресацією теж немає).
Конфіги однак доведеться адаптувати до нових версій скрипта - там багато змінилось. До речі, через це й можуть бути некоректності у файлах, сконвертованих Larry0ua (використовувався скрипт версії 725).

То Льоша щось постійно оновлює та підправляє. В мене ревізія 719. Адресний пошук працює.
А може, Larry0ua забув вказати --defaultregion=“UA”. А може, обрізка трохи корява.
Увечорі спробую нову ревізію. Вже у svn лежить 726 версія.