Как закачать растровые карты гармин. Формат файлов KML и его использование на картах Google

Как известно, навигаторы Garmin нижеследующих моделей

Alpha
Astro
Dakota
Oregon
Colorado
GPSMAP 62 series
GPSMAP 78 series
Edge 800
Montana
Rino
eTrex 20 and 30

поддерживают растровые пользовательские карты, которые можно создавать самостоятельно на базе желаемого источника
Не удовлетворившись имеющимися официальными картами Garmin (Дороги России и ТОПО), начал изучать процесс самостоятельного изготовления карт. Было перелопачено и осмыслено немало информации, выжимку из которой и попытаюсь представить


Сравнение различных форматов карт в сухо-цифровом виде: http://whiter.brinkster.net/JNX.shtml

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

Достигнув понимания, что с форматом kmz каши не сварить, решил начать работать с форматом *.jnx
Штатная прошивка навигаторов, поддерживающих растровые карты, имеет программное ограничение - чтобы пользоваться картами jnx, необходимо оформить платную подписку на официальный гарминовский сервис BirdsEye, и загружать карты только через него. Чтобы снять это ограничение, прошивку прибора необходимо пропатчить.
Вмешательство в штатную прошивку, разумеется, лишает владельца официальной гарантии на прибор - но, во-первых, гарминовское железо достаточно надежно; во-вторых, мой прибор был куплен в Штатах и российской гарантией осчастливлен не был

Перепрошивка прибора

Нам понадобятся:
- патчер, который можно скачать по ссылке http://whiter.brinkster.net/Versions.shtml
- официальная гарминовская программа WebUpdater, которую можно скачать по ссылке http://www8.garmin.com/support/download_details.jsp?id=931

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

1. Подключив прибор к компьютеру, запускаем программу WebUpdater. Далее возможны два варианта

1а. Прошивка вашего прибора соответствует новой актуальной версии, и WebUpdater не запускает процесс обновления прошивки. В этом случае скачиваем старую бета-версию обновления по ссылке http://u.to/yDEEAg и устанавливаем ее на прибор:

Теперь запускаем программу WebUpdater, начинаем процесс обновления. Результатом его будет файл GUPDATE.gcd, созданный программой в директории Garmin на приборе. Не отсоединяя прибор от компьютера, и не выключая его, переходим к пункту 2

1b. Прошивка прибора устарела, и допускает обновление. В этом случае запускаем процесс обновления. Результатом его будет файл GUPDATE.gcd, созданный программой в директории Garmin на приборе. Не отсоединяя прибор от компьютера, и не выключая его, переходим к пункту 2

2. Вырезаем полученный на приборе файл GUPDATE.gcd и вставляем его на компьютер. Запускаем патчер, скачанный ранее. Клавишей Browse указываем ему на файл GUPDATE.gcd

Результатом будет созданный патчером в той же папке файл GUPDATE_Patched.GCD

3. Полученный пропатченный файл GUPDATE_Patched.GCD переименовываем в GUPDATE.gcd и вставляем на прибор вместо вырезанного файла

4. Отсоединяем прибор от компьютера, включаем. Запускается процесс обновления программного обеспечения прибора. Результатом его будет новая актуальная версия прошивки, пропатченная для неограниченного использования карт формата *.jnx

Создание пользовательских карт в формате *.jnx

Нам потребуется программа SAS.Planet, которую можно скачать по ссылке: http://sasgis.ru/sasplaneta/
Данная программа позволяет работать со спутниковыми снимками google, yandex, bingmaps, с картами генштаба и некоторыми другими источниками. Продукт на выходе - карты в различных форматах, имеющие привязку к координатам и готовые к загрузке в прибор

1. Открыв нужную область, выбираем требуемую карту (закладка "Карты")

2. Вкладка "Операции" - "Операции с выделенной областью" - выбираем требуемую часть карты

3. Поялвяется отдельное окно "Операции с выделенной областью", нам нужна вкладка "Загрузить"

