DE:All in one Garmin Map

Wie geht es vor hier aus weiter? Download klappt, in JOSM kann ich es mir ansehen. Mapsource kann die Datei nicht lesen. Jetzt fehlt noch die Umwandlung und die Übertragung ins Gerät.
-trekki

Hier einige Hinweise:
(1) Die barrier=gate sind ohne access Tags versehen
(2) ORS beachtet weder TurnRestrictions noch access=private
(3) Als Ziel hast Du anscheinend die Eislaufhalle und nicht deren Parkplatz angegeben
(4) Lustige Tags habt ihr da (speisebezirk=speisung)

Grüße, Chris

Naja aber die Straße hat ja den Tag private. Wichtig wäre es mir ja fürs Garmin. Kann Garmin auch keine access-tags oder ist nur die aio mangelhaft hergestellt?

Sollte aber für ein Routingangebot elementar wichtig sein, da sonst unbrauchbar. Die Information, die übrig bleibt ist ja sinngemäß: naja irgendwie in diese Richtung.

Ja, natürlich. Wenn ich mich dort auskennen würde bräuchte ich ja kein Routingprogramm! YOURS kann das hab ich festgestellt. Also muss es ja möglich sein.

Ja, der Bahnpirat macht sowas.

Gruß
Peter

Bei mkgmap (dem Tool was die Garmin-Karten erstellt) kann der Kartenbauer alles definieren. Standardmäßig wird nicht über Privatstraßen geroutet, außer wenn das Ziel nicht anders zu erreichen ist.

Chris

Ich habe mir die aio Germany (basemap für mapsource) runtergeladen. Dabei habe ich festgestellt, dass die aktuelle Version vom 19.01.11 ist. Ich muss nicht immer die neueste Version haben, aber die vom 19.01. enthält einige Aktualisierungen in unmittelbarer Nähe meines Wohnortes. Diese Version ist leider defekt. Es fehlen große Teile im Osten Deutschlands. Wann ist mit einer korrigierten Version zu rechnen?

Unter Windows wandle ich die gpx-Datei mit GPSBabel ins Garmin-POI-Format. Sieht etwa so aus:

E:\gpsbabel\gpsbabel.exe -i gpx -f “OpenStreetBugsOpen.gpx” -o garmin_gpi,category=“OpenStreetBugs”,bitmap=openstreetbugs.bmp,notes -F “OpenStreetBugs.gpi”

Pfade müssen natürlich stimmen und das angegeben bmp muss auch vorhanden sein. Kannst Dir irgeneins basteln oder suchen.
Die erstellte Datei OpenStreetBugs.gpi kommt dann auf die SD-Karte in den Ordner Garmin/Poi. Das war’s dann auch schon.

Da die AIO zZ. nicht regelmässig aktualisiert wird, habe ich versucht, die Skripte für Windows anzupassen.
Es fehlen noch die Höhenlinien und Keepright.
Getestet unter windows7 64-Bit

mk_aio.cmd:

@echo off
setlocal
cls
set reg=%1
set withdl=%2

rem nötige Tools:
rem div. unix-tools for windows (wget, grep, find, bunzip2, …)
rem sevenzip http://www.7-zip.org
rem NSIS-Installer: http://nsis.sourceforge.net
rem GMapTool http://www.anpo.republika.pl/download.html, daraus gmt.exe
rem git http://git-scm.com

rem zusätzliche Gebiete können/müssen weiter unten eingepflegt werden

set z7=“c:\Program Files\7-Zip\7z.exe”
set find=“c:\Program Files (x86)\wbin\find.exe”
set nsis=“C:\Program Files (x86)\NSIS\makensis.exe” /V1
set gmt=“.\gmt.exe”

if “%reg%”==“” set reg=sh
if “%withdl%”==“” set withdl=1
call :initdir

goto :doit

rem #######################################################
:untar
%z7% -y x %1.tar.gz
%z7% -y x %1.tar
del %1.tar
goto :eof

rem #######################################################
:initdir
if not exist tiles.%reg% md tiles.%reg%
cd tiles.%reg%
for %%d in (gbasemap gaddr gfixme gboundary gosb gmaxspeed tmp) do (
if not exist %%d md %%d
)
cd …
goto :eof

