Растровые карты на Garmin (Custom Maps). Растровые карты для туристических навигаторов Garmin Карты с расширением kmz

Формат Custom Maps в настоящий момент не актуален, гораздо эффективнее использовать JNX. Достаточно крякнуть прошивку и сохранить карты в формат JNX с помощью программы MAPC2MAPC, описанной ниже.
Информация о форматах векторных и растровых карт Garmin.

Как известно, последние модели навигаторов Garmin (Oregon, Dakota, 62, Colorado, 78, Edge 800) поддерживают загрузку растровых карт в формате KMZ. Попробуем разобраться с тем, что это такое и с чем его едят.

Техническое описание

Контейнер KMZ - это zip-архив, содержащий в себе:

  1. Один или несколько фрагментов карты в формате JPEG.
  2. Файл KML, описывающий данную карту в формате XML:
    • Имена фрагментов;
    • Параллели/меридианы, на которых лежат стороны фрагментов;
    • Углы поворота фрагментов;
    • Приоритет отрисовки: указывает расположение растра относительно имеющихся векторных карт.

Таким образом, в каждом KMZ содержится карта, состоящая из нескольких фрагментов в формате JPEG и файла для навигатора с их описанием.

На данный момент, имеются следующие ограничения по загрузке растровых карт:

  • Допускается неограниченное количество контейнеров KMZ (то есть, отдельных карт).
  • Каждый фрагмент карты (JPEG) должен иметь размер не более 1 мегапикселя (т.е. 1024х1024, 512х2048 и т. п.) и вес не более 3 МБ. Более крупная карта должна быть разбита на мелкие.
  • Всего в приборе может быть загружено не более 100 фрагментов во всех контейнерах, причем общий их вес должен быть не более 32 МБ.
  • Названия всех файлов не могут включать кириллицу.

Забегая вперед, скажу, что все эти ограничения приводят к невозможности единовременно иметь в приборе более 12 стандартных листов Генштаба. Эти ограничения чисто софтовые, но существует и другой формат - JNX, - который позволяет загружать гораздо большее число карт с гораздо более широкими возможностями. Однако использование JNX требует несанкционированного вмешательства в прошивку прибора, поэтому оставим этот вопрос на другой раз.

Создание карт

Подготовка

Все способы загрузки растровых карт подразумевают наличие у вас как минимум исходной карты в формате рисунка. Где ее взять?

  1. Если у вас есть карты в формате "рисунок + .map" - все отлично.
  2. Если у вас есть карты в формате OZF2 - используйте OziMapTrans (бесплатный) для выковыривания карты типа "рисунок + .map".
  3. Если вы хотите загрузить в навигатор спутниковые снимки или например Яндекс-карты, используйте SAS Planet (бесплатный, русский). Работать с ним очень просто: выделяете нужную область нужной карты, сначала скачиваете ее в требуемом масштабе (если хотите наложить слой "гибрид", то скачиваете его отдельно), а потом склеиваете в огромный JPEG, не забыв поставить галочку на MAP.
    Кстати, SAS Planet позволяет собирать сразу KMZ для Гармин, но на данный момент делает это криво - приходится вручную задавать, на сколько фрагментов бить картинку, плюс для каждого фрагмента создается отдельный KMZ, что глупо и неудобно.

Сложный путь

Этот способ загрузки предлагается самим Гармином и довольно подробно описан . Вкратце:

  1. Вы берете Фотошоп и сжимаете/рубите имеющуюся карту на кусочки размером не более 1000х1000 пикселей, сохраняете обязательно в JPEG.
  2. Накладываете каждый кусочек на Google Earth и руками (!!!) таскаете-растягиваете-вращаете его для максимально хорошего наложения (которого все равно не будет) на спутниковое фото. Полезно при этом сделать кусочек полупрозрачным. Если спутниковая фотка в этом месте отвратного качества - это ваши проблемы.
  3. Выбираете порядок отрисовки:
    • 0-49 - растровая карта будет показываться под векторной.
    • 50-100 - растровая карта будет показываться над векторной, но под вейпоинтами, дорогами, линиями высот и глубин.
    • Карта с более высоким порядком рисуется над картой с более низким порядком.
  4. Повторяете пп. 2-3 для всех кусочков. Стандартный лист Генштаба - это 9 кусочков, а спутниковая фотка - до 100 и более.
  5. Сохраняете все вместе в KMZ.

По моему опыту, если уменьшить лист ГШ так, чтобы кусочков было 4 штуки, то обработка листа занимает не более 40 минут. Мы фактически выполняем привязку вручную, игнорируя уже существующую, причем далеко не самым удобным способом.

Простой путь

Заключается в том, что вы используете специализированный софт для максимально упрощенного создания KMZ. Этот способ требует наличия привязки карты - файла MAP или аналогичного. Я пользуюсь программой MAPC2MAPC , о которой речь и пойдет ниже. Сразу оговорюсь, что программа платная (10 GBP), но неоплаченная версия полностью функциональна (только гадит на карту красными крестиками), плюс можно бесплатно скачать старые версии.

Итак, возможности этой программы включают в себя:

  • Обрезка карты прямоугольником;
  • Склеивание карт вместе;
  • Выбор размера фрагмента в пикселях;
  • Выбор уровня сжатия;
  • Выбор фрагментов, которые мы будем включать в результирующий KMZ;
  • Выбор уровня прорисовки;
  • Масштабирование карты;
  • Простейшая настройка яркости карты (эффективнее отредактировать изображение в Фотошопе по своему вкусу);
  • Сохранение как просто привязки с картинкой, так и KMZ или JNX.

В общем и целом, при раз сделанных настройках достаточно загрузить MAP, по вкусу обрезать карту, выбрать желаемые фрагменты (если вся карта нам не нужна) и запустить конвертацию. можно посмотреть видеоинструкцию по созданию KMZ в Mapc2mapc.

Совет: если установить размер фрагмента 1200х870 пикселей, то на лист Генштаба их уйдет не 9, а 8 - соответственно, листов в память влезет больше. Кроме того, ненужные части карты (крупные водные пространства) можно исключать из обработки - тем самым тоже экономится место.

Кроме того, если путь к карте включает в себя русские символы, то программа ругнется на это. Путь - черт с ним, а вот название карты должно быть написано латиницей, как и ссылка на картинку в MAP. Можно исправить это руками, а можно и с помощью той же OziMapTrans.

Загрузка карт

Самый простой способ загрузки - вручную кинуть их в папку \Garmin\CustomMaps на приборе или на карте памяти. Но если при конвертировании были косяки, то прибор либо начнет ругаться при запуске, либо просто не покажет карту.

Поэтому более надежный способ - использовать программу от Garmin Basecamp (бесплатная, русская). Она умеет очень многое, в частности, загружать и выгружать из прибора всю информацию, кроме фирменных карт. Достаточно импортировать созданный нами KMZ и отправить его на наш прибор или на карту памяти, дальше все сделается само.

Результат

