* Pliki IMG, a MapSource |
Jak bumerang powraca na różnych grupach dyskusyjnych problem wpinania mapek IMG do programu MapSource. Pomimo, że parę osób opublikowało ogólne zasady jak to uczynić ciągle pojawiają się te same wątpliwości. |
Spróbuję zatem ponownie wyjaśnić pewne zagadnienia związane z tą tematyką. |
Na początek trochę teorii. Otóż używając programu regedit bez trudu możemy zauważyć, że produkty mapowe w MapSource mogą występować w grupie Products lub Families. |
Regedit: "wpięcie" zestawu map do MapSource polega na dokonaniu odpowiednich wpisów do rejestru Windows pokazujących lokalizację plików mapy (Loc) pliku TDB (Tdb) i tzw. "poglądówki" (Bmap). Przy czym informacje te mogą być zapisane zarówno w kluczu Products, jak też Families: |
W obu
przypadkach do zainstalowania produktu mapowego w MapSource są potrzebne odpowiednie
pliki:
- oba generowane przez program Staszka Kozickiego: cgpsmapper. Jak widać i w przypadku Products i w przypadku Families potrzebne są pliki TDB i (preview).IMG. Na czym zatem polega różnica ? Odpowiedź: na funkcjonalności na poziomie MapSource (PC). Otóż produkty starszego typu, np. niezbyt skomplikowane mapki freewarowe (UMP) można śmiało wpiąć jako Products. Produkty bardziej zaawansowane, a zwłaszcza mapy zawierające dane do routingu - wpięte jako Products nie zapewnią routowalności na poziomie MapSource. Tego typu mapy lepiej wpinać jako Families. Dodatkowo zwracam uwagę, że produkty Families są zawsze jednoznacznie rozróżniane przez odbiornik. Zatem mamy ułatwione zarządzanie mapami (można je grupowo właczać i wyłączać). W przypadku map z rodziny Products mapy często "lądują" w odbiorniku w jednej grupie. |
Niestety ...................... |
Freewarowym cgpsmapperem (przynajamniej takie są moje doświadczenia) nie można wygenerować prawidłowych plików TDB i (preview).IMG dla rodziny Families. Dokładniej: nie ma możliwości wygenerowania prawidłowych plików TDB/(preview).IMG dla mapek z routingiem - routing nie zadziała na poziomie MapSource. Zatem userzy wersji free cgpsmappera zmuszeni są do generowania plików dla grupy Products - nawet jeżeli są to mapki routowalne (wystąpi brak routingu na poziomie MapSource), bądź do korzystania z MapCenter2. |
Jak wspomniałem - w obu przypadkach (Products lub Families) w celu wpięcia produktu mapowego do MapSource niezbędne jest posiadanie plików konfiguracyjnych TDB i (preview).IMG Pliki te w obu przypadkach generujemy za pomocą cgpsmappera z poziomu wiersza poleceń komendą: |
cgpsmapper pv pv.txt |
Plik pv.txt ma inną postać dla Products i inną dla Families. Ponieważ jednak wygenerowanie prawidłowych plików dla families nie jest możlwie freewarowym cgpsmapperem ograniczę się do przykładów związanych z Products. |
Oto przykładowy plik dla map Products: |
[Map] FileName=Ulubione_1 MapVersion=100 ProductCode=141 Levels=2 Level0=16 Level1=14 Zoom0=5 Zoom1=6 MapSourceName=Ulubione_1 MapSetName=Ulubione_1 CDSetName=Ulubione_1 [End-Map] [Files] img=00000001.img ............ img=00005555.img |
Zwracam uwagę na kilka rzeczy: |
|
W konsekwencji wykonania polecenia cgpsmapper pv pv.txt powinniśmy uzyskać odpowiednie pliki TDB i preview.IMG (tu o nazwach: Ulubione_1.TDB Ulubione_1.IMG) Jednocześnie cgpsmapper wygeneruje plik "reg", który można zaimportować do rejestru Windows. Wpis do rejestru wskazuje na lokalizację plików TDB, preview.IMG oraz na lokalizację mapek szczegółowych - plików IMG, zatem zastosowanie pliku "reg" jest możliwe wyłącznie wówczas, gdy mapki oraz pliki konfiguracyjne umieścimy w katalogu domyślnym stosowanym przez cgpsmappera. Ponieważ ja stosuję inny katalog domyślny - nie używam pliku "reg" wygenerowanego przez cgpsmappera, lecz generuję swój własny plik "reg" - o czym dalej. |
------------------ |
Teraz przedstawię w punktach - oraz pokażę na przykładzie w jaki sposób ja wpinam mapki do MapSource (jako Products) |
|
[Map] FileName=Zestaw_1 MapVersion=100 ProductCode=141 Levels=2 Level0=16 Level1=14 Zoom0=5 Zoom1=6 MapSourceName=Zestaw_1 MapSetName=Zestaw_1 CDSetName=Zestaw_1 [End-Map] [Files] ............ [End-Files] |
gdzie w sekcji Files znajdują się nazwy poszczególnych mapek. Przy okazji ponownie przypominam o wpisie ProductCode, który powinien być unikatowy - różny dla różnych zestawów. |
|
Cały ten proces mam częściowo zautomatyzowany: |
PRZYKŁAD |
|
|
|
|
|
|
|
* Plik PV.TXT (teraz już zbędny) o zawartości: |
[Map] FileName=Zestaw_1 MapVersion=100 ProductCode=141 Levels=2 Level0=16 Level1=14 Zoom0=5 Zoom1=6 MapSourceName=Zestaw_1 MapSetName=Zestaw_1 CDSetName=Zestaw_1 [End-Map] [Files] img=55120001.img img=55140001.img [End-Files] |
* Plik Zestaw_1.IMG (mapka preview - poglądowa) |
* Plik Zestaw_1.TDB (plik konfiguracyjny dla MapSource) |
* Plik Zestaw_1.REG wskazujący lokalizację mapek oraz plików konfiguracyjnych o zawartości: |
REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Garmin\MapSource\Products\Zestaw_1] "LOC"="C:\\Garmin\\Zestaw_1\\" "BMAP"="C:\\Garmin\\Zestaw_1\\Zestaw_1.img" "TDB"="C:\\Garmin\\Zestaw_1\\Zestaw_1.tdb" |
|
|
|
|
UWAGA |
|
----------------------- |
Inną metodą wspomagającą proces wpinania mapek jest zastosowanie programu: MapSetToolKit, który (podobnie jak TDB-IMG) jest swojego rodzaju nakładką na cgpsmappera. MapSetToolKit pozwala wpiąć mapki również jako Families, niemniej jednak routing na poziomie MapSource i tak będzie niemożliwy. |
Zaletą MapSetToolKita jest fakt, że zarówno przy instalacji zestawów, jak też przy ich odinstalowywaniu (gdzie jest konieczne usuwanie wpisów w rejestrze Windows) nie musimy korzystać z regedita. |
Na koniec taki kwiatek: |
Taki komunikat przy wysyłaniu map MapSourcem nie oznacza, że mamy uszkodzony odbiornik. Oznacza, że odpowiedzialny za zarządzenie jakimś zestawem mapowym plik TDB jest wadliwy. Przyczyny tego zjawiska mogą być różne. Może to być np. niezgodność mapek IMG z mapkami użytymi podczas generowania pliku TDB. Taki komunikat może się także ukazać w sytuacji gdy wygenerowaliśmy plik TDB dla mapek wadliwych z punktu widzenia MapSource czy niektórych mapek komercyjnych. |
---------------------- |
LR XII 2006 |