rem #######################################################
:updateprgs
rem Zuerst mal die AIO-Stylefile holen
if exist aiostyles (
cd aiostyles
call git fetch -v
cd …
) else call git clone git://github.com/aiomaster/aiostyles.git

wget -m -nH -ndd http://www.mkgmap.org.uk/snapshots/mkgmap-latest.tar.gz

if not exist mkgmap.jar goto :getmkgmap
%find% . -maxdepth 1 -name mkgmap-latest.tar.gz -newer mkgmap.jar -exec echo “OK mkgmap” ; | grep OK
if ERRORLEVEL 1 goto :eof
:getmkgmap
call :untar mkgmap-latest

for /d %%d in (mkgmap*) do (
xcopy /dy %%d\mkgmap.jar mkgmap.jar
rd /s/q %%d
)
touch mkgmap-latest.tar.gz -r mkgmap.jar
:gotmkgmap

if not exist splitter.jar (
wget -m -nH -ndd http://www.mkgmap.org.uk/splitter/splitter-r123.tar.gz
call :untar splitter-r123
xcopy /dy splitter-r123\splitter.jar splitter.jar
)
goto :eof

rem #######################################################
:getOSB
rem die bugs laden und mit sed bearbeiten, gpsbabel wird benoetigt falls noch nicht installiert
wget -m -nH -ndd http://www.gary68.de/osm/qa/gpx/allbugs.gpx
if not exist allbugs.osm goto :getOSB1
%find% . -maxdepth 1 -name allbugs.gpx -newer allbugs.osm -exec echo “OK allbugs” ; | grep OK
if ERRORLEVEL 1 goto :eof
:getOSB1
sed “s/closed>/name>/g;s///g;s/</extensions>//g” allbugs.gpx > allbugs.tmp
“c:\Program Files (x86)\GPSBabel\gpsbabel” -i gpx -o osm -f allbugs.tmp -F allbugs.osm
del allbugs.tmp
rem goto :eof
goto :eof

rem #######################################################
:getData
setlocal
set url=%1
set osm=%2
if not exist map.osm goto :unzipdata
if “%withdl%”==“1” wget -m -nH -ndd http://download.geofabrik.de/osm/europe/%url%.bz2
%find% . -name %osm%.bz2 -maxdepth 1 ! -newer map.osm -exec echo “OK bunzip %OSM% already done” ; | grep OK
if ERRORLEVEL 1 del map.OSM
if exist map.osm goto :gotData
:unzipdata
echo unzipping %osm%.bz2
bunzip2 -k %osm%.bz2
move /y %osm% map.osm
:gotData
endlocal
goto :eof

rem #######################################################
:splitIt
setlocal
if not exist %2 md %2
pushd %2
if not exist tmp md tmp
set p=
if not exist map.osm set p=…
if not exist *.gz goto :split1
%find% %p%. -maxdepth 1 -name %mapgrp%0345.osm.gz -newer %p%map.osm -exec echo “OK, split already done” ; | grep OK
if ERRORLEVEL 1 del *.gz
if exist *.gz goto :split2
:split1
echo %TIME% splitting
java -Xmx4000M -jar %p%…\splitter.jar --cache=tmp --mapid=%mapgrp%0345 --max-nodes=%1 %p%map.osm
:split2
popd
endlocal
goto :eof

rem #######################################################
rem #######################################################
:doit
if “%withdl%”==“1” call :updateprgs

rem Die Kartendaten aus den geofabrik extrakten downloaden
rem wget http://download.geofabrik.de/osm/europe/germany.osm.bz2
rem bunzip2 germany.osm.bz2

rem #######################################################
if “%withdl%”==“1” call :getOSB

title %reg%
cd tiles.%reg%
set addrtiles=…
set mapgrp=0
if “%reg%”==“sh” (
call :getData germany/schleswig-holstein.osm schleswig-holstein.osm
set iso=DE
set country=germany
set mapgrp=6324
set maxnodes=1000000
)
if “%reg%”==“de” (
call :getData germany.osm germany.osm
set iso=DE
set country=germany
set mapgrp=6424
set maxnodes=1000000
)
if “%reg%”==“dk” (
call :getData denmark.osm denmark.osm
set iso=DK
set country=denmark
set mapgrp=6524
set maxnodes=200000
set addrtiles=addrtiles
)
if “%mapgrp%”==“0” goto :error unbekannte Region