4. Выбираем требуемый масштаб (оптимальный - Z17 - Z18), снимаем галку "Закрыть окно после старта", ставим галку "Пытаться загружать отсутствующие тайлы", нажимаем клавишу "Начать"

5. По окончании загрузки переходим во вкладку "Экспорт"

6. Выбираем тот же масштаб, что и при загрузке карты, выбираем место сохранения и название файла (латиницей), выбираем формат экспорта - JNX растровая карта для Garmin, нажимаем клавишу "Начать"

7. На дополнительной карте памяти прибора в папке Garmin создаем папку BirdsEye и копируем в нее полученную карту. Не забываем включить пользовательские карты в меню прибора

Результаты

Стандартная карта прибора

Загруженные космоснимки

После описания Гарминовской инструкции по созданию растровых карт возникает немало вопросов, а именно:
-Как закачать спутниковые карты, чтоб в них отсутствовали служебные символы и рисунки "Планеты Земля"
-Как разбить карты на фрагменты размером 1024*1024 максимум каждый, а также контролировать максимальное количество этих файлов
-Как автоматизировать процесс создания фрагментов и их привязки в программе "Планета Земля"

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

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

1. Закачка картинок и создание kmz файла
Есть такая совершенно бесплатная програмка, называется SASPlanet. Находятся она тут http://sasgis.org/download/ и скачать ее можно там-же.
Прелесть данной програмки в том, что она позволяет скачивать снимки не только Google карт, но и с кучи разных других источников. Причем скачивает их с возможностью задать на сколько фрагментов делить, и создавать ли дополнительные файлы привязки!!! Вот эти картинки совершенно лишены лишней информации, они закачиваются пакетом, т.е. сразу можно качать приличные объемы, можно задать уровень детализации, сгенерируются базовые файлы привязки, которыми можем воспользоваться, а главное может сразу создать kmz файл для навигатора!!!

Посему, качаем програмку, а точнее архив и распаковываем его на своем компьютере. Запускаем SASPlanet и первое что необходимо сделать, это выставить параметр в меню "Источник\Интернет и кеш", т.е. чтобы карты брались и с интернета, если они отсутствуют, и из кеша, если они уже были закачаны на компьютер.

Далее следует поиграть с програмкой, т.е. посмотреть карты, какие они с того или иного источника (меняя меню "Карты") дабы определиться что Вам больше всего подходит. Во многом работа с программой схожа с Планетой Земля.

Вот если вы определились с какой картой Вам интереснее и какой именно участок Вам нужен в навигатор, то тогда:

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

Отмечаем выбранный участок, для этого выбираем меню выделения прямоугольной области, карту при этом можно увеличить или уменьшить, главное чтоб отмечать было удобно.

Выделяем на карте нужную нам область

Появится вот такое меню


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

Теперь нам немного надо подумать. Мы видим, что ниже под типом карты, программа нам дала разрешение картинки, в данном примере оно составляет 14336x12800 точек. У нас существуют в навигаторе следующие ограничения: размер файла может быть не больше 1024x1024 (естественно меньше можно, к примеру 900x200), общее количество таких файлов может быть не более 100.
Т.е. в данном конкретном случае, мы никоим образом не влазим в действующие ограничения. Тут два выхода, либо пометить меньшую территорию, либо выбрать более слабый уровень детализации. Если я сейчас установлю детализацию на один уровень меньше, т.е. 13, то получу разрешение картинки равное 7168x6400.
Вот 7168x6400 всполне подходят, ибо если мы картинку поделим например по горизонтали на 8 частей, а по вертикали на 7, то получим 896x915, что вполне влазиит в ограничение по размеру файлов, а количество файлов получится 7*8=56, что удовлетворяет условию, когда количество файлов должно быть не более 100.

