gmaptool v0.27 9.4.2008  (C) AP
---------------------------------------------------------------------------

Program umoliwia operacje na plikach map w formacie Garmina. Dostpne s nastpujce operacje:
- poczenie kilku map gmapsupp.img w jedn cao.
- podzia mapy na elementy do podczenia pod Mapsource,
- podzia mapy na elementy skadowe,
- zapis w oryginalnym pliku priorytetu, transparentnoci i kodu odblokowujcego,
- wywietlanie informacj o mapie,

Podstawowym zadaniem programu jest czenie gotowych map, takich jak wytworzony przez Mapsource plik gmapsupp.img. Program potrafi sklei kilka takich map w jeden plik, ktry mona zaadowa do odbiornika.

Przy rozbiciu mapy na elementy skadowe program moe wygenerowa pliki potrzebne do podczenia do Mapsource. Program tworzy plik tdb oraz uproszczon mapk pogldow w formacie polskim. Mapke naley skompilowa programem cgpsmapper. Do przyczenia wytworzonych plikw najwygodniej uy programu MapSetToolKit. Niektre funkcje w tak podczonej mapie mog nie by dostpne na PC. Troche informacji mona znale tutaj:
http://www.garniak.pl/viewtopic.php?p=14660#14660

Program jest jeszcze w wersji testowej, prosz ostronie uzywa map przetworzonych tym narzdziem.
Program nie sprawdza, czy zawarto poszczeglnych map si powtarza ani czy poczeniu podlegaj fragmenty tego samego produktu. W obu powyszych przypadkach dziaanie poczonej mapy jest nieokrelone.

W przypadku czenia pojedyczych mapek z zestawu map podczonych do Mapsource naley poda numery Family i Product. Przy czeniu map wytworzonych przez Mapsource, waciwe numery ju znajduj si w pliku gmapsupp.img.

Program akceptuje na wejciu pliki w formacie map Garmina *.img, *.trf, *.typ oraz plik *.unl zawierajcy kody odblokowujce w postaci cigu znakw ASCII.

Zastrzeenie:
Program zosta zrobiony na podstawie dokumentacji dostpnej w internecie oraz analizy danych wytworzonych przez oprogramowanie producentw niezalenych od Garmina. Nie ma adnej gwarancji, e program tworzy poprawne dane, ktre bd waciwie odczytywane przez odbiorniki GPS i oprogramowanie firmy Garmin. Program w adnym sensie nie odblokowuje zabezpieczonych map. W celu korzystania z takich map naley dysponowa poprawnym kluczem odblokowujcym. Uzytkownik ponosi wszelk odpowiedzialno za wykorzystanie programu i danych wytworzonych tym programem.

wywolanie:
gmaptool -j [-v] [-i] [-h] [-r] [-d] [-o plik_wyjsciowy] [-u kod]
         [-f FID[,PID]] [-m mapa] [-b blok] plik.img...

gmaptool -S [-v] [-i] [-h] [-l] [-f FID[,PID]] [-m mapa]
         [-c str.kodowa] plik.img...

gmaptool -s [-v] [-i] [-h] [-m mapa] plik.img...

gmaptool -w [-v] [-i] [-t|-n] [-u kod] [-p priorytet]
         [-f FID[,PID]] plik.img...

gmaptool -i [-v] plik.img...

	-j - polaczenie plikow, wymagana opcja -o
	-S - podzial plikow dla Mapsource
	-s - podzial plikow
	-w - zapisanie zmian w oryginalnych plikach img
	-i - informacja o plikach img
	-v - wyswietlenie dodatkowych informacji
	-r - usuniecie kodow odblokowujacych
	-d - utworzenie mapy DEMO
	-o - podanie nazwy pliku wyjsciowego
	-u - podanie kodu odblokowujacego
	-f - podanie numerow Family i Product
	-m - podanie nazwy mapy
	-c - strona kodowa mapsetu
	-b - rozmiar bloku w kB
	-p - podanie priorytetu mapy
	-t - mapa przezroczysta
	-n - mapa nieprzezroczysta
	-h - krotki naglowek img
	-l - limit dlugosci na mapie pogladowej 178.5

Opcja -E przecza jzyk programu na angielski.

---------------------------------------------------------------------------
Jak dziaa GmapTool
---------------------------------------------------------------------------

