JNX для чайника
(або опис одного, порівняно простого, способу
отримання JNX мапи нетипового виду)
Розвиток портативних навігаційних систем на нинішній момент призвів до стану,
коли поряд зі звичайними мапами (векторними - «класика жанру» чи
растровими - «данина традиціям картографії») в мобільних навігаційних
пристроях нових моделей вже можна використовувати космосвітлини.
Для цього компанія Garmin
організувала сервіс BirdsEye™
Satellite Imagery для завантаження супутникових світлин високої
роздільної здатності у портативні Garmin GPS нового
покоління. Оскільки згаданий сервіс платний, то з метою
захисту цієї статті доходу процедура завантаження зображень BirdsEye™
є «іменною», здійснюється по підписці та за відповідну плату.
Додатково присутній ще один момент: для згаданого сервісу
Garmin розробив свій спеціальний JNX - тайловий формат мап із супутникових
знимків. Вищенаведене серйозно ускладнює життя пересічного українського туриста
і частково тих, хто може собі дозволити передплачувати такий сервіс,
адже територія українських Карпат на разі не повністю покривається
супутниковими знимками DG високої
резолюції (а саме космодані DG
використовуються сервісом BirdsEye™
Satellite Imagery). Проте не все так сумно і прикро. Прошивки пристроїв «патчаться»,
а структура закритого формату JNX de facto «is hacking».
Існують кілька способів (простих і не простих) отримання файлу JNZ.
Як «заготовка» може братися мапа із зібраної мозаїки тих же, високої роздільної
здатності, знімків земної поверхні.
Але хто бачив навіть
оригінальну JNZ мапу
від BirdsEye™ Satellite Imagery мабуть звернув увагу на два
моменти:
1. Оптимальне мірило для роботи з такою мапою:
30-120. Крайнє
значення, при якому ще щось корисне місцями можна розрізнити на дисплеї GPS це
300 - 500
. При мірилі 2км взагалі маємо зелену кашу, ну це і зрозуміло -
основа реальні світлини місцевості, об’єкти котрої при віддалені
нівелюються.
2. Наявність геомісць з недостатньою деталізацією. Це як внаслідок хмарності у день сканування території, так і за фактом відсутності
супутникової зйомки високої резолюції в компанії DG як такої в тих чи інших
регіонах.
У зв'язку з нюансом 1. не зле було б, якби на
менш детальних масштабах відображалися не самі супутникові знимки, а якесь інше
інформативніше схематичне покриття (приміром мапа Генштабу СРСР чи покриття Рельєф
Google, або в зоні міст мапа
Wikimapia
, … тощо)
Ну оскільки не DG єдиним… наповнені простори
космосу, то момент 2. мав би «лікуватись» заміною відповідними тайлами із інших
джерел .
При ретельнішому ознайомленні з JNZ форматом в таблиці, де
порівнюють формат JNZ з форматом KMZ, одразу в першому рядку читаємо: "количество уровней детализации - до 5". Звідси припускаю, що 5 рівнів деталізації
дозволяють реалізувати побажання 1., причому кожному рівню може відповідати окремо
своя основа-мапа. Відповідно в один JNX файл дозволено «закатати» до 5-ти таких
базових, з різних джерел, мап. А самі мапи будуть відображатися на дисплеї GPS
лише при єдиному, тільки їм притаманному масштабові.
Наприклад, на 800m-500m
відображається Рельєф
Google
з горизонталями, водним покриттям, населеними
пунктами, а «опустився нижче» на детальніший рівень (200m-…-80m-…-30m-…) і
з'явилося реальне супутникове покриття місцевості. Забігаючи наперед, зауважу,
що практично достатньо двох-трьох різних мап , а рівнів бажано по-максимуму
(5).
Побажання 2., а в таблиці це
п. 5: "источник изображений - только служба BirdsEye",
відпадає само по собі, за умови що ми «пропатчились» і уміємо створювати
JNX зі «свого» картографічного матеріалу, останнім зараз і пропоную
зайнятися.
Для нашого завдання згодяться:
- SAS.Планета - власне а який інструмент ще простіший,
доступніший, інтуїтивніший і зручніший в роботі із різноманітними
картосервісами?! - MOBAT2JNX - ну зовсім
маленька фішка, необхідна для створення JNX, низький уклін автору
. -
QLandkarte GT - такий собі «view»_ер для перегляду різноманітних
GPS мап, у тому числі і JNX.
Додатково:
а) jnxscale
- "приблуда", щоб змінювати "до кольору, до вибору" Scale
Factor, значення якого впливає на відображення jnx-мапи на дисплеї вашого
девайса. Дана програмка не є обов’язковою
.
Коротко алгоритм роботи наступний:
I.В програмі SAS.Планета:
a.Вибираємо потрібну територію і підкачуємо
тайли зображення для майбутньої мапи в необхідних зумах та з потрібних
картосервісів.
b.Цією ж програмою конвертуємо
тайли зони покриття майбутньої нашої мапи у формат типу Google Maps
Tiles
і зберігаємо в окрему
теку. II.Запускаємо з командного рядка ехе-шник
mobat2jnx, де в параметрах вказуємо шлях до теки з
підготовленими тайлами і опцію "-sas". На кшталт команда виглядає так:
mobat2jnx.exe D:\2011_JNX\Skole\skoleProba\1 -SAS III.Отриманий JNX перейменовуємо на
своє уподобання та переглядаємо в QLandkarte GT. При потребі заливаємо в GPS та тестуємо.
Детальний опис
(усі піктограми клікабельні;
читачі, що володіють необхідними знаннями, можуть пропускати пояснення)
Підготовка тайлів, завантаження:
-в SAS.Планета прямокутним виділенням окреслюємо
територію майбутньої JNX мапи і завантажуємо z18, z17, z15 супутникового покриття
Google чи DG. Також одержуємо тайли z13 «візікомовського» та z10
«Генштаб_10км» покриття
Якщо ви уже давній поціновувач безкоштовної SAS.Планета то мабуть завантажили не
один GB тайлів високої роздільної здатності z17-1,6м\пікс z18-0,8м\пікс ; z19-0,4м\пікс) від
«Спутник (Google)» чи «Спутник (DigitalGlobe)» і, можливо, маєте поновлення
від Google, що порівняно недавно відбулося на території Сколівського р-ну
(Львівська обл.) . Поновлення цінне, це досить велика територія з високою
роздільною здатністю з безпроблемним доступом і без жодної хмаринки. Отож,
запускаємо SAS.Планету і вибираємо цю цікаву область для типу карт «Спутник (Google)» за допомогою
комбінації швидких клавіш Alt+R
або: , - "Прямоугольная
область".
Далі вказуємо курсором у верхній лівий кут області і
прямуємо до правого нижнього кута. Після вибору території
покриття нашої мапи з’явиться віконечко "Операции с выделенной областью",
доречно зберегти координати щойно виділеної області в окремий
файл . Потім обираємо
потрібний масштаб «z18» і про всяк
випадок довантажуємо , можливо
відсутні, тайли для вподобаного картосервісу. У мене в окреслену область на z18
увійшло 5772 файлів і довантажило 41 файл (тайл), решта - "Данный файл уже
имеется в кеше".
Підозрюю, що не у всіх бажаючих наявний такий
потужний кеш (це мій рояль в кущах:), а завантажити п’ять з гаком тисяч
тайлів лише для z18 займе досить часу, тому поки там щось вантажиться, ось
тут можна завантажити готовий архів кешу z18 згаданих 5772 файлів і
розпакувати це у папку …\SASPlanet\cache\SAT\….
Перевірити повноту
покриття наявного на вашому комп'ютері кешу досить просто: тиснемо кнопку і обираємо потрібний шар тайлів (z18), а згодом візуально визначаємось за темними
квадратиками, чого нам ще не вистачає.
Крім z18 за моїм задумом потрібно ще z17
та z15 покриття того ж "Спутник (Google)".
Але, якщо у зоні майбутньої
мапи тайлів z15 буде 110, то для z17 це вже 1480 штук. Тому не гаємо часу
на завантаження, а формуємо із z18 тайли покриття z17. Зрозуміло, що після
такої трансформації у нас по периметру покриття виявиться нестача
кількох десятків тайлів z17, адже ми відмітили зберігати лише повні тайли
z17. Відсутнє заповнення прийдеться докачати у звичайному режимі, зрештою
як і 110 тайлів рівня z15.
Змінюємо тип карт\Локальные карты\Карта Украины и
Белоруссии (maps.vizicom.ua) та викачуємо з цього картосервісу покриття z13 а
від тип карт\Генштаб\Генштаб 10 км беремо z10, останніх мені прийшлося
завантажити аж 1! тайл.
Підготовка тайлів, конвертування,
копіювання -отримані z18, Z17, z15, z13, z10 копіюємо в окрему теку із
конверсією типу координат
Насамперед визначаємся, де в нас будуть
знаходитись робочі тайли для створення JNX, там же десь і буде створена сама
мапа. Тому організовуємо окрему папку з назвою, співзвучною з назвою майбутньої
JNX мапи.
У мене це папка skoleProba і шлях до неї:
D:\2011_JNX\Skole\skoleProba
В меню "Операции с выделенной областью" ( \"Загрузить из файла") вибираємо раніше збережений файл граничних координат
покриття мапи та завантажуємо.
А тепер вже уважно у знайомому віконечку "Операции с выделенной областью" у закладці "Скопировать" робимо наступне
:
1)"Куда сохранять" - Вказуємо шлях до попередньо визначеної нами теки (1);
2)"Конвертировать в формат" - Обираємо GMT (GlobalMapper >
=10.02)!!! (2);
3)Відмічаємо потрібний тип мап (картосервіс), "Спутник (Google)"(3);
4)Відмічаємо для "Спутник (Google)" z18, z17,
z15 (4);
5)Має бути так (5);
6)Перевіряємо і
тиснемо кнопку "Начать "(6).
Як результат такої конверсії в папці skoleProba з’явиться каталог «sas» з кешем від супутника Google.
Факт появи z17, z16,
z14 замість очікуваних z18, z17, z15 нас бентежити не повинен, це нормально (перевірено
: в z17 знаходиться та сама кількість 5772 тайлів, що і в z18 до конверсії).
Аналогічно для картосервісу "Карта Украины и
Белоруссии (maps.vizicom.ua)"
Конвертовані тайли z13 знайдемо в
теці
D:\2011_JNX\Skole\skoleProba\visicom_world_ru\z12
Після заключної конверсії z10 для «Генштаб 10 км» про програму SAS.Планета можна забути, а
новостворені z17, z16, z14, z12 та z9 збираємо
в якусь одну папку
.
Ці п’ять покрить z17, z16, z14, z12,
z9 і будуть відповідати п’яти рівням деталізації нашої JNX мапи.
Нагадаю, що три детальніші рівні (z17, z16, z14) належать одній
мапі "Спутник (Google)", два інших рівні, відповідно,
зображенням "Карта Украины и Белоруссии (maps.vizicom.ua)" та "Генштаб 10 км".
"Монтування" JNX -Запускаємо з командного рядка,
передньо інстальовану, програмку MOBAT2JNX
:
C:\Garmin\GmapTools\MOBAT2JNX>mobat2jnx D:\2011_JNX\Skole\skoleProba\1
-sas
Формат командного рядка для MOBAT2JNX
передбачає після шляху до папки з тайлами
(D:\2011_JNX\Skole\skoleProba\1) прописати параметр
"_-sas", це підкаже програмі
MOBAT2JNX, що працюємо з типовим кешем програми
SAS.Планета.
Перша ж частина команди
(C:\Garmin\GmapTools\MOBAT2JNX>mobat2jnx), власне,
вказує шлях до виконавчого файлу mobat2jnx.exe
.
Так як я, маючи купу дисків і безліч прог, вже
забув, куди встановив MOBAT2JNX, то на разі не став
заморочуватись з пошуком, а просто імітував повторну інсталяцію і дізнався
де прописалась ця
програмулька:).
Запускати MOBAT2JNX
мені зручно з Total Commander (ТК
), для цього:
а) на лівій панелі ТК переходжу в папку MOBAT2JNX (1), при
цьому в нижній лівій частині вікна ТК пропишеться
шлях (2).
б) (3) вписую чи вставляю (copy&paste) у рядку-віконечку що праворуч, поряд команду: mobat2jnx.exe D:\2011_JNX\Skole\skoleProba\1 -SAS і тисну а-ля Enter (клавіатура) .
В папці "1"(4)почалося тривале таїнство творення JNX. Про це свідчить поява чорного віконечка роботи командного рядка. Ну а оскільки любому таінству шкодить публічність,
то маленька порада, щоб не вректи, на панелях ТК вміст папки "1" відображатись
не повинен. Для цього навіть буде достатньо у правій панелі перейти на
інший диск.
Поки не
з’явилось повідомлення "Done", а ця подія відбудеться не скоро, раджу, не поспішаючи, переглянути пункти (1)… (7) . Особливо звернути увагу на (7) , щоб зійшовся «дебет з кредетом» на усіх
рівнях.
Якщо ж вам не судилось побачити такого
віконечка, то почніть монтування заново, але ретельніше, у відповідності із
скрінами.
В папці
D:\2011_JNX\Skole\skoleProba\1 у мене (сподіваюся, також і
у вас) сформувався жаданий JNX файл на 169 (178)
мб, який я перейменовую на Skole20110322.jnx
.
Тепер здалось би переглянути десь цей фай- мапу JNX. Звісно, що в основній програмі від Garmin BaseCamp це зробити без змін в реєстрі
неможливо, тому для оцінки результату скористаємося альтернативою -QLandkarte GT.
Програма по замовчуванню
прописується за адресою "C:\Program
Files\QLandkarteGT\" і запускається файлом QLandkarte
GT.bat.
Після типового: Файл\Загрузить
карту… , щоб обзервувати вибрану мапу рекомендую з основного меню
"Главное"… функціональною F1 перейти в меню
Карты… а там вибрати Центр карты F3 і буде
так добре.
Поскролимо мишкою до мірила 10 км, з нього, при стандартних параметрах , починається відображення
першого рівня нашої мапи , це тайли z9,
покриття Генштаб 10км
.
Дальше при мірилі 1км з’являється maps.vizicom.ua
,
а при 300м і нижче бачимо
деталізоване супутникове покриття картосервісу Google:
.
Мати в своєму
GPS-сі мапу з відображенням димарів на людських хатах - це, напевне, «круто» і, чесно
кажучи, я сьогодні від цього факту дещо спантеличений.
Але фактично завдання виконано, ми отримали мапу
JNX та ще й виду «три в одному», правда є одна
особливість, на дисплеї реального GPS зображення мапи може
відтворюватися в інших масштабах ніж в QLandkarte GT.
8km -
пусто;
5km...1.2km- Генштаб
maps.vizicom.ua - 800m...300m
5m ...200м супутник Google
*мапи JNX повинні знаходитись в Garmin GPS за шляхом ...:\Garmin\BirdsEye\.
**Рекомендую новостворену мапу для остаточного тестування закидати на SD картку, у випадку "не правильного" JNX, це вбереже навігатор від поломки.
Додаток
Як на
мене, то в деяких масштабах (30m, 80m, 120m …) наша мапа відображається якось
розмито, не так, як наприклад при 20m та 50m . Якщо це для нас критично, то
довести до ладу новостворену мапу поможе програмка jnxscale
Інтерфейс її - простіше не буває, якихось
особливих рекомендацій не можу дати, але кілька пассів і результат у всій
своїй красі: діапазон масштабів розширився, чіткість покриття супутник Google
покращалось:
5m...300m супутник Google
maps.vizicom.ua - 500...1.2km
20km...2km - Генштаб 10км
Таким чином, використовуючи особливість тайлового
формату мап JNX, нам вдалося реалізувати озвучену в перших рядках статті ідею, а відтак обійти заборону "source of images- BirdsEye service only"
Березень 2011
Матеріал підготував (написав): Ed ua
|