В конечном итоге, лист Генштаба у нас преобразуется в файл KMZ, состоящий из 8 фрагментов и весящий 1,6 МБ (качество "4", т.е. 80%). Нетрудно подсчитать, что в память прибора у нас войдет 12 листов, а если убирать ненужные фрагменты, то и более. Этого достаточно, чтобы покрыть 500-метровками область минимум 50х50 км, а 2-километровками - 200х200 км.

В то же самое время, спутниковая фотография максимального масштаба размером 5х10 км занимает почти всю доступную память (штук 80 фрагментов, порядка 25 МБ), так что если мы хотим загружать особо большие объемы растра, то придется использовать JNX. Информация по этому формату доступна на GPS-Forum .

Карты памяти с загруженными растровыми картами можно менять, поэтому если требуется иметь покрытие очень большой области (не влезающей в память), то будет удобно держать основные (векторные) карты в памяти прибора, а карточки с растровыми вставлять по мере необходимости, благо карточка MicroSD стоит всего от 170 руб. Только нельзя забывать, что разъем карт памяти у Гарминов достаточно хлипкий.

Вот результат всех наших действий: карта от Кандида , сконвертированная мною для закачки в Гармин. Файл можно скачать и открыть в Google Earth (прозрачность задается в настройках конвертации, в самом приборе карта нормальная). Сайт автора карты: bikeadventure.spb.ru .

Вот пример Генштаба 500м, лежащего под вектором, как он выглядит на экране GPSMap 62s.

А это спутниковая фотография максимального масштаба:

"Мутность" карт обусловлена исходными данными - естественно, при желании их можно пошарпить и сделать ярче/контрастнее.

Здесь напишу поподробнее о том, как залить в навигатор гармин растровые карты формата JNX.
Недавно друзьям помогала перепрошивать Garmin Etrex 20, вот и запишу по свежей памяти.

Как перепрошить Garmin для работы с BirdsEye

Внимание! Помните, что по закону не допускается "осуществление без разрешения... действий, направленных на снятие ограничений использования произведений или объектов смежных прав"!
  1. Вам нужен навигатор с поддержкой технологии BirdsEye от Garmin , которая позволяет привязывать спутниковые снимки к карте. Изначально это платная штука. BE поддерживают практически все современные туристические навигаторы от гармин - Etrex 20 и 30, Oregon"ы, Dakota, GPSMap 62, 64, 78, Colorado и другие . Чтобы пользоваться этой технологией без ограничений, нужно перепрошить навигатор "правильной" пропатченной прошивкой.
  2. Подключаем навигатор по usb к компьютеру. Включаем, если сам не включился.
  3. Идем на офсайт и скачиваем утилиту, которая затем скачает последнюю версию прошивки для вашего прибора - WebUpdater .
  4. Запускаем утилиту. Она определяет прибор, скачивает прошивку. Провод не отключаем!
  5. На внутренней памяти в основной папке Garmin появляется файл под названием GUPDATE.GCD - это новая официальная прошивка
  6. Копируем файл на жесткий диск.
  7. Скачиваем программу-патчер FirmwarePatcher29, например, отсюда .
  8. Запускаем программу и патчим сохраненный на жестком диске файл с прошивкой. Вроде эта программа должна изменять номер прошивки на тот, который вы ей укажите, но у меня это сделать не получилось. Впрочем, не суть важно. Хотя номера "исходной" и "пропатченной" совпадают, у меня все работает. На двух аппаратах точно.
  9. На выходе получаем файл GUPDATE_Patched.GCD. Заменяем этим файлом файл прошивки на навигаторе.
  10. Удаляем из папки BirdsEye все файлы (не знаю, зачем это нужно, но в изначальной инструкции написано так).
  11. После этого отключаем навигатор от компьютера.
  12. Включаем навигатор и ждем, пока он обновит прошивку. Минут 5-7 - это нормально. Позаботьтесь, чтобы батарейки у прибора были свежие. В случае сбоев (да и вообще за установку такой прошивки) - вы лишаетесь гарантии от garmin...
  13. После обновления снова подключаем навигатор к компьютеру, чтобы залить карты.
  14. Копируем карты в папку Garmin/Birdseye, хоть на внутренней памяти, хоть на карте памяти. Если такого каталога нет - создать. Как сделать карты - читаем ниже.
  15. Отключаем навигатор от компа.
  16. Включаем навигатор. Идем в настройки карты, отключаем все лишние карты (типа Навитела и т.п.), оставляем только jnx. Если этого не сделать, они могут пересекаться/накладываться.
  17. Радуемся новым картам:)
  18. У меня пока что не получилось использовать разные типы карт jnx для одной местности, т.е. например, отдельно спутниковые, отдельно генштаб. В навигаторе включаются либо все карты jnx, либо ни одна. Это немного печалит.

Как сделать карты JNX в программе SAS Planet

  1. Последнюю версию САС Планеты скачиваете с официального сайта (программа бесплатная)
  2. Выбираете нужную карту в меню. Например: Генштаб >> Топокарта (Маршруты.ру) или Яндекс >> Спутник.
  3. Изучаете, на каких масштабах (обозначение в левом нижнем углу с буквой z, типа z12) какого качества и детализации карта. Иногда, при увеличении масштаба просто увеличивается картинка предыдущего слоя, а иногда появляется более детализированная карта.
  4. В случае, если вам нужна карта конкретного масштаба (например, километровка генштаб), то тут все легко.
    Выделяете нужную область, далее выбираете вкладку "Экспорт", формат "JNX растровая карта для Garmin".
    Во вкладке Карта выбираете нужный вам тип карты. В поле Масштаб нужно выставить тот, на котором карта наиболее качественно смотрится (см. п.3). В поле Шкала - масштаб на навигаторе , при котором данный слой будет появляться . Рекомендую сразу ставить 80 км. Такая "мономасштабная" карта на навигаторе будет выглядеть также, как и на компьютере, и при приближении/отдалении будет вести себя также.
    Жмем Начать - и все, карта готова.
    Важный нюанс! Сас Планет экспортирует карту только из уже загруженных тайтлов карты (т.е., кэша). Поэтому, перед экспортом, карту этого района в нужном масштабе (который z) надо загрузить в кэш. Делается это либо путем ее (карты) просмотра, повторюсь - в нужном масштабе. Либо выделяем - вкладка Загрузить - выбираем карту, масштаб, жмем Начать и загружаем в кэш. Потом делаем Экспорт.
  1. Если хочется, чтобы с изменением масштаба на навигаторе менялась и сама карта (двухкилометровка -> километровка -> пятисотметровка), это потребует чуть больше времени.
  2. Выбираем нужную карту, смотрим ее в разных масштабах. Масштабы, при котором сменяются карты, надо записать на бумажку.
    Например, в Топокарте Маршруты.ру смена такая: z9 - z11 - z12 (километровка атлас) - z13 (вроде 500-метровка генштаб) - z14 (250-метровка "новый генштаб"). Примечание: у разных районов может быть разный набор слоев, т.е. не везде вы найдете 250 или 500-метровку.
  3. Как и предыдущий раз, нужно загрузить в кэш нужные нам масштабы. Чем больше масштабов вы хотите загрузить и чем больше район - тем больше будет весить кэш и в конечном счете карта!
  4. Снова выделяем и выбираем Экспорт, формат JNX для Garmin.
    Все почти тоже самое, но теперь мы формируем слои нашей будущей карты из разных масштабов карты в Сас Планета. Суть: каждому масштабу на навигаторе (он указывается в поле "Шкала") будет соответствовать свой масштаб из программы.
    Здесь сложно однозначно дать подборку шкал-масштабов. Все зависит от наличия и качества карт. Для примера, при экспорте Топокарт в JNX областей ЦФО, я использую следующую "сетку":
    Топокарта - 11 - 80 км (т.е. при масштабе на навигаторе "80 км" и крупнее будет отображаться карта с 11 масштаба; вплоть до масштаба "2 км")
    Топокарта - 12 - 2 км (при переключении на масштаб в "2 км" будет отображен 12 масштаб)
    Топокарта - 13 - "800 м"
    Топокарта - 14 - "300 м"
  5. Карта готова к копированию в навигатор.