rem Die Kartendaten splitten
rem Benötigt wird die Sun Java JRE6
rem Bei 32bit System müsste die Speicherzuteilung reduziert werden, das koennte aber bei grossen Kartenbereichen dann ungenügend sein!
call :splitIt %maxnodes% .
if “%addrtiles%”==“…” goto :noaddrsplit
call :splitIt 10000 %addrtiles%
set addrtiles=…%addrtiles%
:noaddrsplit

set OPTIONS= --max-jobs=2 --country-name=%country% --country-abbr=%iso% --area-name=“%iso%_%DATE%” --latin1 --gmapsupp --nsis --keep-going --transparent
set GBASEMAPOPTIONS= %OPTIONS% --x-tdbfile --add-pois-to-areas --make-all-cycleways --link-pois-to-ways --remove-short-arcs --route --index --generate-sea=extend-sea-sectors
set NOBASEMAPOPTIONS= %OPTIONS% --x-tdbfile --no-poi-address --no-sorted-roads --ignore-turn-restrictions --ignore-osm-bounds

cd gbasemap
echo %TIME% “Basemap”
java -Xmx4000M -jar …..\mkgmap.jar --max-jobs --style-file=…..\aiostyles\basemap_style\ –description=Openstreetmap %GBASEMAPOPTIONS% --family-id=4 --product-id=45 --series-name=OSM-AllInOne-%iso%-bmap --family-name=OSM --mapname=%mapgrp%0345 --draw-priority=10 --net …*.osm.gz …..\aiostyles\basemap.TYP
%nsis% osmmap.nsi

cd …\gaddr
echo %TIME% “Adressen”
java -Xmx4000M -jar …..\mkgmap.jar --max-jobs --style-file=…..\aiostyles\addr_style\ –description=Adressen %NOBASEMAPOPTIONS% --family-id=5 --ignore-maxspeeds --product-id=40 --series-name=OSM-AllInOne-%iso%-Addr --family-name=ADRESSEN --mapname=%mapgrp%1345 --draw-priority=20 --no-poi-address --no-sorted-roads --add-pois-to-areas --transparent --gmapsupp %addrtiles%*.osm.gz …..\aiostyles\addr.TYP
%nsis% osmmap.nsi

cd …\gfixme
echo %TIME% “Fixme”
java -Xmx4000M -jar …..\mkgmap.jar --max-jobs --style-file=…..\aiostyles\fixme_style\ –description=Fixme_Layer %NOBASEMAPOPTIONS% --ignore-maxspeeds --family-id=3 --product-id=33 --series-name=OSM-AllInOne-%iso%-Fixme --family-name=FIXME --mapname=%mapgrp%2345 --draw-priority=22 …*.osm.gz …..\aiostyles\fixme.TYP
%nsis% osmmap.nsi

cd …\gboundary
echo %TIME% “Boundary”
java -Xmx4000M -jar …..\mkgmap.jar --max-jobs --style-file=…..\aiostyles\boundary_style\ –description=Boundary_Layer %NOBASEMAPOPTIONS% --ignore-maxspeeds --family-id=6 --product-id=30 --series-name=OSM-AllInOne-%iso%-boundary --family-name=boundary --mapname=%mapgrp%0625 --draw-priority=21 …*.osm.gz …..\aiostyles\boundary.TYP
%nsis% osmmap.nsi

cd …\gmaxspeed
echo %TIME% “Maxspeed”
java -Xmx4000M -jar …..\mkgmap.jar --max-jobs --style-file=…..\aiostyles\maxspeed_style\ –description=Maxspeed %NOBASEMAPOPTIONS% --family-id=84 --product-id=15 --series-name=OSM-AllInOne-%iso%-Maxspeed --family-name=MAXSPEED --mapname=%mapgrp%6345 --draw-priority=19 …*.osm.gz …..\aiostyles\maxspeed.TYP
%nsis% osmmap.nsi

