GmapTool - program narzędziowy do plików img

O oprogramowaniu do obsługi naszych Garminów. BaseCamp, MapSource, MapSetToolKit, sendMap, WebUpdater, POI Loader, OziExplorer, GarPatch i wiele wiele innych. Także o serwisach typu GPS Visualizer czy GPSies. Ogólnie o szeroko rozumianej personalizacji odbiorników oraz ich wsparciu przy pomocy dodatkowego oprogramowania.

Moderatorzy: Zachu, wojtek, Spider, PouchX

Postprzez popej » Pt, 14 mar 2008 17:09

Prorytet chyba zwalczyłem ;-)
Ale pewnie zaraz wyjdzie coś innego...
popej
Dakota, 3540T, PL Topo, OSM, CNE; Redme Note 4, Locus, OsmAnd
Avatar użytkownika
popej
Bywalec
 
Posty: 6848
Dołączył(a): Wt, 10 kwi 2007 23:22
Lokalizacja: Gdańsk

Postprzez enzo » Wt, 18 mar 2008 15:55

popej napisał(a):This is not a perfect solution but it works. Somehow ;-)

You need some tools to get the work done. Look for cgpsmapper, MapSetToolKit and GmapTool. Unpack and install all this tools. Cgpsmapper and GmapTool are command line programs, you need to start them from command line window or from any Norton Commander clone like Total Commander.

I assume that you have Mapsource installed and that your GPS with preinstalled maps is recognised by Windows as a removable drive, for example as drive I:

Begin with creating an empty directory for your map. Put cgpsmapper and gmaptool in this directory and make it current work directory for subsequent commands.

Unpack your map with gmaptool (option is big 'S'):
    >gmaptool -S I:\garmin\gmapprom.img
You will get several different files in your work directory. These are maps and additional files for Mapsource. You need to compile preview map:
    >cgpsmapper mapset00.mp
Now you can use MapSetToolKit. Start it and choose "Install A Existing Mapset". You have to point to tdb file mapset00.tdb, preview file mapset00.img and invent a registry name. Install and your map should be visible in Mapsource.

Do not try to use MDR file generated by GmapTool in Mapsource. This will not work!

You have to unlock map in Mapsource. Simply input 25-character unlock code from your device. This can be found on papers attached to your GPS, on mygarmin.com after registration, in file \garmin\GarminDevice.xml or \garmin\gmapprom.unl or in a file gmaptool00.unl in map directory on your PC.

And as usually: no guarantee, Mapsource may crash, use at your own risk and responsibility.

If Mapsource crashes use MapSetToolKit to remove new map.


-----------------------[Edit]------------------------------------
You can make better preview map yourself :-)

GmapTool create very simple basic map, just minimum data to make Mapsource see the map. This is OK for small area map but not good enough for big map like City Navigator. You can improve preview map adding details form basemap.

First get a basemap. This could be file gmapbmap.img form your GPS, free basemap from Garmin:
http://www8.garmin.com/support/download ... sp?id=3645
or World Map from Garmin XT Mobile:
http://www.garmin.ru/GarminMobileXTFull.exe

Next you will need tools, MapEdit:
http://www.geopainting.com/en/

and Personal cGPSmapper 30-day evaluation version:
http://cgpsmapper.com/buy.htm

Split basemap into parts:
    >gmaptool -s gmapbmap.img
You will get one or more img files with maps. You can view content of this files with MapEdit (pres Ctrl-0 if you see empty map). For preview choose most detiled map covering required area.

Open choosen file with MapEdit and do:
File->Map Properties->Levels and check levels number, note this for later use. My map has levels 17, 15, 13, 12, 11. Set zoom 7 for last level and then corect other levels zoom to get zoom sequence like 3, 4, 5, 6, 7.
Edit->Select->By Type and select unwanted objects, I recommend selecting all HW-Exits. Close this menu and do Edit->Delete.
File->Save As and save map in polish format .mp.

Open mapset00.mp and do:
File->Map Properties->Levels and make levels and zooms exactly like in basemap. Existing levels should be converted int first and last level and new empty leves inserted in between.
Edit->Select-All objects then right click on an object and select Modify->Extend All Elements up to Level and set last level index minus 1. On my map this is 3.
File->Add and point to basemap saved in mp format. Now your slected objects should be visible on basemap. Use Tools->Trim to select all this elements, right click inside selected area and choose Trim outside.
File->Map Properties and check and correct: on Header tab map ID should be 09999999, on cGPSmapper tab POI Index should be on.
File->Save and save your new map in polish format as mapset00.mp.

