Pliki JNX - czyli garminowski raster inaczej.           GPS Maniak - strona główna serwisu

* Wstęp
  Przy założeniu, że ortodoksyjni miłośnicy systemów rastrowych raczej nie kupują Garmina, możliwości oferowane przez CustomMaps - jako rozwiązanie awaryjne (gdy map wektorowych całkowicie brak) czy uzupełniające (gdy mapy wektorowe są zbyt mało szczegółowe dla naszych potrzeb) wydają się być - nawet przy tak poważnych ograniczeniach -wystarczające.
   Bywają jednak sytuacje, w których nawet ludzie tacy jak ja - czyli ludzie nie będący miłośnikiem map rastrowych w turystyce, narzekają na ograniczenia CustomMaps. Zaliczam się bowiem do ludzi, którzy nie lubią przed każdym wyjazdem kombinować co i jak, bądź już podczas "wypadu" żonglować plikami na karcie, a jednocześnie - sporadycznie, bo sporadycznie - ale lubię sobie to i owo sprawdzić na mapie historycznej - np. na mapie WIG. Niestety przy ograniczeniach CustomMaps co do ilości i wielkości "kafelków" nie mam możliwości objęcia mapami WIG - w jakiejś sensownej jakości - całego interesującego mnie regionu obejmującego wschodnią część Beskidu Niskiego, Bieszczady i Pogórze Przemyskie.
   Dlatego z zainteresowaniem przeczytałem na Garniaku informację o możliwości wygenerowania własnych plików graficznych JNX - zgodnych z garminowskim formatem BirdsEye. Co prawda w tamtym okresie w BirdsEye, podobnie jak w przypadku CustomMaps - nie mieliśmy możliwości załączania i wyłączania pojedynczych arkuszy, ale różnice pomiędzy plikami KMZ (CustomMaps), a JNX (BirdsEye) były naprawdę znaczące.
   Obecnie (począwszy od kwietnia 2011r) możliwości jakie oferuje odbiornik z plikami JNX są jeszcze większe gdyż dzięki obsłudze "MapID" uzyskujemy możliwość swobodnego włączania i wyłączania map (bądź zestawów map) o różnym ID co oznacza że w porównaniu do KMZów zmiany są naprawdę "rewolucyjne":  
źródło:  http://whiter.brinkster.net/en/JNX.html
 
  • dla danego obszaru możemy mieć pięć warstw rastra wyświetlanych na pięciu różnych zoomach
  • w poszczególnych warstwach może znajdować się do 50000 kafelków
  • większa szybkość renderowania obrazków
  • swobodne włącanie i wyłaczanie map o różnych MapID
  Są też minusy. Wg założeń Garmina - pliki JNX są specyficznym formatem dla serwisu BirdsEye, na dodatek są kodowane i przypisane do konkretnego odbiornika. Jak wspomniałem wyżej, problem generowania własnych plików JNX został rozwiązany, zatem tylko drobna przeróbka firmware'u i ..... hulaj dusza.
  Tu jednak powstaje mały dylemat moralno prawny. Otóż zgodnie z zapisami licencyjnymi Garmina:  .... You agree not to decompile, disassemble, modify, reverse assemble, reverse engineer, or reduce to human readable form the Software, or any part thereof or create any derivative works based on the Software .... przeróbki firmware'u nie są dopuszczalne. Z drugiej jednak strony pokusa znacznego zwiększenia funkcjonalności odbiornika, przy trochę naciąganym argumencie że przerabiając (patchując) firmware, chcemy doprowadzić do kompatybilności oprogramowania z innymi produktami, co jest dopuszczalne w polskim ustawodawstwie, zachęci zapewne wielu użytkowników Garmina do wykonania tego kroku.
 
* "Modernizacja" odbiornika
   Patchowanie firmware'u dla potrzeb obsługi plików JNX jest stosunkowo proste. Nieco trudniejsze może się okazać odszukanie stosownej wersji pliku aktualizacyjnego: gupdate.gcd. Można próbować u perrego. Linki do najnowszych wersji dostępne są też u popeja.
   Jeżeli w odbiorniku posiadamy starszą wersję FW niż najnowsza publikowana przez Garmina, plik gupdate.gcd można też pozyskać metodą "przechwycenia z odbiornika" opisaną w moim artykule
   Pobrany plik zapisujemy w dowolnym katalogu naszego komputera, po czym idąc za linkami podanymi na www, z której pochodzi cytowana wyżej tabelka trafiamy na linki do najnowszego zzipowanego firmwarepatchera.
 
  Po rozzipowaniu uruchamiamy program, zaptaszkowujemy "Adjust firmware ... " i wprowadzamy numer "podwersji" np.1 co powinno zaskutkować możliwością nadpisania tej samej wersji FW (przykładowo można wgrać patchowany FW 4.20 na oryginalną wersję 4.20), bez konieczności robienia downgradu.
 
 
  Następnie przyciskim Browse odszukujemy plik gcd, który chcemy spatchować, wksazujemy go i ... tyle. Komunikat:
 
 
