Сьогодні я зліпив мапу Харківської області під Навітел.
Кому цікаво - качайте, пробуйте http://msr-zdv.narod.ru/Navitel/
Хотілося б трохи автоматизувати процес та почути порад від товариства. Може, я щось роблю неправильно.
Ось що я роблю:
Спочатку я завантажив в ДЖОСМ шматок карти з межею Харківської області (спочатку один відрізок, а потім всі інші за релейшеном), потім виділив членів релейшена, переніс на інший шар, перетворив на єдину замкнену лінію. Потім зберіг це як .poly - файл.
- Качаю UA.osm.bz2. Для чого створив ось такий бат-файл:
c:
cd c:\Perl\site\osm2mp\
del /F c:\Perl\site\osm2mp\UA.osm.bz2
c:\Progra~1\gnuwin32\bin\wget --progress=bar http://data.gis-lab.info/osm_dump/dump/latest/UA.osm.bz2
pause
- Розпаковую з нього UA.osm
c:
cd c:\Perl\site\osm2mp\
c:\Progra~1\Winrar\winrar e ua.osm.bz2 UA.osm c:\Perl\site\osm2mp\
- Вирізаю Харківську область
c:\osmosis-0.41\bin\osmosis.bat --read-xml file=c:\perl\site\osm2mp\ua.osm --bp file=c:\perl\site\osm2mp\OSM_UA_KHR.poly completeWays=yes completeRelations=yes --write-xml file=c:\perl\site\osm2mp\ua-khr.osm
- Конвертую osm у mp
c:
cd c:\Perl\site\osm2mp\
perl osm2mp.pl --config=cfg\navitel-ru.cfg --full-karlsruhe --navitel --osmbbox --namelist label=name:uk,name --namelist place=name:uk,name --namelist street=name:uk,name --defaultcountry="Ukraine" --defaultregion="Kharkivska obl." --codepage=utf8 --output=UA-KHR.mp UA-KHR.osm
- Беру GPSmapEdit 1.1.74.3 (не зареєстрований, не поламаний)
Відкриваю ним UA-KHR.mp. Міняю Ukraine на “Україна” та “Kharkivska obl.” на Харківська область.
Перевіряю на помилки. Отримую 41360 помилок типу “Дорога має тупик без вузла”, “Надто близьки вузли”, “Більш ніж один об’єкт проіндексовано як населений пункт Такийто”. Ну й ще багато помилок з перетинаннями полігонів. Але ці помилки не заважають конвертувати карту.
Мене цікавить, як “розрізати” карту, бо десь читав, що бажано, щоби карта .nm2 мала розмір не більше 2 МБ, тоді Навітел швидше працює та жре менше пам’яті?
І як вписати в в параметри конвертера параметри --defaultcountry=“Ukraine” --defaultregion=“Kharkivska obl.” українською мовою так, щоб кодування не переплуталося? Я пробував і UTF8, і cp1251. Все одно мапедіті замість “Україна” та “Харківська обл.” написані кракозябри.