Mapa Garmina w pliku img ma posta zblion do obrazu dysku PC. Na pocztku jest nagwek, pewna analogia do bootsektora na dysku. Nagwek zawiera nazw mapy. Nastpnie znajduje si zestaw adresw przypominajcy funkcjonalnie FAT na dysku. I wreszcie wikszo pliku zajmuj podzbiory danych, analogi byyby pliki na dysku. Podzbiory maj 8-znakowe nazwy z 3-znakowym rozszerzeniem. Rozszerzenie okrela typ podzbioru.

Produkt mapowy zainstalowany pod Mapsource skda si z plikw zawierajcych po jednym kawaku mapy, dokadnie takim jak wida przy wyborze map do wysania do GPS. Kady z tych plikw zawiera elementy, o ktrych wspomniaem wyej.

Ponadto Mapsource obsuguje dane mapy nie posiadajce struktury img. To s pliki trf i typ. Pliki zawieraj wprost dane poprzedzone krtkim nagwkiem z opisem typu pliku.

Mapsource przy tworzeniu pliku dla GPS wykonuje nastpujce czynnoci:
- Zapisuje wszystkie kawaki map w jednym wsplnym zbiorze. Czyli tworzy nowy nagwek, nowy FAT a podzbiory przepisuje z plikw podczonych do Mapsource.
- Docza pliki trf i typ, jeeli mapa posiada takie. Pliki s traktowane jako kolejne podzbiory.
- Generuje plik indeksowy i docza go do zbioru img jako kolejny podzbir.
- Dopisuje dodatkowy podzbir, zawierajcy nazwy mapek, identyfikatory, klucze odblokowujce. Podbir jest zapisywany w pliku img z rozszerzeniem MPS.

Dla rozrnienia plik przygotowany przez Mapsource i skadajcy si z wielu map nazywam mapsetem.


GmapTool ma kilka trybw pracy, w ktrych wykonuje rne dziaania. Zawsze jednak zaczyna od odczytania wszystkich plikw wejciowych, rozpoznania podzbiorw i podziau podzbiorw na mapy. Opcja -i powoduje wypisanie informacji o odczytanych zbiorach.

W trybie czenia mapsetw (-j) GmapTool odczytuje wszystkie mapy a nastpnie zapisuje je do jednego zbioru. Poszczeglne podzbiory s zapisywane kolejno wg typw, podzbiory jednej mapy s zapisywane obok siebie. Opcje -t, -n i -p powoduj wstawienie odpowiednich poprawek do wszystkich map podczas zapisu. Na koniec jest tworzony jeden wsplny podzbir MPS zawierajcy wszystkie dane z czonych map. Opcje -r i -u wpywaj na sposb tworzenia podzbioru MPS.

W tym trybie mona poda tylko jeden plik wejciowy. GmapTool wykona wszystkie operacje i stworzy poprawny plik wyjciowy. Mona w ten sposb doda lub usun kody odblokowujce oraz zmieni priorytet i przezroczysto mapy.


W trybie czenia map (-j) GmapTool nie dysponuje danymi z podzbioru MPS. Te dane trzeba utworzy, dlatego naley poda opcje -f i -m. GmapTool przyjmuje, e wszytkie mapy pochodz z jednego produktu i przypisuje im podany FID i PID. GmapTool przepisuje nazwy map z nagwka pliku mapy do bloku MPS.
Jeeli chcemy poaczy w ten sposb rne produkty, trzeba to zrobi etapami. Najpierw poczy osobno mapy kadego produktu podajc FID, PID i nazw a nastpnie poczy otrzymane mapsety.


W trybie podziau mapy (-s) GmapTool dla kadej mapy tworzy osobny, kompletny plik img. Nazwa mapy zostaje wzita z podzbioru MPS lub z struktur FAT pliku img. Dodatkowo GmapTool tworzy zbir MPS i zbir unl zawierajcy dane z podzbioru MPS w pliku img.


W trybie podziau mapy dla Mapsource (-S) GmapTool pracuje jak w przypadku zwykego podziau opcj -s ale nie generuje wszystkich plikw ale przede wszystkim te, ktre potrafi podczyc do Mapsource oraz plik indeksowy i dane trf. Ponadto tworzy brakujce pliki TDB, MDx i mapy pogldowej. W pliku TDB jest zawarta informacja o FID i PID mapy, GmapTool pobiera FID i PID z podzbioru MPS. Mona wymusi zmian wartoci FID i PID przy pomocy opcji -f. Analogicznie jest w przypadku nazwy mapy, standardowo jest brana z podzbioru MPS ale moe by ustawiona opcj -m.
Mapset podczony do Mapsource nie ma penej funkcjonalnoci. Brakuje mu danych kartograficznych na mapie pogldowej oraz moliwoci wyszukiwania adresw. Plik indeksowy MDR zawarty w zbiorach przeznaczonych dla odbiornika niestety nie nadaje si do wykorzystania w Mapsource.

