To moje wyniki zabawy KMZ kontra JNX na tym samym źródle danych
Źródło to MOBAC z plikiem source
Kod: Zaznacz cały
<?xml version="1.0" encoding="UTF-8"?>
<customMapSource>
<name>German Maps</name>
<minZoom>8</minZoom>
<maxZoom>15</maxZoom>
<tileType>jpg</tileType>
<tileUpdate>IfNoneMatch</tileUpdate>
<url>http://gmaps.zamki.pl/{$z}/{$y}/{$x}.jpg</url>
<backgroundColor>#000000</backgroundColor>
</customMapSource>
Jeśli ktoś nie wie, tworzymy plik XML np. niemieckie.xml z powyższą zawartością i wgrywamy do katalogu Mobile Atlas Creator Wersja\mapsources\
Tak wyglądało źródło KMZ optymalny dla tej mapy a jednocześnie maxymalny obszar kwadrat 10x10 wg grida ustawionego na zoom 13
Dlaczego optymalny ? Bo źródło map ma kafelki jpg 256x256 pixeli w zomie 15. KMZ skaluje na image 1024x1024.
Więc zaznaczając w zoomie 13 kwadrat 10x10 otrzymujemy 100 sektorów każdy (256+256)x(256+256)px bez próby skalowania do wyjściowego 1024x1024 a więc bez utraty danych lub dodania szumu mamy obszar stworzony w KMZ z 1600 tile'i/kafelków 256x256.
Należy pamiętać żeby przed zaznaczeniem zaraz po utworzeniu projektu w MOBAC kliknąć Settings->Map Size-> i ustawić Maximum Size na 1024, w ten sposób MOBAC sam podzieli te sektory a nie potraktuje cały zaznaczony obszar jako image do skalowania do image KMZ.
Oczywiście do porównań źródło JNX do OSMtrackera jak i do Ozi wyglądało tak samo ale już bez ustawienia Maximum Size.
KMZ po zrobieniu był od razu gotowy do skopiowania na odbiornik a JNX utworzyłem metodą mapc2mapc jak i toolem tych samych twórców mobat2jnx.exe z jnxscale.exe.
Od razu mówię że jakości JNX generowanym sharewarowym mapc2mapc jest taka sama jak mobat2jnx.exe tylko że
mobat2jnx NIE DODAJE ŻADNYCH xÓW
Cały katalog wygenerowany OSMTrackera z MOBAC->atlases bierzemy i kopiujemy np do katalogu c:\mapy
A mobat2jnx uruchamiamy tak (najbardziej optymalne ustawienia jakie znalazłem)
Zależnie od wielkości mapy trochę to potrwa a w katalogu c:\mapy pojawi się plik wynikowy jnx.jnx
Otwieramy program jnxscale.xml i w nim wskazujemy plik (program sam określi ile jest warstw zoomów w pliku) i dla każdej z warstw zoomu ustawiamy odpowiednią wartość np 1303 jeśli chcemy aby mapa była widoczna od zoomu 500m. Ponadto ustawiamy sobie Product ID czyli identyfikator przynależności JNXa do danej grupy map w odbiorniku.
Tabela z odpowiednimi wartościami pochodzi ze strony GPS Maniaka
Czas na screeny
KMZ:




JNX (normalna jasność)




JNX z mapc2mapc ....
A tak wyglądałby JNX gdyby był zrobiony ze pierwotnego źródła jako plik poprawnie skalibrowany i wygenerowany
Więc do meritum.
Ja różnicę w jakości na korzyść KMZ lekką widzę KMZ jest jakby bardziej nasycony ? Kontrast jest większy ?
Nie ma tam żadnych operacji graficznych więc musi to być kompresja na JNXie i utrata danych (lub jakieś renderowanie w odbiorniku, może to zależy od odbiornika ?!)
Oczywiście nie są to jakieś duże różnice. Ostatni przykład pokazuje że ważniejsze jest źródło danych a nie ostatecznie format wyjściowy.
Niemniej źródło map niemieckich gmaps.zamki.pl jest na tyle duże (prawie cała zachodnia i centralna Polska),
poprawnie skalibrowane i łatwe w użyciu dzięki MOBAC, że kusi żeby wygenerować sobie JNX z całej takiej mapy (zaczynam już dziś

).
Druga rzecz że mobat2jnx z jnxscale jest wg. mnie też dużo łatwiejszym, szybszym kontrkandydatem dla mapc2mapc.
Trzecia rzecz że metodą obliczania optymalnej liczby kafli mapy do wyjściowego KMZ którą podałem powyżej dla MOBAC
można wenerować całkiem duży obszar np. w celu poszukiwań, do KMZ i nie trzeba wcale iść w stronę patchowania i JNXów.
Trzecia rzecz że próbowałem tworzyć JNX w oparciu o dane wygenerowane na kilku layerach/warstwach, przypisywałem im wydaje się poprawne skale, próbowałem też z domyślnymi wartościami i zawsze taki JNX to była kaszana na każdym zoomie w odbiorniku.
Kompletnie rozmyta tekstura nie przypominająca nigdzie JNXa z jedną warstwą. Czy ktoś robił JNXy z wielowarstwowego źródła ?