oznacza, że patchowanie jest zakończone. Otrzymany plik (w nazwie pojawia się słowo: "Patched") przekopiowujemy do dowolnego katalogu, zmieniamy nazwę na gupdate.gcd, po czym możemy wykorzystać go do "uaktualnienia" firmware'u w naszym odbiorniku, zgodnie z zasadami opisanymi w artykule: Optymalny firmware.

   Przy okazji wspomnę, że nieco inaczej przebieg patchowania i wgrywania firmware'u (dla Colorado) opisał w swoim artykule na Garniaku kolega soko oraz fakt, że zarówno FW 3.60 jak też 3.70 odbiorników Colorado nie obsługuje (przynajmniej moim zdaniem) MapID plików JNX, co oznacza że włączanie i wyłączanie wszystkich JNXów będzie odbywało się hurtem - podobnie jak ma to miejsce w przypadku plików KMZ.

   W tym miejscu zwracam uwagę na problem samowyłączeń odbiornika, jaki zgłosili niektórzy użytkownicy Colorado po wgraniu spatchowanego firmware'u. No cóż. Nawet oryginalne oprogramowanie Garmina potrafi płatać figle, a co dopiero "przeróbki". Reasumując: każdy jest kowalem własnego szczęścia i każdy sam musi podjąć decyzję: "modernizować" odbiornik czy też nie.
* Mapki testowe
    Będąc szczęśliwym posiadaczem "zmodernizowanego" odbiornika możemy przystąpić do sprawdzenia jak w praktyce wygląda obsługa plików JNX w naszym outdoorowcu. Najłatwiej sprawdzić to, pobierając gotowe pliki JNX z sekcji Download, gdzie m.in. umieściłem graficzne pliki JNX z topograficzną mapą Tatr w skali 1:10.000.

   Po prawidłowym przekopiowaniu plików JNX na kartę pamięci do katalogu Garmin\BirdsEye w opcji:
Konfiguracja mapy -> Wybierz mapę  (odbiornik: 62S/ST) powinniśmy na dole listy zobaczyć "mapę" BirdsEye. Po jej włączeniu oraz naprowadzeniu kursora na Tatry i przezoomowaniu odbiornika do poziomu co najmniej 200m - możemy cieszyć oko mapą rastrową - JNX.
   Pliki JNX można umieścić także w pamięci głównej odbiornika (katalog: Garmin\BirdsEye). Uczyniłem to i niczego  niepokojącego nie zauważyłem. Należy jednak pamiętać, że pracujemy na spatchowanym firmware i nie autoryzowanych plikach. Zatem minimalne bo minimalne, ale ryzyko całkowitego zablokowania odbiornika istnieje. Stąd lepszym pomysłem jest wrzucenie plików JNX na kartę, którą zawsze - w razie problemów można z odbiornika wyjąć.
* Własne mapy
   Po "modernizacji" odbiornika i udanych testach z publikowanymi przeze mnie mapkami, czas na własne pliki JNX. Do tego celu wykorzystamy program mapc2mapc.
 UWAGA   Różne wersje programu mogą dawać różne formaty plików JNX, akceptowane przez różne Firmware'y odbiorników. Opisana niżej procedura z programami w wersji 4.33 bądź 4.28 daje pliki wynikowe JNX dla Firmware'ów dostępnych w styczniu 2011r (np. 2.80 dla 62S/ST) - tzn. bez informacji o "MapID". Próba uruchomienia odbiornika z nowszymi Firmware'mi ale plikami JNX "starego" formatu, może skutecznie zablokować odbiornik, dlatego pliki JNX zawsze należy wgrywać na kartę, którą w razie kłopotów możemy wyjąć z odbiornika.
 UWAGA   Nowsze wersje programu mapc2mapc niż opisana poniżej v.4.33 nie wymagają wykonania operacji: WarpMap (opcja jest wykonywana automatycznie po wyborze: Write JNX File),  a ponadto program przed wygenerowaniem pliku powinien zapytać o parametry nagłówka pliku JNX, w tym MapID (Product Group ID), wskazującym w jakim zestawie mapa będzie się zgłaszała w odbiorniku celem jej załączenia. Różne mapy o tym samym parametrze ID będą załączane i wyłączane jako jeden zbiór - jeden wspólny mapset.

 