Итак мы определились с размерами, масштабами и готовы дать команду загрузки из интернета всех необходимых снимков! Нажимаем кнопку "Начать"
Потребуется определенное время, иногда немалое, пока программа загрузит все данные с сервиса карт на локальный диск.

Появится вот такое меню, после окончания загрузки просто нажмите "Выход"

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


и, таким образом, мы вернулись к знакомому нам диалоговому меню

В этом диалоге выбираем закладку "Склеить"


Выберите результирующий формат как показано, т.е. создание "Kmz для Garmin".
Укажите путь сохранения и имя файла.
Выставьте правильный масштаб.

Поехали! Нажимаем "Начать" и програмка создаст kmz файл, внутри которого будут содержаться картинки карт, разбитые на части!!!

Все!!! То, что нам нужно было от программы SASPlanet мы получили, осталось лишь скопировать файл карт в навигатор (каталог /Garmin/CustomMaps/).
Единственно отмечу, не стоит давать kmz файлу имя русскими буквами, такой файл навигатор просто не увидит.

2. Редактирование карты
Есть ситуации, когда необходимо подправить картинки карт. У меня, например, получилась карта, дома которая выглядела нормально, а реально на водоеме ее читаемость оставляла желать лучшего, и в следующий раз я просто обрисовал сушу коричневым, а воду голубым, тем самым увеличив контрастность между объектами и повысив читаемость. Подобных причин может быть множество. Поэтому приведу руководство, как-же поредактировать готовый kmz файл.

Kmz файл представяет собой обычный Zip архив. Нужно настроить оболочку Windows, чтобы она позволяла видеть и изменять расширения файлов. Меняем расширение нашего файла на zip, и тогда файл можно открыть как архив и вытащить из него все содержимое.

Разархивируем наш файл в пустой каталог. Мы получим в нем:
doc.kml - текстовый XML файл привязок картинок к координатам.
files - каталог, в котором содержатся все картинки в формате jpg

Вот теперь берем и редактируем любые картинки в каталоге files. Главное не изменять имена файлов и не изменить размер картинок.
Для проверки как это будит выглядеть, можно программой Планета Земля открыть файл doc.kml, а он загрузит картинки. Как только, мы убедимся, что все нужные изменения сделаны, достаточно запаковать в zip архив файл doc.kml и каталог files с содержимым, после чего изменить расширение архива с zip на kmz.

Когда фирма Гармин наконец-то решилась использовать растровые форматы, она и сама тут же захотела предложить своим клиентам взглянуть на Землю не только через плоскость топографических карт, но и с высоты птичьего полёта. Для чего запустила сервис 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), больше не получится -- они стали чуть умнее). Потом найти в таблице свою версию, загрузить на компьютер и разархивировать, если файл упакован в архив.

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

KML (Keyhole Markup Language - язык разметки Keyhole) — это формат файлов, который используется отображения географических данных в программах Google Планета Земля, Карты Google и Карты Google для мобильных устройств.

KML использует основанную на тегах структуру с вложенными элементами и атрибутами и создан на основе стандарта XML.

Для создания файлов KML можно использовать программу Google Планета Земля (Google Earth), редактор XML или обычный текстовый редактор.

Файлы KML и связанные с ними изображения (при наличии) можно сжимать с помощью формата ZIP в архивы KMZ.

С помощью файлов KML можно:

  • устанавливать различные значки и делать подписи для обозначения мест на поверхности Земли,
  • создавать различные ракурсы для выбранных объектов, изменяя положение камеры,
  • использовать различные накладываемые изображения,
  • определять стили для настройки отображения объекта, применять код HTML для создания гиперссылок и встроенных изображений,
  • использовать папки для иерархической группировки элементов,
  • динамически получать и обновлять файлы KML из удаленных или локальных узлов сети,
  • получать данные KML в соответствии с изменениями в средстве трехмерного просмотра,
  • отображать текстурные трехмерные объекты COLLADA

В качестве объектов в файлах формата KML могут быть использованы:

Метки (объект Placemark) – самый простой элемент, задает метку – обозначение положения на поверхности Земли с помощью значка в виде желтой кнопки.

Пути – линии определенной толщины и цвета

Многоугольники — определяется цвет линий и цвет подписи.

Изображения — накладываемые изображения поверхности Земли позволяют накладывать изображение на ландшафт Земли, могут быть перемещаемыми и масштабируемыми, так и не перемещаемыми, например, логотип.

Трёхмерная модель — позволяет подключать описание трёхмерных объектов (например, зданий и сооружений). Трёхмерную модель можно задать двумя способами: заданием высоты плоских фигур (вытягиванием) и ссылкой на полноценную модель в формате COLLADA (Google SketchUp).

Простейший пример файла KML.



Дворец спорта
Дворец спорта «Нагорный» просп. Гагарина, 29
43.979459,56.291908,0


Опишу структуру этого файла.

Первая строка — заголовок XML. Это 1-я строка в каждом файле KML. Перед этой строкой не должно быть пробелов или символов.

Вторая строка – служит для объявления пространства имен KML. Это 2-я строка в каждом файле KML 2.1.

Объект Placemark, содержащий следующие элементы:

— name, ярлык, используемый для обозначения метки

— description, описание, появляющееся в окне комментария, прикрепленном к метке

— Point, указывает положение метки на поверхности Земли (долгота, широта и дополнительно высота).

Этот файл Вы можете загрузить в программе Google Планета Земля (Google Earth) выбрав в меню Файл – Открыть.

Его также можно загрузить использую API карт Google.

Код примера:

Пример использования Google Earth на сайте

function initialize() {if (GBrowserIsCompatible()) {geoXml = new GGeoXml(«http://remont.cek.ru/xml/prim_kml_1.kml»);

var map = new GMap2(document.getElementById(«map_canvas»));

map.setCenter(new GLatLng(56.291908,43.979459), 15);

map.setMapType(G_SATELLITE_MAP);

map.addControl(new GSmallMapControl());

map.addControl(new GMapTypeControl());

map.addOverlay(geoXml);

Если загрузить его в браузере мы увидим

Вы также можете просмотреть файл KML на Картах Google.

Предварительно необходимо чтобы Ваш файл KML должен быть размещен на веб-сайте в Интернете.

С начала нужно зайти по адресу http://maps.google.ru/

Затем в строке поиска ввести адрес Вашего KML-файла в интернете, например, http://сайт/examples/kml/prim_kml_1.kml и нажать на кнопку «Поиск на карте».

Ваш KML-файл отобразиться на карте Google.

Продолжение следует…

Однажды фирма Гармин, под давлением прогресса и общественности, разрешила заливать в свои навигаторы карты, созданные на основе растровых изображений. Для чего усовершенствовала уже имеющийся формат, придумала новый, а ещё один позаимствовала у "корпорации добра" под названием Google. Если первый у нас ещё не получил столь широкого распространения и активно применяется, в основном, в приборах морской серии (да и то за пределами страны), то два других предназначены специально для "туристов" и их девайсов (выбор которых не так уж и мал).

Названия/расширения этих карт/файлов/контейнеров: KMZ и JNX

В нашу задачу входит научиться самостоятельно создавать такие карты и заливать их в навигаторы.


Про "что_да_как" в этом деле происходит меня попросили написать так же понятно, "как инструкцию по обуванию для негра, который впервые увидел ботинок"(ц).
Поэтому от этого текста не стоит ожидать лаконичной краткости и пунктуальной выверенности. Будет много вводных, будет много другой "воды" и прочих отступлений. Хоть писатель из меня никудышный, считаю важным в этом процессе не только научится соответствовать форме, но и понять содержание, кустарную логику процесса -- легче будет смещаться в стороны и искать свои пути в решении вопросов, -- потому что уйма всяких мелочей и все их не охватишь.

Первая часть уроков-инструкций посвящена формату KMZ.

Устроен он достаточно просто: берутся файлы изображений в формате JPEG (как правило -- это скан бумажной карты или космоснимок), к ним присоединяются файлы топографической привязки KML (Keyhole Markup Language - язык разметки Keyhole, которую и поглотила в своё время Google), а потом всё это оборачивается в разную служебную информацию, понятную прошивке/системе прибора. Естественно не обошлось без серьёзных ограничений. Что же мы имеем в результате:

Максимальное количество файлов -- не более 100 штук (в Montanе можно 500)
. размер одного файла должен быть не более 1 мегапикселя (1024x1024, 512x2048, etc) -- выходящие за рамки сжимаются принудительно
. вес одного файла не более 3 мегабайт (где-то на форуме читал про проблемы, если вес всех файлов превышал 32 мегабайта, но проверять это надо в каждом конкретном случае)
. файлы только JPEG и обязательно не сжатые методом "рrogressive"
. читаются только из директории \Garmin\CustomMaps

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

KMZ-карты мы будем делать c помощью программы -- а) она наша, родная, что меня, если честно, сильно греет; б) она бесплатная; в) с ней не возникает проблем с установкой, освоением и работой -- проще не бывает; г) она мегаресурсная -- тут тебе и космоснимки на любой вкус, тут и "бумага" начиная с Генштаба, ГГС и заканчивая историческими картами; д) и самое главное -- всё делается силами одной программы, с начала и до конца.