Являясь около полугода владельцем устройства "Garmin" конечно же, я с любопытством начал изучение сего девайса. И по пути, столкнулся с тем, что ответов и инструкций, понятных для того, кто впервые держит навигатор в руках не так уж и много. Изучив N-ное количество сайтов и форумов, я постарался собрать здесь единую "инструкцию по применению". Список источников информации приведен в конце статьи.

    Краткое содержание:
  • Создание/склейка и обрезка растровых карт в формате KMZ с помощью Global Mapper. Для тех, кто боится потерять гарантию.
  • Создание карт в формате KMZ с помощью SASPlanet. Для тех, кто боится потерять гарантию.
  • Создание многослойных карт в формате JNX с помощью SASPlanet. Для пропатченных устройств.
  • Создание и добавление карт в кэш SASPlanet, если таковые отсутствуют в программе, но есть где-либо.
  • Модификация прошивки устройства, для возможности бесплатной работы с картами JNX.

Склейка и обрезка растровых карт в формате KMZ с помощью Global Mapper

В открывшемся окне, выбираем папку, куда были скачаны карты и файлы привязки, выбираем формат "Ozi Explorer Map files (map.)". Выделяем файлы привязки и нажимаем открыть.


В результате получается вот такая, склеенная из нескольких листов карта. Для примера сшиваю 250-метровую карту ГГЦ. Теперь нужно удалить/обрезать поля с ненужными цифрами и координатами. Для этого во вкладке "Инструменты" выбираем "Центр управления". Откроется окно, в котором нужно выделить все листы карты. Далее нажимаем "Настройки".

Далее нужно сохранить получившуюся карту в формат KMZ. Для этого нажимаем “Файл/Экспорт/Экспорт растров”. В окне экспорта выбираем KML/KMZ. Далее в появившемся окне на вкладке “KML/KMZ настройки” выбираем настройки экспорта (В источнике автор предлагает выбрать “PNG” и размер 512х512 для более быстрой прогрузки карты в устройстве. Тут необходимо учитывать тот факт, что у приборов Garmin существует ограничение по фрагментам – изображениям, на которые разбивается карта при конвертации. В большинстве это 100 шт. К тому же мой Dakota, почему то отказывается видеть формат ”PNG”, поэтому я выбирал “JPG” и в окнах справа и снизу игрался с качеством и разрешением.)

Пункт 4 нужен для тех, у кого на готовой карте при просмотре, на месте обрезанных полей появляется кайма. Во вкладке “Экспорт границ” ставим точку в пункте “Широта/Долгота, град.” Готово! Получившийся файл можно открыть в программе Google Earth и посмотреть как он ложится на рельеф.

Создание карт в формате KMZ с помощью программы SASPlanet

Скачать программу можно с официального сайта, установка не требуется. Клеить карту для примера, буду на основе топо-карт генштаба с сайта: маршруты.ру. Запускаем программу. Перемещаемся в нужное нам на карте место. Например: Слюдянку. Далее выбираем тип отображения: на выбор предоставлены всевозможные сервисы с картами и спутниковыми снимкам.

Приступим к созданию полигона – выделению области (которая и будет являться вашей картой). Нажимаем ”Операции с выделенной областью” и выбираем подходящий вариант, например “Полигональная область”. Затем с помощью мышки выбираем любой интересующий нас участок. Мини-панель справа от выделенной области нужна для управления выделением. Закончив выделение, нажимаем галочку на мини-панели. Появляется окно “Операции с выделенной областью”. Не будем пока ничего в нём заполнять, а отодвинем в сторонку, чтобы не мешалось. Хотя можно и просто закрыть. Оно снова откроется по сочетанию клавиш "Ctrl+B" или выбором пункта "Предыдущее выделение" в том же меню.

Но, ни Яндекс, ни Гугл, ни кто либо другой, не заказывают спутниково-космических снимков различной степени детализации для каждого своего уровня. Это было бы слишком дорого, да и не совсем разумно. Поэтому другие масштабы формируются из снимков

  • Или путём 2-х кратного сжатия, когда 4 стандартных тайла/фотографии по 256х256 пикселей (512х512) превращаются в один тайл 256х256 более верхнего уровня
  • Или наоборот (но реже), увеличивая тайл в 2 раз (качество от этого, к сожалению, не улучшается)
Если мы возьмём бумажные карты (Генштаб, ГГЦ и проч.), то для них реальный уровень всегда один (одна карта – один масштаб), а остальные уровни формируются по такому же принципу.

Когда в мануале будет заходить речь о верхнем уровне отображения, о верхенем уровне перехода и вообще о верхнем уровне, то имеется ввиду маленький Зум (z1 – самый маленький) и мелкий масштаб (1: 500 000 = в 1 см. – 5 км. мельче, чем 1: 50 000 = в 1 см. – 500 м.). Если вам будет легче усвоить, то представите себя поднимающимся на воздушном шаре – чем выше вы над уровнем земли, тем меньше масштаб "карты-земли". Верхний уровень – выше над землёй, понижаем уровень – опускаемся на землю. Грамотно как с точки зрения логики, так и юзабилити интерфейса устроен сервис Яндекс Карт – кнопочка "+" у них находится вниз.

В Google-сервисах и в SASPlanet ползунок надо тянуть вверх – повышать масштаб. Но понижать уровень. Так вот, в картах KMZ верхнее и нижнее ограничения на уровень отображения задаётся стандартом и зависит от того, из которого склеена карта. Допустим мы взяли снимки уровня, которому соответствует масштаб километровки (z15). Когда мы зальём их в навигатор, то наша карта включится на масштабе 3 км (верхний уровень), а выключится только на 20 метрах (нижний уровень). То есть, при цифровом масштабировании реальное изображение будет уменьшаться только в 4 раза (что не плохо), а увеличиваться в 16 (жопа из пикселей). Хотя мы помним, что при переходе на один уровень вниз (тем увеличиваем масштаб) количество тайлов при заданном размере увеличивается квадратично (километровка делится на четыре 500-метровки), уменьшая в 4 раза доступную площадь покрытия, но мне кажется, не стоит сильно гнаться за увеличением площади карты, а лучше выбирать уровни, соответствующие если уж не максимальному качеству снимка, то близким к нему. Просто потому, что экраны навигаторов не ретина-дисплеи смартфонов, несовершенство проще добить SD-картами, которые подешевели до каких-то неприличных цифр – за 2 Gb просят всего 100 рублей... Но как бы то ни было, картами уровня "z19" можно покрыть около 12 кв.км площади, учетверяя её каждым щелчком уменьшения масштаба.