Open mapset00.mp in a text editor. This could be very big file, not all editors are capable deal with it. I'm using Notepad2. Look for text like "Region123=" without any name. Correct all empty "=" into "=OTHER".

Run map compilation:
    >cgpsmapper mapset00.mp
this can take a lot of time, be prepared to wait an hour or more. As a result you will get new mapset00.img that can be added to your mapset in Mapsource.

Personal cGPSmapper can make searchable map. When you use preview map with POI and city index, you will be able to search for places in Mapsource.


Hi, first of all I would like to thank you for your great tool.
I have two questions:
1. Why for maps installed by gmaptool ---> cgpsmapper ---> MapSetToolKit it is not functional searching by Ctrl+F in Mapsource?
2. One of the maps is displayed only in the biggest resolution from ratio scale 50 km. At the scale 70 km I can only see the outlines of the squares. I just wanted to check with you if I make some mistake or if it's normal?
Thank you very much.
enzo
Newbie
 
Posty: 2
Dołączył(a): Wt, 18 mar 2008 15:37

Postprzez popej » Wt, 18 mar 2008 16:29

Hi,

enzo napisał(a):1. Why for maps installed by gmaptool ---> cgpsmapper ---> MapSetToolKit it is not functional searching by Ctrl+F in Mapsource?

Search doesn't work because index file is missing. Mapsource use different file format then GPS and I don't know to convert index from img file.
enzo napisał(a):2. One of the maps is displayed only in the biggest resolution from ratio scale 50 km. At the scale 70 km I can only see the outlines of the squares. I just wanted to check with you if I make some mistake or if it's normal?

This is because overview map is very simple, it consist of outlines only.

To some extend you can solve both problems preparing better overview map, just like described in quote that you provided.
popej
Dakota, 3540T, PL Topo, OSM, CNE; Redme Note 4, Locus, OsmAnd
Avatar użytkownika
popej
Bywalec
 
Posty: 6848
Dołączył(a): Wt, 10 kwi 2007 23:22
Lokalizacja: Gdańsk

Postprzez enzo » Wt, 18 mar 2008 17:18

popej napisał(a):Hi,

enzo napisał(a):1. Why for maps installed by gmaptool ---> cgpsmapper ---> MapSetToolKit it is not functional searching by Ctrl+F in Mapsource?

Search doesn't work because index file is missing. Mapsource use different file format then GPS and I don't know to convert index from img file.
enzo napisał(a):2. One of the maps is displayed only in the biggest resolution from ratio scale 50 km. At the scale 70 km I can only see the outlines of the squares. I just wanted to check with you if I make some mistake or if it's normal?

This is because overview map is very simple, it consist of outlines only.

To some extend you can solve both problems preparing better overview map, just like described in quote that you provided.


Thank you for your explanation.
enzo
Newbie
 
Posty: 2
Dołączył(a): Wt, 18 mar 2008 15:37

Postprzez rondo » Śr, 19 mar 2008 19:53

jaki jest algorytm kolejności dołączania plików wsadowych do pliku wynikowego? Innymi słowy jak spowodować, aby finalnie ustawić mapy w zadanej kolejności w odbiorniku?
rondo
Bywalec
 
Posty: 119
Dołączył(a): Pt, 29 lut 2008 10:21
Lokalizacja: Katowice

Postprzez popej » Śr, 19 mar 2008 20:48

A co rozumiesz, przez kolejność w odbiorniku?

Jeżeli chodzi o kolejność map w pliku, to gmaptool zapisuje mapy grupami, kolejno:
- pliki indeksowe,
- pliki TYP,
- mapy NT,
- mapy MPC,
- blok MPS z nazwami map.

W obrębie każdej grupy mapy są zapisywanie w takiej kolejności, w jakiej zostały podane w argumentach wywołania. Jeżeli to było *.img, to ta kolejność zostanie ustawiona przez Windows, pewnie zgodnie z kolejnością na dysku.
popej
Dakota, 3540T, PL Topo, OSM, CNE; Redme Note 4, Locus, OsmAnd
Avatar użytkownika
popej
Bywalec
 
