Здравствуйте, народная мудрость говорит, что скупой платит всегда. Один мой знакомый шахтёр, а по хобби рыбак и охотник, выйдя на пенсию решил приобщиться к миру высоких технологий. Всю жизнь ходил по сибирской тайге пользуясь природной навигацией, а тут купил, посоветовавшись исключительно с продавцом из магазина, чудо прибор GARMIN ETREX 10. Я же считая, что сейчас все навигаторы имеют слот под дополнительную память, пообещал ему загрузить карту лучше, чем белое поле с точкой Новосибирск. К моему удивлению на 2012г, GARMIN выпустил устройство только со встроенной памятью и очень скромного размера. Карта Кузбасса от открытого проекта OpenStreetMap.org поместилась, но прибор не мог вести запись трэка, жаловался на нехватку места. Я решил загрузить только ту часть, где обычно охотится и рыбачит хозяин навигатора, добавив по возможности высоты. Загрузив карту впольском формате в GPSMapEdit и убрав все лишнее, попытался сохранить в IMG файл, получил кучу ошибок на количество точек в дороге, стал искать другое решение.
Следующее что я испробовал это Map Composer но заставить изменить интерфейс с немецкого на английский мне не удалось. Поиски в сети привели к GroundTruth. Требует для работы Microsoft .NET 3.5 или выше и cgpsmapper, подойдет в версии freeПонятная документация и несколько строк в cmd файле:
groundtruth getdata –bu http://www.openstreetmap.org/?lat=53.69&lon=87.059&zoom=10&layers=M
groundtruth contours --bu "http://www.openstreetmap.org/?lat=53.69&lon=87.059&zoom=10&layers=M"
groundtruth makemap -ibf=output.ibf
groundtruth ibf2osm
groundtruth makemap -rules="http://wiki.openstreetmap.org/wiki/GroundTruth_Hiking_Map"
Выдали готовый IMG для загрузки в прибор, но подписи на карте не в кириллице. Для бывшего шахтёра это не годилось.
Следующее чем я воспользовался это Java программа Mkgmap & Srtm2Osm требующая Microsoft .NET 2.0 либо Mono если у вас Linux.
Открываем на сайте openstreetmap.org нужную нам область и выбираем пункт «Экспорт». Отмечаем формат OpenStreetMap XML. Если область слишком велика, кнопка «Экспортировать» будет не активна. В случае попытки скачать относительно крупный населённый пункт, скорее всего получите «You requested too many nodes (limit is 50000). Either request a smaller area, or use planet.osm». Увеличте масштаб и скачайте несколько osm файлов, передвигая видимую область.
java -Xmx512m -jar mkgmap.jar --code-page=1251 --tdbfile --gmapsupp --country-abbr=RUS --country-name=RUSSIA --route --description="Openstreetmap South Kuzbass" *.osm
Из нескольких файлов следует выбрать gmapsupp.img и его копировать в прибор. В зависимости от прибора возможно понадобится заменить базовую карту переименовав наш файл в gmapbmap.img.
Для пешей навигации удобно на карте иметь высотные данные. Радарная топографическая съемка большей части территории земного шара (SRTM) доступна бесплатно в нескольких видах. Программа Srtm2Osm позволяет несколькими способами получить эти данные на нужную нам область.
Указывая квадрат из координат -bounds1 53.49 87.05 53.99 87.55
Указывая точку и радиус в км от нее -bounds2 53.69 87.05 10
Либо ссылкой с openstreetmap.org -bounds3 " www.openstreetmap.org/?lat=53.69&lon=87.059&zoom=10&layers=M "
Полученный osm файл копируем к нашим osm файлам и повторяем сборку карты описанную выше.
Надеюсь, моя первая статья на Хабре поможет владельцам навигаторов GARMIN без слота под карты памяти или дать второй шанс таким легендам как GPSMAP 276C.
Автор: alexovchinnicov