Как определить "правильную" картинку? Как ни странно, самый оперативный способ – чисто визуальный. Правда нужна некоторая сноровка. Если подходить субъективно, то слой перед последним кажется самым резким, а следующий немного пиксельным, растянутым. Но обычно такой эффект создаёт "цифровой шум", присущий электрическим фотографиям – а на самом деле он и есть наш "правильный".

Чтобы отключить несуществующие уровни в SASPlanet, нужно в меню "Вид" снять галочку напротив строчки "Брать карты из меньших масштабов" и отсутствующие тайлы выводиться не будут.

Возвращаемся в окно "Операции с выделенной областью". Оно сразу откроется на вкладке "Загрузить". Во вкладке “Загрузить” в выпадающем меню выбираем наш источник карты. (Не обязательно тот же, в котором, мы просматриваем карту в программе.) Выбираем необходимый зум в колонке справа 1-24. Нажимаем “Начать”.

По окончании процесса закрываем окно загрузки и переходим на вкладку “Склеить”. Но прежде не плохо бы убедиться, что он закончился с положительным результатом. Помочь в этом деле может "Карта заполнения слоя". В этом меню нужно указать три параметра: В подменю "Формировать для..." выбрать "Как на главной карте", или ту карту, которая нужна. Выбрать масштаб. Выбрать, что показывать – существующие тайлы или отсутствующие. Если выбрать отсутствующие – именно они изменят тон на более тёмный, если существующие (как на картинке) – потемнеют они.

Убедившись в равномерности заполнения слоя можно двигаться дальше. Во вкладке “Склеить” выбираем: "Результирующий формат" – выбираем "KMZ for GARMIN". "Куда сохранять" – выбираем папку и даём название файлу. Проверяем "Тип карты". Не забываем поправить "Масштаб". Поле "Наложить" и проекцию к нему оставляем пустыми. Так же не ставим никаких галочек напротив пунктов "Применять коррекцию изображений" и "Накладывать отображаемые метки" (если последние не нужны конечно). Если есть пункт "Сохранять PNG с прозрачностью" (v.121010) – снимаем выделение – здесь эти картинки точно не нужны.

И в поле "Создавать файл привязки" тоже ничего не ставим – привязка KML у нас внутри KMZ-файла. "Качество для JPEG и ECW" оставляем по умолчанию – "95". Смотрим на строчку "Количество файлов", где видим такие значения "49х28(1372), размер: 12353х6785".

Количество реально скаченных тайлов нас не интересуют, они не нашего размера. В задачу программы входит их сначала склеить, а потом порезать по KMZ-шаблону. Поэтому нам важны только последние значения.

Мы помним, что размер нашего тайла не должен превышать 1024 пикселя по каждой из сторон. Именно на такие квадратики нам нужно разрезать карту. Достигается это путём не сложных арифметических вычислений, где каждую цифру нужно поделить на 1024, а любой результат обязательно округлить до бо́льшего значения. Так получаем цифры хх по горизонтали и хх по вертикали.

Нажимаем “Начать” и ждём окончания процесса. Готово!

Создание многослойных карт в формате JNX с помощью SASPlanet

Кратко о формате JNX
Файлы в формате JNX используются в устройствах Garmin для показа спутниковых карт, доступных через подписку “BirdsEye”. В навигаторах эти файлы располагаются в папке “Garmin\BirdsEye” на внутреннем диске или SD-карточке. JNX – так называемый “тайловый” формат, то есть большое растровое изображение в карте разбито на меньшие прямоугольные части для ускорения показа навигатором. Поддержка карт JNX имеется в следующих устройствах: Alpha 100, Astro 320, Colorado 300/400, Dakota 10/20, Edge 800, Etrex 20/30, GPSMAP 62/78, Montana 600/650, Oregon 200/300/400/450/550, Rino 610/650/655.

Существенным ограничением формата JNX является жесткая привязка карт к устройству.

Результаты исследования
Формат JNX почти полностью исследован (за исключением части блока служебных данных загрузчика, которой можно вполне пренебречь при создании собственных карт). Разработан набор утилит как для преобразования растровых карт в формат JNX, так и для обратной конвертации.

Хотя файлы в формате JNX содержат код привязки к устройству, известны два способа использования собственных карт JNX в навигаторах Garmin.

Первый способ:
Можно пропатчить прошивку устройства таким образом, чтобы снять ограничение на количество показываемых демонстрационных карт и их площадь.

Второй способ:
Если у вас оформлена подписка “BirdsEye”, можно воспользоваться “BaseCamp” для активации собственных карт JNX. Для этого достаточно сделать карту одним из конвертеров, загрузить полученный файл JNX в устройство, затем запустить “BaseCamp” и скопировать карту с устройства в коллекцию. После этого карту можно будет послать обратно на устройство, при этом “BaseCamp” активирует карту и привяжет её к устройству. Этот метод сработает только в том случае, если устройство связано с подпиской “BirdsEye”.

Внутренняя структура файлов JNX
Описание формата получено в результате экспериментов с файлами JNX, полученными от добровольцев.

    Файл формата JNX можно условно разделить на 7 частей:
  • 1. Заголовок.
  • 2. Таблица с описанием уровней.
  • 3. Служебная информация загрузчика карт.
  • 4. Таблица с описанием тайлов.
  • 5. Сигнатура.
  • 6. Набор тайлов.
  • 7. Метка конца файла.

Запускаем программу и находим нужный регион. Далеко ходить не будем, возьмём ту же Слюдянку. Если для карт KMZ нам нужно было выбрать один уровень и один источник для него, то сейчас можно пофантазировать(формат JNX позволяет использовать до 5-ти разных слоёв в одной карте). Но перед этим не плохо бы проверить, кто что предлагает на данную территорию. Побродив по меню Карт, я выбрал три уровня. На нижнем (z18) у нас будут лежать всё Google спутник, в серединке "бумажный" ГГЦ на 250 м (z16), чтобы не заблудиться, а в самом верху (z14) разместим Генштаб на 2км.