Если она ещё не пригрелась на вашем компе, то срочно идите на страницу загрузки , которая через десяток секунд должна начаться автоматически. Устанавливается, как не банально, путём простого перемещения скаченной папки с программой в C:\Program Files. Никаких установщиков. Запускается по даблклик на SASPlanet.exe

Клеить карту мы будем на примере космоснимков, поскольку есть небольшие нюансы. То есть с "бумагой" всё так же по сути, но с масштабами проще -- они или есть или их нет...

А пока, прежде чем мы продолжим, давайте разберёмся, из чего же мы будем клеить наши карты.
В SAS.Планете есть шкала Зума / Zoom: z1; z2 . . . z22, так называемые уровни масштабирования. Передвигаясь по этой шкале, каждый раз мы загружаем новую обойму фотографий, которые порезаны на куски -- тайлы. Чтобы посмотреть на их количество и размер, нужно перейти в меню "Вид"/ "Отражать границы изображений":

Но ни Яндекс, ни Гугл, ни кто либо другой, не заказывают спутниково-космических снимков различной степени детализации для каждого своего уровня. Это было бы слишком дорого, да и не совсем разумно. Поэтому другие масштабы формируются из снимков а) или путём 2-х кратного сжатия, когда 4 стандартных тайла/фотографии по 256х256 пикселей (512х512) превращаются в один тайл 256х256 более верхнего уровня; б) или наоборот (но реже), увеличивая тайл в 2 раз (качество от этого, к сожалению, не улучшается)

Для того места, на примере которого я делаю этот мануал, Яндекс использует всего 3 слоя реальных фотографий:

На z8, а остальные уровни z7; z6 . . . z1 формируются из него
. на z10 лежит метровый снимок, z9 сформирован из него
. на z19 лежит субметровый снимок (пиксель < 1 м 2), из которого слои z18; z17 . . . z11 сформированы тем же путём сжатия

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

В картах KMZ верхнее и нижнее ограничения на уровень отображения задаётся стандартом и зависит... Нет... Давайте сначала разберёмся с терминологией, а то для тех, кто в первый раз с навигатором -- запутаться, как два пальца... А у меня задание, если вы помните.

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

