Растровые карты для Garmin -- просто. Часть 1. KMZ с помощью SAS.Planet

Jul 16, 2016 22:20

Оригинал взят у taginvn в Растровые карты для Garmin -- просто. Часть 1. KMZ с помощью SAS.Planet

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

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

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








  1. Запускаем программу:



    На данный момент я использую разные версии SAS.Planet.Nightly, так называемые "ночные сборки", а последняя стабильной является v.121010. Местами они немного различаются, но про это я упомяну в контексте.

  2. Затем нам нужно переместиться в тот регион, из которого будем делать карту.
  3. Это удобней сделать с помощью каких-то простых и наглядных обзорников. Не плохо подходят обычные Яндекс.Карты. Переключение на ту или иную карту осуществляется в меню "Выбор основной карты":

  4. Теперь нам нужно определиться с поставщиком космоснимков, раз мы решили клеить карту из них.
  5. Таких в обойме SAS.Планеты предостаточно. Но вне конкуренции, как правило, только Google и Яндекс. Возьму последний -- для того региона, что я выбрал, они самые детальные:

  6. Приступим к созданию полигона. САС.Планета предлагает на выбор 5 вариантов решения:


  7. Рассмотрим для примера парочку самых актуальных: прямоугольное выделение и сложносочинённый полигон.
     • Прямоугольное выделение самое незамысловатое. На два клика мышкой: один раз в верхнем левом углу, второй -- в нижнем правом.
     • Для сложного полигона пощёлкать придётся от души. Но памятуя о суровых ограничениях, этого сложно избежать, выбирая длинные извилистые реки или какие-то участки плюс подъездные дороги к ним.

  8. Как только мы закончим с полигонами, всплывёт окошко "Операции с выделенной областью".
  9. Только мы не будем пока ничего в нём заполнять, а отодвинем в сторонку, чтобы не мешалось. Хотя можно и просто закрыть. Оно снова откроется по сочетанию клавиш "Ctrl+B" или выбором пункта "Предыдущее выделение" в том же меню.



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

В 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 м.). Если вам будет легче усвоить, то представите себя поднимающимся на воздушном шаре -- чем выше вы над уровнем земли, тем меньше масштаб "карты-земли". Верхний уровень -- выше над землёй, понижаем уровень -- опускаемся на землю. Грамотно как с точки зрения логики, так и юзабилити интерфейса устроен сервис Яндекс.Карт -- кнопочка "+" у них находится внизу:

познавательное, выживание, шмудяк, самоподготовка, текническое, лес, туризм

Previous post Next post
Up