Далее как в предыдущем пункте – создание карт в формате KMZ с помощью SASPlanet. (Выделяем нужную область, и выкачиваем карту,из нужных нам источников с “правильным” зумом (т.е. в моём примере скачиваем Google спутник, когда загрузка закончится в том же окне выбираем след. источник – 250метровые ГГЦ с Маршруты.ру, выкачиваем, повторяем процедуру для 2км Генштаба). Не забыв потом убедиться с помощью "Карты заполнения слоя", что все выбранные тайлы на месте. После этого уже начинается область неизведанного – вкладка "Экспорт" в окне “Операции с выделенной областью”.

Но перед тем, как наполнять её значениями, надо немножечко разобраться – как, чем и почему. Представьте, что перед вами лежит стопка карт одной и той же местности. Чтобы рассмотреть более детально какой-то квадрат, вы просто откладываете в сторону лист с мелким масштабом и переходите к следующему. Сначала 10-ти километровку, потом 5-ти, потом 2, потом 1, потом 500 метров... В навигаторе же детализация может происходит более плавно, потому что градация масштабов более расширенная. И увеличивая масштаб, какое-то время вы всё равно будете рассматривать всё ту же карту.

В родных JNX-картах, полученные по подписке BirdsEye, содержатся уровни со значениями масштабов, заданных некими целыми числами разной величины. Что они означают на самом деле – науке до сих пор неизвестно и остаётся тайной гарминовских программистов. Но умные люди на их основе придумали свою, расширенную последовательность, которая и используется во всех приличных программах, способных к компиляции JNX-файлов. В SASPlanet эта шкала цифр переведена в удобный нам метрово-километровый формат.

Всё было бы просто, если бы мы делали карты по шаблону BirdsEye и масштабы у нас шли последовательно, один за другим. Программа бы сама подставляла нужные значения и незачем было бы париться. Только у нас всё может быть несколько сложнее, если не сказать – навороченнее.

Давайте рассмотрим простую ситуацию, когда в нашей коллекции карт не хватает одного листа. К примеру, куда-то затерялся лист 500-метровки, а в наличии только километровка и 250 метров. На бумаге, как уже говорилось, сделать это просто – отложим один лист и сразу перейдём на другой. Навигатору же придётся проделать более длинный путь – пройти уровни 800 м., 500 м. и 300 метров. А нашей задачей, при создании подобной карты, является указать ему, на каком уровне "выключить" одну и включить другую.

Казалось бы решением, лежащим на поверхности, является – всё взять и поделить. Поровну. = 500. Но людям, имеющим дело с фотографиями, не менее логичной показалась бы цифра 800 – всё лучше смотреть на уменьшенную в 4 раза 250-ти метровку, чем на пиксельную километровку. Только правильная цифра – 300. А чтобы понять, почему так, рассмотрим один, совсем не гипотетический случай.

Предположим, что в ваш навигатор залиты карты двух соседних квадратов. Одну делали вы и сделали её двухуровневой. Потому что куда-то затеряли свой 500-метровый лист, а "точкой перехода" назначили уровень в 500 метров. А на другой квадрат вам дал друг (или скачали из интернета) и в ней наличиствуют все 3 уровня с правильными переходами: на 800 м. для 500-метровго листа и 300 метров для 250-ти метрового.

Когда вы окажетесь на стыке этих квадратов, а их тайлы будут одновременно выводиться на экран, произойдёт вот что:

  • при значениях шкал масштаба навигатора от 2 км до 1,2 км будут выводиться километровые карты
  • при значении 800 м карта друга переключится на 500-метровку, а на вашей останется километровка
  • при значении 500 м карта друга останется на 500-метровке, а ваша переключится на 250-метровку
  • при значении 300 м карта друга перключится на 250-метровку, а ваша... а ваша исчезнет навсегда вплоть до 5-ти метровой шкалы

Честно скажу – я не знаю, баг это или фича, но если для карт одного уровня (в нашем случае 250-ти метровка) установить разные значения для верхнего уровня отображения, назовём её "точкой перехода", то карты с большими значениями перестанут отображаться. При условии, что они одновременно видны на экране конечно. В одной карте одним файлом такое сделать, разумеется, невозможно. Но для двух соседних карт – запросто.

Поэтому правило такое – если вы стремитесь к совместимости не только всех своих карт, но и с картами друзей-картосоздателей, при наличии пропущенных масштабов всегда устанавливайте верхний уровень отображения на значениях, следующими за масштабом имеющейся карты:

  • для 250-ти метровки это будет 300 м
  • для 500-метровки – 800 м
  • для километровки – 1,2 км
  • для 2-х километровки – 3 км
  • для 5-ти километровки – 8 км
  • для 10-ти – 12 км

Но опять же... Правила есть. Но они настолько субъективны... В одних сообществах они одни, в других могут быть совершенно другие – я про них для порядку написал. Вы же делайте, как вам удобно и считаете правильным. Это ваши карты и вам с ними жить. И нафига тогда мучаться? Попробуйте наделать разных вариантов вокруг своего дома, и прогуливаясь с собачкой (ну или за пивом там) протестируйте – как и чего. Это сложно описать правилами на самом-то деле – у каждого своё мироощущение. Если бы мне была важна в этой сборке бумажная 250-ти метровка, а на верхнем уровне только спутниковая 2-километровка, я бы плюнул на правила и поставил верхнюю точку перехода для неё на 1,2 км. – для пущего обзора окрестностей.

Так что если вдруг вы попадёте в ситуацию, когда часть карты на каких-то значениях перестала выводится на экран, при этом она точно там была и работала, то выходом из такой ситуации является только временное отключение какой-то одной, пока не нужной.

Это что касается значений верхнего уровня. Теперь перейдём к нижнему. С ним просто – его нет. Карта любого масштаба, если она лежит на самом нижнем уровне, по идее будет отображаться вплоть до предельных приземлённых значений (в Garmin – 5 м.) Для космоснимков по подписке BirdsEye это может и нормально, но если у нас на нижнем уровне окажется хотя бы километровка, то при приблежении в 5 метров экран отобразит даже не пиксель отсканированной карты, а его маленькую часть. Для таких случаев тоже придумано решение, но оно не совсем тривиальное. (В картах JNX имеется только верхнее ограничение на уровни приближения, при которых показывается тот или иной уровень карты. Скажем, если в заголовке уровня JNX прописано значение масштаба 76437, то тайлы этого уровня будут показываться при зумах от 20км до 5м. А вот возможности явно указать, что уровень должен отключаться, скажем, при достижении приближения в 1,2 км (то есть задать нижнее ограничение), форматом не предусматривается. Однако есть неявный способ введения подобного ограничения.

Чтобы отключить карту ниже некоторого приближения, требуется создать в карте еще один слой с нужным значением масштаба (для зума 1,2км это будет 4777), содержащий единственный тайл с координатами, не пересекающимися с координатами карты. Естественно, карта, в которую добавляется новый ограничивающий уровень, может содержать не более четырех обычных уровней.

В качестве изображения тайла может быть использована однопиксельная картинка, либо можно записать в файл ссылку на первый тайл из первого уровня карты. Координаты можно взять равными, скажем, 90N, 180E – это предпочтительный вариант, однако для него потребуется доделка имеющихся на сегодняшний день конвертеров. А можно просто использовать в качестве координат тайла координаты одного из углов карты – такой способ можно применять даже с доступными сейчас программами). В стремлении охватить неохватное, легко выйти за рамки, когда количество тайлов на каком-то уровне может превысить допустимое форматом. Но в SASPlanet мы не можем самостоятельно указывать размеры тайлов для JNZ-карт, как делали это с картами KMZ. Она не даст нам (надеюсь, что пока) увеличивать размеры, уменьшая количество. Но предлагает другой вариант – многотомный архив. Так что не пугайтесь, если увидите в финале вместо одного файла целых два, а то и три. Только, опять же, для меня это тоже область неведомого, таких огромных карт я не делал, но вроде как должно работать.

Возвращаемся в закладку "Экспорт". Сначала определяемся с базовыми вещами – выбираем название для карты и указываем куда мы хотим её сохранить.

Дальше на очереди вкладка "Карты". Последовательность, в которой мы будем заполнять уровни, значения не имеет, они станут правильно при любом раскладе. Мне же кажется логичным размещать карты для верхнего уровня вверху таблицы, а крупные масштабы внизу – сложнее запутаться в "точках перехода" с карты на карту. Но повторюсь – кому как удобнее.

Первым по списку идёт 2км Генштаб. Zoom 14 примерно соответствует бумажной 2-х километровке, но поскольку уровень у нас самый верхний и достаточно большой для бумаги, шкалу поставлю на 3 км. Сжимать её не буду, оставлю 95.

Вторым номером выступает бумажная 250-метровка ГГЦ, снятая с 16-го zoom"a. Карты ходовые, поэтому включу отображение на 300 метров. Сжимать тоже не буду, но при желании качество для бумаги можно умешать до 70, меньше не стоит.

Третьим нижним разместился Google субметровый спутник с 18-го zoom"a. Это много меньше стометровки на бумаге, но она мне нужна и включать я её хочу уже с 200-сот метров. Качество без изменений.

Последний этап, переходим во вкладку "Дополнительные операции". "Тип снимка (ID)". По умолчанию предлагается стандартный список, доступный по подписке BirdsEye. Но можно поставить своё. JNX-карты в приборе группируются по этому полю. Это как виртуальная папка, как библиотека. Физически все файлы карт должны лежать в папке “Garmin\BirdsEye”, но в списке установленных будут разложены по группам. Отображаться будет только буквенное значение группы и имя файла. Структура же заполнения: "цифровое значение" "пробел" "дефис" "слово латиницей". У меня указано ID – "27 – SD". Число месяца – 27, SD – SLUDYANKA. Поля "Название карты" и "Наименование" – эта информация необходима только “BaseCamp”, без неё он отказывается воспринимать самоделки. Можно оставить по умолчанию. "03" в моём случае означает комбинированные уровни.

Draw Order, порядок отображения или Z-сортировка. Эта штука имеет 101-но значение: от 0 до 100. В JNX-картах 4-ой версии, так же как и в KMZ, допускается ручная установка. Что она означает. Изначальные, и самые-самые родные для Гармина – карты векторного формата. Помимо нескольких уровней детализации он имеет многослойную структуру. Такие объекты, как дороги, тропинки, озёра, лесные массивы – все эти вещи располагаются на разных слоях (примерно, как слои в фотошопе). Значение 50 проходит по слою дорог.

Если вы хотите, чтобы поверх вашей JNX-карты отображались какие-то объекты векторной (у меня всегда стоит ТОПО), то нужно устанавливать значения < 50. По мере уменьшения значения к дорогам и тропинкам присоединятся леса и болота, реки и озёра, поля и луга... Путевые точки, треки, маршруты, POI – они находится за границей допустимых значений и отображаться будут всегда. Нажимаем “Начать” – Готово!

Создание и добавление карт в кэш SASPlanet,
если таковые отсутствуют в программе, но есть где-либо

Приведу простой пример, для Тункинских гольцов “Нилова Пустынь – Шумак – Аршан” в программе SASPlanet нет карт Генштаба 500-метрового масштаба, есть 1км и другие. Но, например, на сайте http://loadmap.net/ эти карты есть. Для создания собственных карт понадобится 2 программы: “Global Mapper” и “Satmap”.

Открываем “Global Mapper”. Открываем скачанные листы карты/ файлы привязки map. Экспортируем карту в веб. На настройках остановимся поподробнее: уровень увеличения если к примеру при экспорте он равен 15 как на скрине, то по факту получится 16, то есть на 1 больше. Номер уровня увеличения влияет на то сколько уровней будет создано (я всегда ставлю 1, оно и быстрее происходит, да и удобнее более мелкие зумы в SAS планете создавать). Формат плиток как правило я выбираю JPG с качеством 99 (PNG можно использовать при создании слоёв с прозрачностью) и ставлю галочки в отмеченных на скриншоте местах (оно существенно увеличивает скорость создания тайлов).

В левом поле окна “Импорт Google Map Tiles” ставим галочку в пункте “Все” и нажимаем “Ok”. После чего программа откроет/импортирует тот набор данных, который мы сохраняли в предыдущем шаге в “Global Mapper”.

Выбираем то, что сохранили в 6-м пункте (выбирать сам диск). В зависимости от того в каком формате мы экспортировали из “Global Mapper” и в этой программе указываем расширение. Далее нужно экспортировать кэш. Выбираем меню “Сервис/Экспорт кэша в SASPlanet” Я обычно выбираю все и уровни и слои.

Указываем куда сохранять кэш. Я пока не совсем с этим разобрался и просто сохраняю кэш на рабочий стол а уже оттуда закидываю карту в нужную категорию кэша. В данном примере у нас в программе отсутствовали 500 метровые карты Генштаба для Тункинских гольцов. Кэш я закинул в папку cache/genshtab500. Жмём “Ok” и имеем созданный, нами кэш. После закрытия “SatMap” желательно удалить 3 созданных ею файла, для того чтоб при следующем запуске кэш не смешивался и вышла нормальная карта. Чтоб их удалить я сортирую файлы по дате создания, и созданные в тот день, когда делаю карту, после её создания удаляю.

Модификация прошивки устройства, для возможности бесплатной работы с картами JNX. Вариант для тех у кого прошивка не самой последней версии. Для начала нам нужно где-то достать прошивку на наш аппарат. Самый простой и самый надёжный способ, это приготовить её самим. Для этого нам понадобится “Garmin Web Updater”, который загружаем с сайта Garmin. Устанавливаем веб-апдейтер, подключаем прибор usb-кабелем, после чего запускаем “Garmin Web Updater”. Он находит наш прибор и мы соответственно жмём "Далее". Затем мастер нас проведёт через все ступени обновления. По завершении нажимаем “Готово”, но при этом кабель не отсоединяем. Прибор продолжает оставаться подключенным к компьютеру. Теперь через проводник заходим внутрь прибора в папку “Garmin”. Находим там файлик “GUPDATE.GCD” и скопируем его на рабочий стол в заранее созданную нами папку с названием "Прошивка". Прибор всё так-же подключен к компьютеру! Скачиваем патч. Распаковываем архив в папку "Прошивка" и запускаем патч. Сначала появляется окошко Дискламера. Мы в нём нажимаем “Да” и тут-же запускается сам патчер.

Далее поступаем следующим образом: Нажимаем “Browse..” И в открывшимся окошке мы увидим нашу прошивку. Дважды щёлкаем по ней. Всё... Конечно у патчера есть ещё парочка чекбоксов для галочек, но они не влияют на работу прибора и отображение карт, поэтому останавливаться на них не вижу смысла. Всё. В папке рядом с нашей прошивкой “GUPDATE.GCD” появился файлик “GUPDATE_Patched.GCD”. Это и есть наша патченная прошивка! Её возвращаем в прибор и кладем в папку “Garmin” где и переименовываем из “GUPDATE_Patched.GCD” в просто “GUPDATE.GCD”. Только теперь отсоединяем кабель и перезагружаем, или запускаем прибор. Прошивка начнётся сразу. Всё. Прибор прошит и готов к пониманию и виденью растровых карт JNX формата!

Теперь рассмотрим другой вариант, это когда у вас уже стоит последняя версия и прибор ни в какую не желает "шиться" на патченную версию. Например, на моём Dakota стояла прошивка последней версии (5.80). Источники в интернете в основном предлагаю найти и скачать предыдущую версию прошивки, после чего откатиться на неё. И уже после действовать по вышеописанной инструкции. Но гораздо проще немного обмануть ваш прибор на этапе пропатчивания прошивки. В окне патчера, перед тем как открывать оригинальную прошивку. Нужно поставить галочку в пункте “Adjust Firmware version number”. Тем самым, я как бы обманул навигатор, сказав ему, что ставлю прошивку версии (5.81) на мою (5.80) версию.

Когда фирма Гармин наконец-то решилась использовать растровые форматы, она и сама тут же захотела предложить своим клиентам взглянуть на Землю не только через плоскость топографических карт, но и с высоты птичьего полёта. Для чего запустила сервис BirdsEye , купив подписку в котором, вы сможете заливать в приборы не только схематические изображения местности, но и достижение нынешней цивилизации -- космоснимки.

Контейнер (формат/расширение файлов), в который упаковываются космические фотографии для заливки в прибор, она назвала JNX.

Хоть в сердце своём, как и у KMZ-файлов , всё так же остаётся растровое изображение с топографической привязкой, служебная оболочка тут более продвинутая:

Во-первых, появились уровни детализации (масштабирование). Числом 5.
. Во-вторых, если прибор может понять (и простить нам) только 100 (или 500 в приборах Montana) KMZ-файлов/тайлов, то JNX-контейнер позволяет разместить их по 50.000 на каждом уровне.
. В-третьих, Гармин разрешила заливать до 250-ти карт/контейнеров в устройства с прошивками, выпущенными с марта 2011 года и до 200 карт, работающих на более ранних прошивках. (!) Именно прошивках, не приборах. Прошивки можно обновить, если доступны.
. В-четвёртых, исходя из предыдущих количественных показателей, мы можем без существенных площадных потерь смело уменьшать размер и вес каждого тайла, от чего должна увеличиться скорость отображения/обновления и прокрутки картинки на экране.

Но есть и ложечка... дёгтя -- вся эта красота залочена и жестко привязана к устройству.

(!!!) Поэтому! а) если вы не готовы пропатчить (читай перепрошить) свой прибор из-за каких-то суеверий, из-за боязни за прямоту рук или в страхе потерять гарантию, б) при этом так же нет готовности официально оплатить BirdsEye Satellite Imagery -- то лучше остановиться на этом месте, довольствуясь возможностями KMZ-формата. По-крайней мере -- до созревания:)