-----------------------------------------
Opis pochodzący ze stycznia 2011r:
 
   Program obsługuje mapy rastrowe z plikami georeferencyjnymi w najbardziej popularnym formacie - formacie OziExplorera. Dysponując mapą w formacie Oziego wybieramy opcję:
  Program - przynajmniej teoretycznie - obsługuje najbardziej popularne układy współrzędnych, jednak podczas ładowania niektórych map zdarzało mi się obejrzeć komunikat tego typu:
  Wydaje się, że w takim przypadku najwłaściwsze będzie wstępne przekonwertowanie mapy do układu WGS-84 Lat/Lon, podobnie jak to ma miejsce w przypadku przygotowania mapek dla programu OziMapToKMZ, o czym napisałem w artykule poświęconym CustomMaps.
   Jeżeli program nie zgłasza błędów, wykonujemy "warpowanie" mapy: 
   w której to opcji - nie zastanawiając się za bardzo co i dlaczego - osobiście potwierdzam domyślne parametry. Dodam jednak, że zawsze pracuję na mapach skalibrowanych jako WGS-84 Lat/Lon.
  Po wykonanym "warpowaniu" - co trochę potrwa, możemy zapisać naszą mapkę w postaci pliku JNX:
i na tym koniec :-)
 
 Kilka uwag: 
  • Program mapc2mapc z interfejsem graficznym zademonstrowanym wyżej zalicza się do kategorii shareware i w zasadzie należy go docelowo zarejestrować, wnosząc stosowną - wydaje się niezbyt wysoką - opłatę. Wersja nie zarejestrowana pozostawia na mapie JNX czerwone krzyżyki, co wykonywane jest przez łączenie pliku mapy ze stosownym plikiem graficznym.
  • Czerwone krzyżyki w wersji niezarejestrowanej można ominąć uruchamiając program z wiersza poleceń  - polecam przeanalizować post kolegi "ślimaka".
  • Zapewne są to ograniczenia sprzętowe, ale przy nieco większych plikach mapowych, przy próbie "warpowania" otrzymywałem takie oto komunikaty:

 

Wobec powyższego konieczne czasami będzie wstępne "pocięcie" mapy na mniejsze fragmenty - proces który można wykonać GlobalMapperem, bądź freewarowym GPS MapEditem, o czym wspominam w końcowej części artykułu poświęconemu CustomMaps.

  • Zoom odbiornika, przy którym włącza się wyświetlanie mapy, zależy od parametru jnxscale, który domyślnie zależy od rozdzielczości rastra (w metrach na piksel). Parametr ten można jednak wymusić w sposób niezależny od rozdzielczości mapy używając programu jnxscale. Cytując za informacją z Garniaka zależności te przedstawiają się w następujący sposób:

Jeżeli zatem chcemy by mapa (tak jak przykładowa mapa Tatr) wyświetlała się od zoom=200m, należy parametr jnxscale ustawić pomiędzy 521-782 - np. na 600.

  • Operując parametrem jnxscale, możemy przygotować zestaw map, zestaw plików JNX obejmujących ten sam region, ale wyświetlanych przy różnych zakresach zoomów (maksymalnie 5 warstw).
  • Potwierdzam obserwacje kolegi asandrzeja z Garniaka dotyczące nieco bladej kolorystyki plików JNX. Dlatego też polecam, by plik rastrowy przed konwersją do postaci JNX nieco zmodyfikować np. poprzez zwiększenie nasycenia barw i kontrastu.
* Podsumowanie
   Jak wspomniałem wcześniej, do zainteresowania się zagadnieniem związanym z plikami JNX skłoniła mnie chęć przygotowania nieco większego obszaru pokrytego mapami historycznymi "WIG", co przy użyciu funkcji CustomMaps, jest praktycznie niewykonalne. To obejście ograniczeń CustomMaps wydaje się być oczywistą korzyścią, a dołożenie do FW publikowanych począwszy od kwietnia 2011r obsługi "MapID" i w konsekwencji możliwość włączania i wyłączania pojedynczych map o różnych ID, bądź całych mapsetów będących zbiorem map o jednakowym ID powoduje, że zarządzanie rastrami nabrało w outdoorowym Garminie w miarę sensownych kształtów.
 www © GPS Maniak  
--------------------------------------------
Lech Ratajczak I 2011 - VI 2012