W trybie zapisu w oryginalnych plikach (-w) GmapTool modyfikuje zawarto mapy umoliwiajc zmian priorytetu i transparentnoci. Gmaptool ustawia zadane wartoci we wszystkich mapa w pliku. W przypadku podania opcji -f, gmaptool wykonuje korekt selektywnie, tylko dla map o podanej wartoci FID i PID. Mona poda sam FID, lub sam PID, w tym drugim wypadku naley ustawi FID rwny 0.
W przypadku podania opcji -u GmapTool odszukuje podzbir MPS. Jeeli w podzbiorze jest wystarczajca ilo wolnego miejsca, to dopisuje podany kod wprost do oryginalnego pliku. Operacja si nie uda, jeeli nie bdzie zbioru MPS lub nie bdzie w nim wolnego miejsca.


---------------------------------------------------------------------------
Idea zarzdzania mapami przez GmapTool
---------------------------------------------------------------------------

1. Generujemy osobno dla kadej mapy podpitej pod Mapsource kompletny plik gmapsupp.img. Nadajemy mu jak czyteln nazw (np. ump.img, gpmapa.img) i zapisujemy w katalogu na dysku PC.

2. Z mapkami dostarczonymi w urzdzeniu czy na karcie SD moemy zrobi to samo, np. mona skopiowa gmapprom.img z CNE na PC.

3. Jak chcemy nagra mapy do odbiornika, to wybieramy sobie mapki i przy pomocy GmapTool czym je w jeden plik gmapsupp.img. W praktyce podczam czytnik z kart, ktra pojawia sie jako dysk S:, przechodz do katalogu z mapami i wykonuj komend:

      >gmaptool -jo s:\garmin\gmapsupp.img *.img


4. Jak dostaniemy now wersj UMP czy GPMapy, to produkujemy w Mapsource nowy plik tylko dla tej mapy. Aktualizujemy go na PC i ponownie generujemy GmapToolem cay zestaw do zaadowania do odbiornika. Cao operacji trwa wielokrotnie krcej ni wygenerowanie takiego samego kompletu map przez Mapsource.


---------------------------------------------------------------------------
Instrukcja podczenia preinstalowanych map z odbiornika do Mapsource
---------------------------------------------------------------------------

Przypumy, e GPS lub czytnik kart pokazuje si pod Windows jako dysk I: i Mapsource ju mamy zainstalowane. Procedura byaby nastpujca:

1. cigamy narzdzia: MapSetTolKit, cgpsmapper free:
	http://cgpsmapper.com/buy.htm
	http://cypherman1.googlepages.com/
Rozpakowujemy, instalujemy itp.

2. Przygotowujemy pust kartotek dla naszej mapy. eby nie kombinowa ze ciekami wrzucamy do niej cgpsmappera i gmaptool.

3. Podczamy GPS. Uruchamiamy okno komend - albo akcesoria->wiersz polece albo startujemy ulubionego klona Norton Commandera - i przechodzimy do przygotowanej kartoteki.

4. Rozpakowujemy map gmaptoolem z opcj due 'S'. Moe to by mapa firmowa w pliku gmapprom (np. CNE):
      >gmaptool -S I:\garmin\gmapprom.img


albo mapa preinstalowana jak GPMapa w pliku gmpasupp:
      >gmaptool -S I:\garmin\gmapsupp.img

Oczywicie zamiast dysku I: podstawiamy ten waciwy. W efekcie otrzymujemy pliki map, pliki mapset00.tdb, mapset00.mdx i plik mapy pogldowej mapset00.mp w tekstowym formacie polskim.

5. Kompilujemy map pogldow:
      >cgpsmapper mapset00.mp

Otrzymujemy map pogldow mapset00.img.