В Гугл-сервисах и в САС.Планете ползунок надо тянуть вверх -- повышать масштаб. Но понижать уровень, ага:) Почему так -- не знаю, но привыкнуть до сих пор не могу -- и всегда, где возможно, переставляю шкалу масштаба в горизонтальное положение. Но надеюсь понятно: уровень в плюс -- масштаб/зум в минус:))

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

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

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

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

  • Выбор сделан, возвращаемся в окно "Операции с выделенной областью".

  • Оно сразу откроется на вкладке "Загрузить"

    Если вы уже определились с масштабом слоя, то нужно выполнить всего 3 пункта:

    5.1. Проверить тип карты.
    5.2. Удостовериться в правильности масштаба -- по умолчанию он будет указывать на зум, на котором делался полигон, и далеко не тот, что нужен.
    5.3. Снять галочку напротив пункта "Закрыть окно после старта" -- мы же доведём дело до конца? :) Как только всё проверим -- жмём "Начать".

    По окончании процесса закрываем окно загрузки и переходим на следующую вкладку...

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

    Убедившись в равномерности заполнения слоя можно двигаться дальше...

    Но прежде, для прояснения тонкостей и во избежание возможных проблем, хочется процитировать маленький FAQ по загрузке, взятый на форуме программы:

    . При загрузке некоторых карт (обычно Google) сперва все идет нормально, а потом мне говорит что "Такого изображения нет на сервере", хотя при просмотрте в браузере этот регион прекрасно показывается. Что это?!

    ЭТО НЕ БАГ ПРОГРАММЫ SAS.Planet - это называется "бан на сервере", и им обычно грешит именно Google.
    После примерно 1000 загруженных тайлов сервер обычно банит по IP. в программе реализована некоторая защита от бана (путем задержки закачки тайлов), но 100% гарантии это не дает. Основной инструмент, которым пользователь может управлять баном - параметр Sleep в zmp-файле. Таким образом, если после 10 минут работы с программой больше ничего не загружается - поздравляем! Вас забанили, и единственный выход - ждать сутки (иногда меньше), больше ничего делать не надо. После этого времени всё встает на свои места, и можно опять начинать качать (до следующего бана). 100% гарантированного обхода бана в программе SAS.Planet пока что нет.

    . При загрузке карт мне говорит что "Такого изображения нет на сервере", хотя при просмотрте в браузере этот же регион прекрасно показывается. Что это?!

    ЭТО НЕ БАГ ПРОГРАММЫ SAS.Planet - это называется "на сервере сменили версию карт".
    Для решения этого вопроса Вам надо открыть файл ZMP соответствующей карты, найти в нем строку "DefURLBase=" (например, DefURLBase=http://mt.google.com/mt?v=w2p.99&hl=ru) и заменить в нем имеющиеся цифры версии (например, "w2p.99") на актуальную на настоящий момент версию на сервере. Сохранить изменения и рестартовать программу SAS.Planet.
    Автоматического отслеживания смены версий карт в программе SAS.Planet пока что нет.

    . При загрузке карт в браузере - я вижу новые районы и обновленные карты, а при закачке программой SAS.Planet - я этого не вижу, на той же карте!!! Как так может быть?

    ЭТО НЕ БАГ ПРОГРАММЫ SAS.Planet - это называется "на сервере используют более новую версию карт".
    Действия по изменению версии карт в программе SAS.Planet на актуальные - описаны пунктом выше.

    . Хочу всегда иметь самые свежие версии zmp!

    Если очень хочется - можно воспользоваться средствами Mercurial и командных файлов. Подробнее https://bitbucket.org/sas_team/sas.maps/wiki/Home

    . Мои карты очень медленно грузятся!!!

    Если у вас карты грузятся много медленнее чем в браузере на сайте - это может быть потому, что в файле xxxxx.zmp для соответствующей карты параметр Sleep (задержка перед загрузкой каждого последующего тайла) равен по умолчанию какому-нибудь положительному значению (например, Sleep=1000). Это сделано для попытки обойти бан данной карты. Можете уменьшить этот параметр, или вовсе поставить 0 (но тогда возрастет вероятность бана).

    . Мне постоянно сообщает "Отсутствует подключение к Интернет!", хотя подключение есть

    Проверьте Ваш файрвол (включая встроенный в Windows) на предмет блокирования соединений программы SAS.Planet, а также общие настройки Интернета в самой программе. Особенно это касается случаев с прокси-сервером.
    Программа SAS.Planet не использует каких-то специальных своих собственных режимов доступа к Интернету, и используются сугубо возможности Вашей операционной системы и окружения. Если у Вас работает интернет-браузер - то заработает и SAS.Planet. Если же что-то блокируется при работе SAS.Planet - проблема безусловно на Вашей стороне.

    . Почему я вижу детальные снимки нужного мне региона в программе Google.Земля, а при просмотре этого региона через SAS в карте Google - я их не вижу?

    ЭТО НЕ БАГ ПРОГРАММЫ SAS.Planet.
    Google.Земля - совершенно другой сервис, чем сервис Google.Карты (где SAS при своей работе использует именно сервис Google.Карты, но не Google.Земля). Общее у этих двух лишь одно - владелец (компания Google), все остальное - совершенно различное, включая логику работы, проекции карт и собственно серверы, откуда идет контент.
    Но есть и надежда: обычно обновления регионов в Google.Земля со временем перекочевывают и в Google.Карты, и тогда они могут стать доступны и в программе SAS.Planet. Обычно это занимает что-то в районе месяца-полутора. Иногда больше, иногда меньше. Иногда - никогда. Гарантии, возможности, точные сроки конкретных обновлений в обоих сервисах и степень их "взаимопроникновения" друг в друга известны только владельцу - Google, но никак не разработчикам программы SAS.Planet.


  • Ну и финальная вкладка "Склеить":
  • Начинаем заполнять поля:

    7.1. "Результатирующий формат" -- из выпадающего списка выбираем "KMZ for GARMIN".
    7.2. "Куда сохранять" -- выбираем папку и даём название файлу.
    7.3. Проверяем "Тип карты"
    7.4. Не забываем поправить "Масштаб"


    7.5. Поле "Наложить" и проекцию к нему оставляем пустыми.
    7.6. Так же не ставим никаких галочек напротив пунктов "Применять коррекцию изображений" и "Накладывать отображаемые метки" (если последние не нужны конечно). Если есть пункт "Сохранять PNG с прозрачностью" (v.121010) -- снимаем выделение -- здесь эти картинки точно не нужны.
    7.7. И в поле "Создавать файл привязки" тоже ничего не ставим -- привязка KML у нас внутри KMZ-файла.


    7.8. "Качество для JPEG и ECW" оставляем по умолчанию -- "95"
    7.9. Смотрим на строчку "Количество файлов", где видим такие значения "49х28(1372), размер: 12353х6785"
    Количество реально скаченных тайлов нас не интересуют, они не нашего размера. В задачу программы входит их сначала склеить, а потом порезать по KMZ-шаблону. Поэтому нам важны только последние значения.
    Мы помним, что размер нашего тайла не должен превышать 1024 пикселя по каждой из сторон. Именно на такие квадратики нам нужно разрезать карту размером 12353х6785 пикселей. Достигается это путём не сложных арифметических вычислений, где каждую цифру нужно поделить на 1024, а любой результат обязательно округлить до бо́льшего значения. Так получаем цифры 13 по горизонтали и 7 по вертикали (обычно я предпочитаю с калькулятором не возиться и для простоты делю на 1000)

    Всё, нажимаем "Поехали" и после окончания склейки...

    Идём проверять свои файлы:


    В заданные параметры мы вроде уложились -- получился 91 файл, средний вес которого около четверти мегабайта. Прошу заметить, что SAS.Планета заботливо пронумеровала файлы по квадратикам-тайлам. Это пригодится на тот случай, если их количество перевалит через лимит и было бы легче их сортировать.

    Ну что, осталось только залить их в прибор, путь до \Garmin\CustomMaps уже заказан:)