Теперь о том, как самодельные JNX-карты могут попасть в наши приборы.

Смысл этого вот в чём. Прежде чем оплатить подписку BirdsEye, фирма Гармин любезно предлагает его (сервис) протестировать. И создать одну тестовую JNX-карту с какой-то минимальной площадью покрытия. Задача патча заключается в том, чтобы после "инъекции от жадности" мозг навигатора навсегда забыл о проверке ограничивающих параметров, радуя нас всей широтой родных просторов.

Но перед тем, как приступить к процедуре, нужно посетить страничку на сайте a_whiter "a, автора патчера, и убедиться, что ваш прибор и прошивка пригодны для такого лечения. Если данные прибора совпадают с возможностями патчера, смело переходите на страницу загрузки актуальной версии (по ссылке на той же странице), скачивайте и распаковывайте в удобную для вас папку.

Тут пути-дорожки тех, у кого приборы с последней версией прошивки и у кого прошивка была старой, ненадолго расходятся. Последние могут сразу перейти к . А первые продолжают подготовку прибора.

Дело в том, что пропатченная прошивка -- это не какая-то новая и совершенно отличная от официальной программа, а всё та же версия той же гарминовской прошивки, которой лишь в маленькой толике был подправлен код. А прибор, при условии, что установленная прошивка не глючная и работает без ошибок, обновляться на ту же самую версию откажется, оставшись "при своих". Поэтому, прежде чем установить новую прошивку, нам нужно downgrad-ить установленную.