6. Uruchamiamy MapSetToolKit. Wybieramy guzik "Install Existing Mapset". Naciskamy wielokropek przy linii "TDB file" i pokazujemy plik mapset00.tdb. To samo robimy dla "overview map" i ewentualnie dla "TYP file", jeeli taki si pojawi w kartotece. Wymylamy jak nazw "Registry name" i naciskamy "Install".
Uwaga: GmapTool potrafi wycign z mapy podzbir MDR jednak to nie s takie dane, jakich potrzebuje Mapsource. Nie naley pliku MDR podcza do Mapsource.

7. Otwieramy Mapsource i szukamy nowej mapy. Mapsource zapewne zapyta o klucz. Podajemy mu nasz klucz, jeeli nie pamitamy, to warto sprawdzi w kartotece czy jest plik *.unl lub na dysku GPS rwnie plik *.unl lub popatrze na dysku odbiornika w plik \garmin\GarminDevice.xml. Jak wszystko zawiedzie, to podajemy "DEMO" :-)

Mapka nie jest podczona idealnie, nie ma pewnoci, e Mapsource si nie wyoy przy jakiej operacji, ale pooglda bdzie mona. Mapa pogldowa jest absolutnie minimalna i przy duych skalach bdzie wida jedynie prostokty obszarw. Myl, e z tym mona pokombinowa, np. dokadajc w MapEdicie prawdziwe mapy pogldowe.

GmapTool generuje maksymalnie uproszczon mapk pogldow. To s tylko prostokty okrelajce obszary poszczeglnych map plus obszar background. Tak jest prosto i szybko, a waciwie to nawet nie potrafibym nic wicej wycign z pliku NT. Mimo to mona doprowadzi mapk w Mapsource do wygodniejszej postaci. Trzeba jednak pokombinowa i pozna kolejne narzdzia.

Najpierw proponuje cign jak map bazow, dobra moe by np. Garmin Mobile XT Free Basemap:
http://www8.garmin.com/support/download_details.jsp?id=3645

Akurat ta mapka zawiera 2 czci. Rozbijamy j (gmaptool -s) i bierzemy tylko wiksz. adujemy do MapEdita i ogldamy jaki ma ukad poziomw. W tym wypadku to jest Level 17, 15, 13, 12, 11, 10 oraz ustawiamy zoom tak, aby dla ostatniego Level bya warto 7, wychodzi ukad 2, 3, 4, 5, 6, 7.
Wykonujemy na mapie operacj czenia elementw z rnych warstw - Tools->Join per Level Elements. To uporzdkuje nieco tre mapy. Map zapisujemy w formacie polskim.

Nastpnie edytujemy mapset00.mp. adujemy do Mapedita i wykonujemy nastpujce operacje:
File->Map Properties->Levels i ustawiamy Level i zoom zgodnie z map bazow. Korzystamy z guzikw Change i Insert Before.
Edit->Select->By Type i wybieramy typ "004b polygon Map coverage area" po czym wracamy do mapy i usuwamy obiekt klawiszem Del.
Edit->Select->All Objects, wracamy do mapy, klikamy w obiekty prawym klawiszem i wybieramy Modyfy->Extend All Elements to Level, podajemy warto przedostatniego Level, w moim przykadzie 4.

Teraz w menu plik wybieramy pozycj ADD i wczytujemy map bazow zapisan uprzednio. Po wczytaniu pojawi si mapa wiata, na tle ktrej nadal bdzie wida zaznaczone obszary. Narzdziem do przycinania wycinamy z mapy kawaek zawierajcy obszary. Wybieramy File->Map properties->Header i sprawdzamy czy mapa ma ID 09999999. Przechodzimy do zakadki cGPSMapper i sprawdzamy, czy zaznaczona jest opcja POI Index. Cao zapisujemy jako w formacie polskim *.mp.

Wczytujemy zapisan mape do edytora tekstowego. Znajdujemy zapisy wygldajce tak:
Region294=
CountryIdx294=34
Region295=
CountryIdx295=63
Region296=

Po znaku = powinna by nazwa regionu, ale zapewne zgina w usunitym kawaku mapy. eby to jako zaata, mona wpisa jako nazw cokolwiek, ja wybraem znak '.', czyli bdzie tak:
Region294=.
CountryIdx294=34
Region295=.
CountryIdx295=63
Region296=.