Posty: 6848
Dołączył(a): Wt, 10 kwi 2007 23:22
Lokalizacja: Gdańsk

Postprzez rondo » Śr, 19 mar 2008 21:54

Przez kolejność rozumiem kolejność wyświetlenia przez odbiornik w menu "wybierz mapę" - i jak rozumiem o tym decyduje nie nazwa pliku, ale i teraz - data utworzenia pliku czy fizyczne miejsce na dysku?
rondo
Bywalec
 
Posty: 119
Dołączył(a): Pt, 29 lut 2008 10:21
Lokalizacja: Katowice

Postprzez popej » Śr, 19 mar 2008 22:09

Tak na pierwszy rzut oka odbiornik pokazuje mapy w odwrotnej kolejności niż są podane w argumentach gmaptool. Wywołaj komendę:
gmaptool -i gmapsupp.img

i porównaj wyświetlane nazwy map z menu odbiornika. To co gmaptool wyświetla na końcu, to są rekordy w bloku MPS. Te rekordy są tworzone zgodnie z kolejnością argumentów.
popej
Dakota, 3540T, PL Topo, OSM, CNE; Redme Note 4, Locus, OsmAnd
Avatar użytkownika
popej
Bywalec
 
Posty: 6848
Dołączył(a): Wt, 10 kwi 2007 23:22
Lokalizacja: Gdańsk

Postprzez BK » Cz, 20 mar 2008 8:23

Podepnę się pod temat ze sprawą, która mnie od dawna nurtuje.
Otóż wkurza mnie wyszukiwanie adresów.
Wydaje mi się, że kolejność map w wynikowym gmapsupp wpływa na to z jakiej mapy odbiornik pobiera dane.
Konkretnie:
Mamy 3 mapy (Gpmapa 2007.3, Ump, CN 2008 Nt) plus jakieś inne topo bez adresów. Jeśli te trzy mapy będą ustawione w takiej kolejności, że odbiornik najpierw pokaże CN, a potem GPmapę to nie potrafię szukać adresów z GPmapy - od razu wskakują regiony z navigatora.
Jeśli mapy ustawi się tak aby najpierw w odbiorniku była GPmapa to wtedy na terenie Polski domyślną mapą do adresów jest GPmapa; żeby korzystać z CN trzeba wymusić pozycję poza Polską i wtedy jest możliwość wybrania regionu Polska z Navigatora.
Kolejność ustawiania map wymuszam nazwą pliku img wchodzącego do gmaptool'a.
Zastanawiam się, czy faktycznie to z jakiej mapy odbiornik pobiera adresy zależy od kolejności map w gmapsupp.img, czy też przypadkiem są jakieś inne powody takiego zachowania.
pozdrawiam,
Benek

(Etrex 30, UMPpcPL, PL Topo )
BK
 
Posty: 15
Dołączył(a): Cz, 17 sty 2008 14:30
Lokalizacja: KRAKÓW

Postprzez popej » Cz, 20 mar 2008 11:15

Do każdej mapy jest osobny podzbiór indeksowy. Rzeczywiście kolejność zapisu tych podzbiorów odpowiada kolejności argumentów wywołania gmaptool.

Natomiast zależność wyszukiwania od kolejności podzbiorów jest zaskakująca. Chyba należałoby się temu przyjrzeć.
popej
Dakota, 3540T, PL Topo, OSM, CNE; Redme Note 4, Locus, OsmAnd
Avatar użytkownika
popej
Bywalec
 
Posty: 6848
Dołączył(a): Wt, 10 kwi 2007 23:22
Lokalizacja: Gdańsk

Postprzez rondo » Cz, 20 mar 2008 13:20

Czy dobrze zrozumiałem - czy wewnętrzna organizacja pliku wykonanego gmaptoolem jest inna niż MapSourcem? Czy w pliku przygotowanym MS wyszukiwanie działa inaczej (lepiej), czy też zawsze mapa, która "jest na górze" zasłania bazę adresową i POI z innych map. Kolejna sprawa - czy nie powinno być tak, że urządzenie przeszukuje wszystkie aktywne mapy dla danego obszaru i pracuje na bazie adresowej i POI będącej sumą danych ze wszystkich dostepnych map
rondo
Bywalec
 