Как работает WebUpdater... Эта утилитка по своей сути является обычной файловой качалкой. Её роль сводится к следующему -- сначала она ищет в приборе какой-то служебный файл, из которого считывает HWID и версию прошивки. Затем обращается к своей базе данных, находит последнюю версию для этого HWID-а и заливает его во всё ту же папку? Х:\Garmin\. Конец. Дальше прибор всё делает сам, запуская установку при перезагрузке.

Нам же нужно проделать это вручную, только задачей является найти не последнюю, а более раннюю версию.
За точку отсчёта можно взять Wikispaces: Dakota , eTrex 20/30 , Montana , GPSMAP , Oregon 6xx , Oregon x50 (450 and 550) , Oregon 200, 300, 400i, 400c, 400t , Colorado .

Если там найти не удастся, ещё неплохой каталог есть на этом сайте, где по HWID тоже можно попробовать поискать свой вариант. Для этого на приборе, в папке? Х:\Garmin\ нужно найти файл GarminDevice.xml и открыть его любым текстовым редактором (блокнот подойдёт). Практически в первых строках кода найти примерно такую строчку: 006-B0661 -00370 .

Это означает, что HWID прибора "0661" с версией прошивки "370" (при этом не обольщайтесь, обмануть прибор, как раньше бывало, просто поправив версюю в коде на более раннюю (360; 350 … 320), больше не получится -- они стали чуть умнее). Потом найти в таблице свою версию, загрузить на компьютер и разархивировать, если файл упакован в архив.

ЗЫ: Может так случится... А скорее всего так и случится -- навигатор перестанет видеть карты, которые в него установлены. Даже векторные, даже базовые, обзорные... Так вот -- не пугайтесь. От такого "лечения электричеством" у кого хочешь мозги поедут, даже если они электронные. Девайс всего лишь потерял связь с реальностью и не может понять кто он где он. Отнеситесь с понимание и помогите ему -- положите на подоконник, а лучше вынесите на балкон, -- ему надо пообщаться со спутниками. Как только они всё ему расскажут и сообщат последние новости, он станет ещё лучше прежнего:)