Mapk zapisujemy i kompilujemy cgpsmapperem. Sugeruj do tego celu uy wersj Personal, ktr mona uywa na prb przez 30 dni. Dziki tej wersji w mapce zostan poindeksowane POI i bdzie mona wyszukiwa wiksze miejscowoci w Mapsource.
Kompilacja zapewne nieco potrwa, zalenie od wielkoci zbioru moe to by kwadrans lub godzina. W wyniku dostajemy plik mapset00.img, ktrym zastpujemy pierwotn, prymitywn mapk. I ogldamy pod Mapsource co z tego wyszo.


---------------------------------------------------------------------------
Mapa bazowa w turystycznych GPS-ach z USA.
---------------------------------------------------------------------------

Najnowsza mapa bazowa, jak znam jest w komplecie z XT Mobile, mona pobra stad:
http://www.garmin.ru/GarminMobileXTFull.exe
Trzeba rozpakowa i poszuka pliku gmapsupp.img, to jest bazowa mapa wiata wersja 4.01 z pocztku 2007.

Procedura podczenia bazwki do zestawu map w odbiorniku byaby nastpujca:

1. Generujemy zestaw naszych map do odbiornika. Kopiujemy otrzymany plik gmapsupp.img na PC i zmieniamy nazw, np. na mapy.img.

2. Uzupeniamy w mapie bazowej nazw i family ID. ID trzeba sobie wymyli jakie nie konfliktujce z innymi mapami. Wykonujemy tak operacj:
      gmaptool -jo basemap.img -f 7778 -m "World Base Map" gmapbmap.img

Otrzymujemy nowy plik basemap.img

3. czymy nasze mapy z map bazow:
      gmapsupp -jo gmapsupp.img mapy.img basemap.img

Otrzymujemy nowy plik gmapsupp.img

4. Kopiujemy gmapsupp.img z powrotem na kart odbiornika i sprawdzamy, czy dziaa.


---------------------------------------------------------------------------
Historia:
---------------------------------------------------------------------------
04.12.2007 - v0.06
	- poprawka wstawienia kodu opcj -U
06.12.2007 - v0.07
	- opcja -d
08.12.2007 - v0.08
	- opcje -p, -t, -n
09.12.2007 - v0.09
	- poprawka wywietlania daty
09.12.2007 - v0.10
	- wyswietlanie danych TRE
11.12.2007 - v0.11
	- poprawki w zapise blokw danych
13.12.2007 - v0.12
	- tolerancja na bledy naglowka
	- poprawka zapisu transparentnosci dla map NT
	- zmiany sposobu wyswietlania informacji o mapie
18.12.2007 - v0.13
	- obsluga plikow unl
	- poprawki tumaczenia
	- poprawiony format naglowka
20.12.2007 - v0.14
	- opcja -h
	- zmiana kolejnosci zapisu podzbiorw przy opcji -s
	- drobne modyfikacje i poprawki
21.12.2007 - v0.15
	- opcja -S, generacja plikw dla Mapsource
	- drobne modyfikacje i poprawki
22.12.2007 - v0.16
	- zmiana sposobu obsugi podzbioru SRT
	- rezygnacja z podzbioru DEM w Mapsource
	- drobne modyfikacje i poprawki
23.12.2007 - v0.17
	- modyfikacje obslugi ID mapy
23.12.2007 - v0.18
	- poprawka generacji mapy preview
28.12.2007 - v0.19
	- generacja pliku mdx
	- poprawki w generacji pliku tdb
	- poprawki w obsudze podzbioru SRT
	- przywrcenie podzbioru DEM dla Mapsource
29.12.2007 - v0.20
	- poprawki w generacji mapy pogldowej
	- zmiana nazwy plikw MDR
	- w opcji -S dodatkowa generacja plikw trf i MDR (zawsze byy w opcji -s)
5.1.2008   - v0.21
	- dokadniejsze informacje o opcjach
	- odczyt strony kodowej
31.1.2008 - v0.22
	- poprawki generacji tdb i mdx
	- optymalizacja wielkosci bloku
	- opcja -w
1.2.2008 - v0.23
	- modyfikacja generacji tdb (thanks liosha)
7.2.2008 - v0.24
	- korekty pisowani (dziki Beetle-m)
	- poprawka generacji preview
	- opcja -l
8.2.2008 - v0.25
	- poprawki obslugi map bazowych
13.3.2008 - v0.26
	- poprawki generacji MDX
	- obsluga DEM w TDB
9.4.2008 - v 0.27
	- porzdkowanie kodu,
	- opcja -f w trybie zapisu zmian -w
	- generacja TDB dla zestawu pojedyczych map
