?

Log in

No account? Create an account

Круговорот

Valera A.Davydoff


Previous Entry Share Flag Next Entry
OpenStreetMap - делаем свои карты для Garmin (+)
graf_davydoff
Так как я получил кучу хороших и благодарственных отзывов о предыдущей статье про оффлайн навигацию и MAPS.ME (которая, похоже, после моей статьи сразу же стала бесплатной), я решил развить успех и объяснить, как же сделать карту в устройство Garmin своими руками.
( начало http://graf-davydoff.livejournal.com/23084.html )




Да, приведённые в прошлой статье ресурсы, на которых регулярно выкладывают сборки карт - хороши. Но не всегда на них можно найти именно то, самое нужное, что необходимо именно вам и именно сейчас.
Поэтому, я расскажу (а точнее, переведу чужой пост и дополню его некоторыми подробностями), как собрать карту с ресурса OpenStreetMap.Org для устройств Garmin.

Начнём с того, что всё это я делал по уже написанной инструкции умным и замечательным человеком. Но некоторые моменты там не описаны и до них пришлось догадываться. (оригинал статьи на английском языке:
http://www.gt-rider.com/thailand-motorcycle-forum/showthread.php/40108-How-to-Make-a-Garmin-GPS-Map-from-OSM-(Open-Street-Maps)
/This is translation of linked post above with additional comments. Yes I used original screenshots from author's article/

Верно для MacOS X, JDK, Garmin Oregon 450.
Должно работать на всём.

Вперёд!

Метод первый - сложный, но надёжный.

Итак, нам нужна карта какого-то конкретного участка - города, села, страны, континента ...

1. Открываем в броузере http://openstreetmap.org
2. Находим на карте необходимый участок, пользуемся зумом карты так, чтобы всё нужное поместилось на экране.
3. Сверху нажимаем кнопку "Export".
4. В открывшейся левой панели выбираем функцию экспорта "Overpass API".
5. Начнётся загрузка файла с именем map в указанную вами папку (или по-умолчанию в Загрузки).

Функция Экспорта работает просто - захватывает и экспортирует именно тот участок карты, который открыт у вас на экране, поэтому, полнота и границы карты зависят от вашего внимания ;-)




Теперь у вас на компьютере есть файл карты под названием map со всей необходимой внутри файла информацией. Но информация эта там находится в, как бы, сыром виде. Для использования её необходимо "приготовить", после чего использовать в навигаторе Garmin.

Для конвертации map в формат Garmin нам нужна будет программа, написанная на Java (а это значит, кроссплатформенная) нашими английскими коллегами.
http://www.mkgmap.org.uk - заходим на их сайт, в раздел Download, скачиваем последнюю версию программы и распаковываем в какую нибудь папку.

Теперь у нас есть:
map-файл
mkgmap

Для удобства, кладём map-файл в одну папку с программой mkgmap.
mkgmap - это программа без графического интерфейса, управляемая только с командной строки. Поэтому, нам надо под MacOs открыть Terminal (а под Windows запустить /Пуск/Выполнить/cmd ... а как в новых версиях, я не знаю)

Для тех, кто никогда не работал с командной строкой (а точнее, с шеллом юникса), эта операция будет непростой.
Но мы попробуем!

Открываем Терминал.

Davydoff-MacAir:~ Davydoff$ pwd

/Users/Davydoff


pwd - смотрим, где мы находимся сейчас. /Users/Davydoff  - всё верно. Мои файлы лежат в папке Загрузки/mkgmap...
ls - покажет файлы и папки в этом разделе:

Davydoff-MacAir:~ Davydoff$ ls

Applications Documents Dropbox Library Music Public

Desktop Downloads Google Диск Movies Pictures avn_clb

Davydoff-MacAir:~ Davydoff$

В оригинале, папка называется Downloads. Переходим в неё:
cd Downloads/mkgmap  (и нажимаем Tab - система сама дополнит за вами точное название папки, в которую вы переходите).
pwd
ls
Теперь мы на месте!

Davydoff-MacAir:~ Davydoff$ cd Downloads/mkgmap-r3363/

Davydoff-MacAir:mkgmap-r3363 Davydoff$ pwd

/Users/Davydoff/Downloads/mkgmap-r3363

Davydoff-MacAir:mkgmap-r3363 Davydoff$ ls

LICENCE doc lib mkgmap.jar osmmap.tdb

README examples map optionsfile.args

Davydoff-MacAir:mkgmap-r3363 Davydoff$

Всё просто, может любой!
Мы видим среди прочего - главное: файл map и программу mkgmap.jar
Фактически, наша задача натравить mkgmap.jar на map, сказав ему сделать из map карту для Garmin.
Для этого, нам потребуется создать файл с пояснениями:

pico optionsfile.args (назвать файл можно как угодно, я скопировал у автора)
Открывается  редактор pico
Внутрь пустого файла копируем:

family-name: OSM Shan States
series-name: OSM Shan States
description: OSM Shan States
route
add-pois-to-areas
index
name-tag-list=name:en

Этот самый Shan States можете менять на что угодно, чтобы потом вам было понятно, что у вас за карта такая.
Нажимаем ctrl+x (именно ctrl, а не command), pico нас спрашивает, хотим ли мы сохранить файл - отвечаем "y(es)" и всё.
Файл с описанием создан.

Теперь остаётся только натравить mkgmap.jar на файл map, указав параметры описанные нами в optionfile.args (все эти файлы должны быть в одной папке)

java -jar mkgmap.jar --gmapsupp -c optionsfile.args map

И скорее всего, вы узнаете о том, что у вас не установлен Java Developer Kit (JDK). Увидите соответствующее предупреждение и кнопочку "Подробнее". Жмите и скачивайте для вашей MacOS X соответствующую JDK с сайта производителя, который непременно откроется сам.
Скачали?
Устанавливайте.
Установили?
Запускаем повторно:

java -jar mkgmap.jar --gmapsupp -c optionsfile.args map

Davydoff-MacAir:mkgmap-r3363 Davydoff$ java -jar mkgmap.jar --gmapsupp -c optionsfile.args map

Time started: Sun Dec 07 19:41:26 ICT 2014

Number of MapFailedExceptions: 0

Number of ExitExceptions: 0

Time finished: Sun Dec 07 19:41:52 ICT 2014

Total time taken: 25382ms

Davydoff-MacAir:mkgmap-r3363 Davydoff$


Программа некоторое время подумает и отработает (может и с минуту повисеть, и с пять, в зависимости от объёма выбранного вами участка карты).
После этого у вас образуется новые файлы, из которых нам нужен только один: gmapsupp.img
Это и есть готовый отконвертированный файл карты для устройства Garmin.

Далее, этот файл вы заливаете на флешку вашего Гармина, открываете в настройках устройства и вперёд!
В BaseCamp/MapSource вы точно также увидите эту вашу новую карту!



Поздравляю! Вы прошли испытание!

Метод второй, простой.

Если в Первом Методе вы в любой момент можете это повторить самостоятельно, то второй метод вызывает зависимость от работоспособности ресурса.

http://garmin.openstreetmap.nl
Братья из оранжевой Голландии (они же тюльпановые Нидерланды) изобрели аж интерфейс по генерации и конвертации OpenStreetMap в Garmin. Фактически, это надетый веб-интерфейс, выполняющий внутри себя ту же самую операцию, которая описана в Первом Методе.

1. Заходим на сайт: http://garmin.openstreetmap.nl
2. Выбираем метод карты: "Generic Routable (new style)" - это значит, что карта будет с навигацией.
3. Выбираем в предложенных вариантах континентов нужную страну.
4. Следующим пунктом нам предлагается скачать все показанные квадраты, или поставить галочку и выбрать квадрат(ы) самостоятельно, выделяя их мышкой, уменьшая/увеличивая область карты скроллером или кнопками зума на карте.




После выбора областей карты, вам будет предложена пересылка вашей карты по e-mail, либо вариант скачивания прямо сейчас и прямо отсюда. Последний вариант мне видится более разумным ;-)
Сгенерированные карты можно скачать слева (они там появятся сразу после выбора квадратов). В именах файлов .img можно увидеть дату, когда карта была сгенерирована и скачена с OpenStreetMap.Org.
Скачиваете файлы .img, заливаете в ваш прибор или флешку в Гармине и ... вперёд! ;-)






Первая часть об Оффлайн Навигации, MAPS.ME, OpenStreetMap.Org и прочем - http://graf-davydoff.livejournal.com/23084.html



P.S.
Напоминаю:
Facebook: https://www.facebook.com/davydoff.photo - моя работа - Фотограф в Таиланде, городе Хуахин. Добавляйтесь, ставьте лайк!
ВКонтакте: https://vk.com/davydoff_photo - паблик Фотографа в Таиланде/Хуахине в российской сети ;-)
Поснимать в Таиланде - да как нечего делать! Обращайтесь ;-)


Comments Disabled:

Comments have been disabled for this post.