cd …\gosb
echo %TIME% “OSM-Bugs”
java -Xmx4000M -jar …..\mkgmap.jar --max-jobs --style-file=…..\aiostyles\osb_style\ –description=Openstreetbugs %NOBASEMAPOPTIONS% --family-id=3 --product-id=33 --series-name=OSM-AllInOne-%iso%-OSB --family-name=OSB --mapname=%mapgrp%3345 --draw-priority=23 …..\allbugs.osm …..\aiostyles\osb.TYP
%nsis% osmmap.nsi

rem Jetzt alles zu einem gmapsupp.img
cd …..
%gmt% -jo tiles.%reg%\gmapsupp.img tiles.%reg%\gbasemap\gmapsupp.img tiles.%reg%\gaddr\gmapsupp.img tiles.%reg%\gfixme\gmapsupp.img tiles.%reg%\gosb\gmapsupp.img tiles.%reg%\gmaxspeed\gmapsupp.img tiles.%reg%\gboundary\gmapsupp.img

title %reg% fertig
endlocal
echo %TIME%
goto :eof

:error
echo Fehler: %1 %2 %3 %4 %5 %6 %7 %8 %9 %0
goto :eof

@rnaujack : wow!

Ich schicke dies mal durch meinen Rechner und berichte. Einige Kleinigkeiten sind mir schon aufgefallen:

  • GPSBabel (http://www.gpsbabel.org) muss installiert sein. Der Verweis auf den Pfad c:\Program Files (x86)\GPSBabel sollte wie die anderen Pfade am Anfang konfiguriert werden
  • das Unix-tool sed wird benötigt (Kommentarzeile am Start)
  • Paramter sind . Wobei die die Gebiete sh , de und dk schon eingepflegt sind. FlagDownload: 1, falls div. Daten und Programme aktualisiert werden sollen
  • Download + Auspacken der OSM Daten von Deutschland sind auskommentiert, muss ja nicht bei jedem Testlauf gemacht werden

Hallo zusammen

ich möchte mir nun eine Karte von Europa downloaden, Mario hatte mir ja das verzeichniss genannt doch habe ich eine Vielzahl von verschiedenen kürzeln zur auswahl, wie z.B. Velomap, Fixme, keepright etc. was bedeuten all diese abkürzungen gibt es irgendwo eine erklärung / legende?

Bitte um Info

Danke

Nikolaus

AIO Karte von Europa: diese ist größer als 4G. Da brauchst du also ein Navi, was mit was besserem als FAT32 klar kommt.

Velomap: http://www.velomap.org/de/velomaporg/
Routing fähige Karte, die für Radfahrer (Strasse) optimiert ist. Zielsystem: Garmin

Fixme: Kommentar in der OSM Datenbank. Neudeutsch für todo :wink:

Keepright: http://keepright.ipax.at/
Automatischer Fehlerfinder. Hilfreich fürs Debuggen der OSM Daten

Weitere Begriffe: einfach hier fragen

-trekki

Bin immer noch begeistert.

Jedoch klappt Deutschland nicht, da mein Rechner ungeschickt konfiguriert ist. NRW dauert ca. 1h und sieht aber sehr gut aus.
Problem bei D: die Datei deutschland.osm ist größer als 4G, da macht mein Dateisystem schlapp.

Dann müsstest du das Script ein wenig anpassen. im :getData musst du das Entpacken herausnehmen und bei splitIt musst du bei den osm-Dateien die Endung auf .osm.bz2 ergänzen. Ich glaub mehr musst du nicht anpassen. Ist aber schon spät :wink:

EDIT1: Evtl. muss das %find% in :getData auch weg, da weiß ich nicht genau, was das grep machen soll.

Hallo, das find in Zusammenarbeit mit dem grep ist ein orkaround dafür dass bei mir -exec nicht direkt löschen kann. So gibt find aus, ob die Datei, die wget geholt hat, neuer ist als die ausgepackte Datei. Somit kann ich das Skript immer wieder aufrufen und dank wget -m werden nur die Dateien erneut ausgepackt / gesplittet, die neuer sind.

Bei der Beschreibung ist mir ein Fehler in getData aufgefallen:

:getData
setlocal
set url=%1
set osm=%2

if "%withdl%"=="1" wget -m -nH -ndd [http://download.geofabrik.de/osm/europe/%url%.bz2](http://download.geofabrik.de/osm/europe/%url%.bz2)

diese beiden Zeilen sind vertauscht!!!
if not exist map.osm goto :unzipdata

rem wenn di gezippte Datei neuer ist als die ausgepackte, diese erneut auspacken und als
rem map.osm für die folgenden Schritte zur Verfügung stellen
%find% . -name %osm%.bz2 -maxdepth 1 ! -newer map.osm -exec echo "OK bunzip %OSM% already done" ;  | grep OK
if ERRORLEVEL 1 del map.OSM
if exist map.osm goto :gotData

:unzipdata
echo unzipping %osm%.bz2
bunzip2 -k %osm%.bz2
move /y %osm% map.osm
:gotData
endlocal
goto :eof

Das Skript läuft fehlerfrei durch, Deutschland dauert bei mir ca. 2 1/4h

Moin,
benutze diverse OSM Karten erfolgreich mit meinem Garmin 62s und den Programmen Garmin Basecamp und Mapsource.
Habe nun die OSM AiO basemap_europe in der Mapsource version geladen und entzipt in C:\garmin\maps
Seitdem started weder Basecamp oder Mapsource. Es kommen nur Fehlermeldungen.
Ich benutze Windows 7 Professional 7, 64 bit version.
Könnt ihr helfen?
Gruß
Rainer

Rainer -

das gleiche Problem habe ich auch. Temporär gelöst mittels IMG2MS, es sieht danach aus, daß das Setup falsche Registrierungsinformationen schreibt. Die Basemap_Germany tut noch (allerdings sind da einige Kacheln fehlerhaft und werden nicht angezeigt), ebenso die Velomap Germany.

IMG2MS ist ein Programm, mit dem man auch komfortabel Karten aus Mapsource entfernen kann. Allerdings ist nur die Demoversion kostenlos und das auch nur 14 Tage brauchbar. Zudem kann man nur EINE neue Karte in MS einbinden, weil die ID fest vergeben wird und nicht änderbar ist. Auch ist die Downloadquelle das absolut letzte. Langsam und man wird mit Werbung erstickt, es sei denn man zahlt. Nicht im Sinne von OpenStreetmap…Deshalb kann ich das nicht wirklich empfehlen, außer als Notlösung.

P.S. Um Mapsource wieder zum Leben zu erwecken hilft das Deinstallieren der basemap_europe bzw nur das tdb-file. Das scheint dasjenige welche zu sein, was den Fehler verursacht.

Moin Cepheus,
danke für Deine Mitteilung, so weiß ich, dass ich nicht der Einzige bin und meine Unfähigkeit ausgeklammert werden kann :-).
Bevor ich Deine angebotene Lösung anwende warte ich noch ein paar Tage, vielleicht meldet sich bei uns noch ein weiteres Forummitglied und hat eine andere Lösung für unser Problem. Die OSM AIO Germany läuft bei mir auch fehlerfrei, ist schade, das Europa humpelt, aber das scheint ja wohl symtomatisch für die momentane politische Situation von Europüa zu sein :-)))
Nochmals Danke!

Hallo Rainer -

ich bin inzwischen schon etwas weiter. Eine alte Karte von 07.2010 funktioniert noch. Falls Du die also noch irgendwo hast, installiere diese, dan laeufts wieder. Inzwischen bliebt nur auf ein neues Update zu warten oder versuchen mit mkgmap ein neues Installationsfile mit funktionierender .tdb zu erzeugen. Das werde ich in den naechsten Tagen ausprobieren.

Hallo Cepheus,
habe die alte Karte leider nicht, haltemich bitte auf dem Laufenden, ob Du mit der Geschichte weiter kommst!
Danke

Ich arbeite mich gerade in die Systematik ein - es sollte möglich sein, mit cGPSmapper eine funktionierende Karte zu erstellen und mit ein paar Handgriffen diese dann in Mapsource einzubinden. Wenn ich soweit bin, schreibe ich eine kleine Anleitung dazu.

Gruß

ullrich