Posty: 119
Dołączył(a): Pt, 29 lut 2008 10:21
Lokalizacja: Katowice

Postprzez popej » Cz, 20 mar 2008 13:31

Układ podzbiorów w generowanym pliku jest podobny jak w Mapsource. Być może są jakieś reguły, których nie wychwyciłem.

Z drugą sprawą się zgadzam, ale jak jest w rzeczywistości to nie wiem. Mogą być także różnice między odbiornikami, chyba np. wyszukiwanie na wyłączonych mapach działa w 60CSx a nie działa w nuvim.
popej
Dakota, 3540T, PL Topo, OSM, CNE; Redme Note 4, Locus, OsmAnd
Avatar użytkownika
popej
Bywalec
 
Posty: 6848
Dołączył(a): Wt, 10 kwi 2007 23:22
Lokalizacja: Gdańsk

Postprzez rondo » Pt, 21 mar 2008 10:00

W Colorado wygląda, że czyta wszystkie dane indeksowe (nawet z map nieaktywnych)
rondo
Bywalec
 
Posty: 119
Dołączył(a): Pt, 29 lut 2008 10:21
Lokalizacja: Katowice

Postprzez old_smuggler » N, 23 mar 2008 13:06

Witajcie!
Pusty śmiech wzbudzę prośbą: może ktoś napisze instrukcję "step by step" jak skleić kilka tych nieszczęsnych g....map.img w jeden wielki przy pomocy tytułowego programu?
Pora na polewanie - więc pewnie "zmyją mi głowę" ale naprawdę są na świecie ludzie co z zazdrościa patrzą i czytają co tu się pięknie pisze - nie kumając "ni w ząb"...
Albo niewłaściwie kumając.
Eeee - co za różnica jak i tak efektem w najlepszym wypadku jest przeinstalowanie MapSourca?
Fajna sprawa te tajne "czarne okna": po tym poznajesz elitę.
A reszta "głąbów" (pisze o sobie!!!) niech się oblizuje - jak mój kot po świątecznym sniadaniu....
Chwała autorowi że zechciał sie podzielić tym co wymyślił: za darmo i z wszystkimi!
Mądry facet!
....ale co z resztą?...a potrzeby mamy podobne: zawsze obawiam się że jakiś mój MEGAPACK nie zdąży się stworzyć przed moją emeryturą!
Z optymistycznym akcentem: w Święta różne cuda się zdarzają - kłaniam się głęboko wszystkim czytającym!
old_smuggler
 
Posty: 32
Dołączył(a): N, 01 kwi 2007 15:16
Lokalizacja: 3miasto(OMC)

Postprzez soko » N, 23 mar 2008 13:47

Old Smuggler: Eeee - co za różnica jak i tak efektem w najlepszym wypadku jest przeinstalowanie MapSourca?
-----------------------------------------------------------------------------
MapSource służy tylko do wytworzenia plików gmapsupp.img. I nic mu się przy tej zabawie nie stanie. Piszę tu oczywiście o tej najprostszej funkcji dla gmaptoola.Ja opiszę najprościej jak umiem - tyko tę funkcję. Resztę -inne funkcje - niezwykle dokładnie, opisał Popej w pliku readme. Nic tam po mnie.

Kolejne czynności:
0. Wysyłasz na kartę kolejne mapy, które chcesz połączyć w jeden duży plik. Zrzucasz je po kolei z karty do jakiegoś zbiorczego katalogu na dysku. Oczywiście wszystkie na początku nazywają się tak samo (gmapsupp.img), a więc trzeba dla każdego pliku, po kolei zmienić nazwę na np. jeziora.img, TOPO100.img, UMPpcPL.img, Bornholm.img itd.itp.