С туристической навигацией в России наблюдается некоторый диссонанс. Нам доступны самые навороченные GPS навигаторы, но у нас нет хороших туристических электронных карт. По ленинградской и московской областям есть неплохая картография от официального дилера Garmin, но когда дело касается отдаленных районов нашей необъятной, то простому туристу приходится довольствоваться «Евразией», масштаб которой оставляет желать лучшего. При этом существуют хорошие бумажные карты. Более того, среди активных туристов не редкость - засаленные ксерокопии «секретных военных карт», которые, в навигатор так просто не засунуть.

На самом деле, работать с растровыми картами позволяет старый добрый OZI. Программа ставится на девайс под управлением Windows Mobile, загружаются нужные карты нужного масштаба - и вперед по грибы, по ягоды. Все бы хорошо, но карманный компьютер сложно считать надежным туристическим прибором. Отчасти, проблему решает аквапак и самодельное внешнее питание из нескольких батареек, перемотанных синей изолентой. Добавьте к этому самодельное же велокрепление из двух дощечек и куска проволоки, и вы получите супер-навигатор в лучших традициях отечественных кулибиных.

Хочется цивилизованного решения. Чтобы батарейки вставлялись в сам навигатор, влагозащиту обеспечивал корпус, а аксессуары вроде креплений и чехлов можно было купить в магазине, а не сделать дома из подручных материалов. Спешим обрадовать, Garmin наконец-то позаботился о тех, кто по необходимости или в виду других причин предпочитает векторым картам растровые. Загрузку растровых карт поддерживают навигаторы Garmin с сенсорным экраном. В качестве теста мы решили загрузить растровую карту в навигатор Garmin Oregon 200.

На дворе - не май месяц, и мысль о туристической вылазке в сторону Выборга или Приозерска не очень-то радует автора статьи, привыкшего к городскому комфорту. Для лабораторных исследований мы ограничимся картой центра Петербурга, найденной в Google по запросу «Карта Петербург». Не будем переживать из-за того, что найденный материал по подробности уступает картам «Дороги России». Задача - получить на экране прибора нашу картинку, а не стандартную векторную карту.
Исходная растровая карта для загрузки в навигатор Как загрузить растровую карту в навигатор Garmin (пошаговое руководство)

0. Обновление ПО навигатора

Старые версии ПО не позволяют работать с растровыми картами, поэтому будет нелишним обновить прошивку прибора. Это делается при помощи официальной программы WebUpdater. Навигаторы серий Colorado, Oregon и Dakota можно обновлять смело, русификация не потеряется. Важно, чтобы в приборе стояли достаточно свежие батарейки или заряженные аккумуляторы. Сама прошивка начинается после того, как навигатор будет отключен от компьютера. Нехватка питания может привести к тому, что придется нести прибор в сервис.

Обновление ПО навигатора

1. Подготовка изображения

Прежде чем карту загрузить, ее нужно найти. Оставим этот пункт на вашей совести. Карта должна быть сохранена в формате jpeg. Рекомендуемое разрешение - 155 DPI для Garmin Colorado и Oregon и 110 DPI для Garmin Dakota.

Сохраняем файл карты с нужным значением DPI

2. Загрузка и установка Google Earth

Это можно сделать с . Если программа уже установлена, сразу переходите к следующему пункту.

Программа Google Earth

3. Привязка карты к местности

Пока что ваша карта понятна только вам. Навигатор и Google Earth не имеют ни малейшего понятия, что это вообще за картинка, и к какой части земного шара она имеет отношения. Чтобы превратить картинку в карту нужно ее привязать. Мы рассмотрим русскоязычную версию Google Earth, справедливо полагая, что знатоки английского языка могут обойтись англоязычной инструкцией по загрузке.

Следующие действия можно выполнять несколько иначе, но, как нам кажется, такая последовательность действий будет достаточно удобной.

Найдите в программе ту часть земного шарика, карту которой вы хотите загрузить в прибор.

Выбираем нужное место в Google Earth

Загрузите картинку при помощи пункта меню «Добавить», «Накладываемое изображение».

Загружаем изображение с картой

Если знаете примерные координаты карты, то можете их ввести в окне, которое откроется при добавлении изображения. При помощи ползунка «Прозрачность» полезно будет сделать изображение полупрозрачным, это упростит привязку. Не закрывайте окно свойств накладываемого изображения, просто перетащите его за пределы экрана.

Окно свойств накладываемого изображения

Мышкой наложите изображение на местность. Чем точнее будет проделана эта процедура, тем точнее будет ваша карта. Картинку можно увеличивать и уменьшать, поворачивать (зеленый ромбик возле одной грани) и перемещать (зеленый крестик посередине изображения).

Подгоняем размеры и положение наложенной карты

Слева на панели программы «Метки» вы увидете название наложенного изображения. То название, которое вы дали при загрузке картинки. Щелкните по нему правой клавишой мыши и выберете пункт «Сохранить местоположение как…».

Сохраняем привязанную карту в отдельный файл

Когда откроется окно сохранения изображения, проверьте, чтобы был выбран тип файла.kmz

Собственно, на этом манипуляции по подготовке карты закончены. Осталость только загрузить полученный kmz-файл в память навигатора. Файлы с растовыми картами загружаются в папку./Garmin/CustomMaps/ на SD-карточку или во внутреннюю память прибора

Теперь посмотрим, как это выглядит в навигаторе. В списке карт появилась наша карта «test». Ее можно отключить, как и любую другую карту. Если вы загружаете несколько растровых карт, то все они будут отображаться в списке, как одна.
Слева - растровая карта в списке карт, справа - растровая карта на экране навигатора

Теперь самое интересное. Посмотрим, как эта карта выглядит на экране. Кроме растровой карты, в навигатор была загружена «Дороги России. Топо». Мы видим, что обе карты наложились друг на друга, можно видеть растровую карту и, при этом, прокладывать маршрут по карте векторной. По сравнению просто с «ТОПО», наблюдается некоторое торможение. Если использовать только растровую карту, отключив все остальные, то навигатор работает очень шустро.
Слева - растровая карта на экране навигатора, справа - растровая карта с наложенными поверх дорогами из карты «Дороги России. ТОПО» и проложенным маршрутом.

Ограничения

Есть некоторые технические ограничения на размер карты.

  1. Размер файла с картой не должен превышать 32 Мб
  2. Растровая карта в навигаторе хранится в виде тайлов - отдельных фрагментов одного большого изображения. Так вот, количество таких кусочков не должно превышать 100, а разрешение каждого тайла должно быть не более 1024×1024 пиксела.
  3. Если вы загружаете несколько растровых изображений, то ограничения остаются такими же для всех изображений. Т.е. характеристики суммируются и не должны превышать указанные в 1 и 2 пункте значения.

Перспективы использования растровых карт в туристических GPS навигаторов вполне ясны. Эдак можно любое изображение в навигатор засунуть, будь до сверхсекретная ксерокопия военных карт или отсканированная с форзаца старой книги карта Средиземья. А если без шуток, то для российского пользователя туристическая GPS навигация вышла на принципиально новый уровень. Теперь можно смело отправляться в поход исключительно по навигатору. Особенно, если маршрут заранее нарисован в том же Google Earth. Удачных путешествий!

Понравилась статья? Поделитесь с друзьями!