1. Zakładasz katalog C:\gps\
2. Do niego ładujesz wszystkie pliki mapowe .img, które chcesz połączyć w jeden
3. Do tego też katalogu dajesz plik gmaptool.exe (Plik, a nie cały skompresowany zestaw)
4. Otwierasz Start>Programy>Akcesoria>Notatnik.
5. Wpisujesz tam ( lub wklejasz to: C:\gps\gmaptool -jo gmapsupp.img *.img )
6. Plik zapisujesz jako join.bat w katalogu C:\gps\ - czyli tam, gdzie masz te pliki ******.img i plik gmaptool.exe
7. W Pasku komend, czyli : Start>Uruchom - wpisujesz c:\gps\join.bat i naciskasz enter i po kilku kilkunastu sekundach w katalogu c:\gps\ - pojawia się nowy plik gmapsupp.img.
To ten , powstały z połączenia wszystkich znajdujących się w katalogu C:\gps\ plików ******.img, wytworzonych przez MapSource'a i zgranych np. na kartę SD i stopniowo przelewanych do katalogu C:\gps\ .

8.I masz plik gmapsupp.img , będący połączeniem wszystkich , które byly w katalogu C:\gps\

9.Przed każdą taką operacją usuń poprzednio wykonany plik gmapsupp.img ( i plik log.txt - o ile posługujesz się poniżej podanym programikiem Tomka Niedbały) z katalogu C:\gps\ .

Oczywiście katalog z mapami ***.img i plikami gmaptool i join.bat możesz mieć gdzie chcesz i o nazwie jaką chcesz, ale tutaj bylo łopatologicznie - zgodnie z prośbą. Bo wtedy - po zmianie ścieżki dostępu musisz ją odpowiednio wyedytować w tym pliku join.bat. Nic więcej. Tyle.

Wesołych Świąt - tyle tylko mogę napisać , bo za chwilę dalsza część rodzinnych uroczystości.
Krzysztof

PS. By przeżyć po imprezie wymyśliłem poniższe:
Wersja obrazkowa, ilustrująca posługiwanie się gmaptoolem:

Dodaję przykładowy wygląd katalogu C:\gps\ - już po wykonaniu komendy "join":
Obrazek

Mamy tu pliki *******.img - dane do tego katalogu do połączenia i wynikowy gmapsupp.img.

Oczywiście pliki czytajto i log - nie są tu potrzebne.
"Czytajto" to poprostu tak nazwany przeze mnie plik "readme" z rozpakowanego gmaptoola, z informacjami o programie - lubię po prostu polską nazwę.
A plik "log" - to po prosu wynik stosowania join.bat w wersji Tomka Niedbały - podanego powyżej w tym wątku. Daje on pełne info o połączonych plikach.
===========================
Tu edytujemy plik wsadowy:
Obrazek
------------------------------------------------
A tak wygląda wersja join.bat Tomasza Niedbały z tego wątku, powyżej. Jest ona obszerniejsza, bo generuje dodatkowo plik tekstowy log.txt, z pełną informacją o połączonych plikach *.img. Tu link do tego postu: http://www.garniak.pl/viewtopic.php?p=19610#19610 . Można sobie stamtąd skopiować cały ten tekst metodą kopiuj > wklej i zaoszczędzić na pisaninie ( i ew. błędach, literówkach, itp.)
Oczywiscie minimaliści mogą wpisać (skopiować) tylko 3 linijkę - tak jak podałem na wstępie wytłuszczonymi literami i cześć:
Obrazek

------------------------------------------------
Tu jest linia poleceń (command line): klikamy na nią i - patrz poniżej:
Obrazek
------------------------------------------------
Tak wygląda linia poleceń: wpisujemy jak poniżej i "Enter". Za kilkanaście sekund, lub minutę ( dla plików wynikowych powyżej 500MB) mamy gotowy plik gmapsupp.img.
Obrazek
-----------------------------------
To chyba powinno każdemu wystarczyć jako instruktaż obsługi podstawowej funkcji gmaptoola- czyli łączenia map. Może komuś się to przyda? Wiem, że to prymitywna łopatologia, ale może o coś takiego chodzilo? Powodzenia.
Krzysztof
60CSx, Colorado 400t, Suunto X10, Colorado 300 i Colorado 400c.
Moja "Instrukcja Obsługi Colorado": Link: viewtopic.php?p=67948#p67948
Avatar użytkownika
soko
Bywalec
 
Posty: 1759
Dołączył(a): Pt, 16 mar 2007 16:59
Lokalizacja: Poznań

Poprzednia stronaNastępna strona

Powrót do Software

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 4 gości