Adressen finden in OSM mit Garmin

Hallo wind,

hier die fehlenden Zeilen für die Style-Dateien (der Fehler ist dort korrigiert).


mkgmap:country!=* & mkgmap:admin_level2=* { set 
mkgmap:country='${mkgmap:admin_level2}' }

mkgmap:region!=* & mkgmap:admin_level3=* { set mkgmap:region='${mkgmap:admin_level3}' }
mkgmap:region!=* & mkgmap:admin_level4=* { set mkgmap:region='${mkgmap:admin_level4}' }
mkgmap:region!=* & mkgmap:admin_level5=* { set mkgmap:region='${mkgmap:admin_level5}' }

mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level6=* { set mkgmap:city='${mkgmap:admin_level6}' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:country=DEU & mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10}' }

mkgmap:postal_code!=* & addr:postcode=* { set mkgmap:postal_code='${addr:postcode}' }
mkgmap:postal_code!=* & openGeoDB:postal_codes=* { set mkgmap:postal_code='${openGeoDB:postal_codes}' }
mkgmap:postal_code!=* & mkgmap:postcode=* { set mkgmap:postal_code='${mkgmap:postcode}' }

Für die Grenzen die Datei:
http://www.navmaps.eu/wanmil/europe_bounds_20110515.zip
Nach dem Entpacken muss das Verzeichnis in bounds umbenannt werden.

leider geht die Adresssuche bei Herrenberg und Potsdam noch nicht. Kann man nicht suburb, hamlets etc von der Suche ausnehmen?

Das hatte ich auch schon einmal ausprobiert. Potsdam ging dann zu finden, Herrenberg wurde aber dann gar nicht mehr gefunden. Ich hab noch nicht rausgefunden, wo das Problem bei Herrenberg liegt. Wenn ich mal wieder etwas Zeit hab, werde ich der Sache auf den Grund gehen.
Wenn du Windows hast, kannst du dir die All.zip runterladen, mit NSIS-Compiler die Installationsdatei erstellen, die Karte installieren und dann in Mapsource nach der Adresse suchen. Dort werden deutlich mehr gefunden, als auf einem Garmin oder in Basecamp (Mac OS).
Ich hab auch eine neu Karte erstellt, nur stimmen die Prüfsummen nicht überein => Fehler bei der Übertragung. Da ich heute wegfahre, werde ich wohl nicht mehr dazu kommen, sie erneuit hochzuladen. Anfang nächster Woche werde ich es noch einmal probieren.

Danke für Deine Mühe. Von mir aus eilt das nicht. Ich wollte nur Bescheid geben, da ich es gestern mit einem Oregon nochmal versucht hatte

Ich habe jetzt nochmal versucht, eine Karte mit den railrun-features zu erstellen. Leider läuft da bei mir was falsch.

Ich habe aus der Europa-Karte mit Osmosis ein Rechteck ausgeschnitten, welches etwas größer als Deutschland ist. Dieses habe ich mit dem Splitter geteilt. Die Kacheln habe ich daraufhin mit der aktuellen mkgmap-locator-Version umrechnen lassen. Danach die IMG-Files mit MapSetToolkit in Basecamp installiert, wo die Karte auch korrekt dargestellt wird. Danach habe ich per MapInstall die Karte auf die SD-Karte übertragen.

Beim Auswählen von Finde > Adressen auf meinem eTrex Vista Hcx erscheint dann folgender Dialog:

Nummer eingeben
Straße eingeben
Stadt / Ort eingeben

Bei der Railrun-Karte erscheint hier

Region eingeben
Stadt / Ort eingeben
Nummer eingeben
Strasse eingeben

D. h. schon die Reihenfolge ist anders und das Region-Feld fehlt. Wenn ich in meiner Karte die Nummer 1 eintippe, gefolgt von “Teltower Damm”, erscheint da “nichts gefunden”. Auch wenn ich als erstes “Berlin” eintippe, erscheint “nichts gefunden”.

In den Dateien lines, points, polygons habe ich die oben von railrun geposteten Zeilen nachgetragen. Der mkgmap-Aufruf steht unten in folgendem Script.


echo off
set drive=%cd:~0,3%
set tilesdir=%drive%map\OSM_Tiles
set centraleuropepath=%drive%map\Centraleurope.osm
set templateargspath=%tilesdir%\template.args
set mkgmapoutputdir=%drive%map\Output
set boundspath=%drive%map\Boundaries
set osmosispath=%drive%map\Osmosis-0.39
set splitterpath=%drive%map\Splitter-r174
set mkgmappath=%drive%map\mkgmap-locator-r1965

cd %drive%map
echo on

wget http://download.geofabrik.de/osm/europe.osm.bz2
7za e -y europe.osm.bz2
java -Xmx1100m -cp "%osmosispath%\lib\default\plexus-classworlds-2.2.2.jar" -Dapp.home="%osmosispath%" -Dclassworlds.conf="%osmosispath%\config\plexus.conf" org.codehaus.classworlds.Launcher --read-xml file="europe.osm" --bounding-box idTrackerType=BitSet top=60 left=4 bottom=47 right=16 --write-xml file=%centraleuropepath%
cd %splitterpath%
java -Xmx1100m -jar splitter.jar --cache==%drive%map\temp --max-areas=70 --max-nodes=900000 --output-dir=%tilesdir% %Centraleuropepath%

cd %mkgmappath%
java -Xmx1100m -jar mkgmap-locator-r1965.jar --boundsdirectory=%boundspath%  --latin1 --series-name=OSM_Germany --family-name=OSM_Germany --remove-short-arcs --index --route --tdbfile --nsis --location-autofill=0 --country-name=centraleurope --country-abbr=EU --area-name=Germany --family-id=1331 --product-id=1 --output-dir=%mkgmapoutputdir% --max-jobs --keep-going --reduce-point-density=10 --description=OSM_DE --name-tag-list="name:de,name,int_name" --generate-sea=multipolygon,extend-sea-sectors,close-gaps=1000,floodblocker --overview-mapname=OSM_Centraleurope --gmapsupp --add-pois-to-areas --draw-priority=25 --make-opposite-cycleways --style-file=%drive%map\My_Style_16\ -c %templateargspath% %drive%map\My_14.typ

pause

Es sieht so aus, als wenn irgendwas zur Erstellung der richtigen Karte fehlt.

Kann mir jemand sagen, was ich falsch gemacht habe?

Inzwischen habe ich einige Tests mit kleinen Variationen gemacht, bekomme aber immer die oben beschriebene Suchmaske, mit welcher viele Adressen nicht gefunden werden.

@railrun: Könntest Du mal die von Dir verwendeten Stylefiles hier posten?

Ich habe zuletzt die dem aktuellen mkgmap r1968 beiliegenden Stylefiles genommen und diese um die von railrun angegebenen Zeilen erweitert. Trotzdem funktioniert die Suche nicht. Kann es sein, dass man an den Stylefiles noch irgendwas anderes (als oben angegeben) ändern muss?

Ich würde mal sagen, dass beim MapSetToolkit der Fehler liegt.
Schon einmal mit Gmapi-Builder probiert?!
gmapi-builder.py
Aufruf mittels:


python gmapi-builder.py -t osmmap.tdb -b osmmap.img -s basemap.TYP -i osmmap.mdx -m osmmap_mdr.img osmmap.img 63240*.img osmmap_mdr.img

Ich denke das MapSetToolkit den Index nicht richtig integriert. Wenn es nicht geht, sag bescheid.

Mein Fehler. Ich dachte es wäre ein Mac-Programm. Du musst natürlich NSIS verwenden zum installieren.

Gibt es irgendwo eine Anleitung dafür, einen Kartensatz per NSIS nach Basecamp zu installieren? Eine Google-Suche auf Openstreetmap.org lieferte mir hier nichts.

Auf der Seite http://nsis.sourceforge.net/Main_Page wird weder die openstreetmap noch Basecamp erwähnt. Dort steht “NSIS (Nullsoft Scriptable Install System) is a professional open source system to create Windows installers.”

NSIS wurde auch nicht für OSM/mkgmap oder Garmin entwickelt :wink:
Du erstellst durch die Option --nsis (steht auch schon in deiner Befehlszeile) das NSI-Skript.
Wenn du NSIS installiert hast, sollte beim klick mit der rechten Maustaste auf die “osmmap.nsi” Datei die Option “Compile with NSIS” oder so ähnlich erscheinen. Das Auswählen und es wird eine Germany.exe (oder wie auch immer deine Karte heißt) erstellt. Diese Germany.exe führst du dann aus und danach kannst du die Karte in Basecamp/Mapsource nutzen oder mit Mapinstall von Garmin auf dein Garmin übertragen.

Hallo railrun,

der NSIS-Installer bringt leider auch keine Verbesserung. Wenn ich mich richtig erinnere, hatte ich die letzte Deiner Karten (http://www.downloadcounter.de/counter.pl?file=http://snailrun.de/All.zip&user=railrun) auch per MapSetToolkit installiert und eine funktionierende Adress-Suche gehabt. Ich werde das nochmal überprüfen.

Vor einiger Zeit schriebst Du übrigens in diesem Thread:

Was meintest Du denn mit “Setzen eines LocationHook für Region”?

Übrigens habe ich diese europe_bounds_20110515.zip einfach in das boundspath-Verzeichnis (in meinem Fall D:\map\bounds) entpackt. Ist das so gemeint gewesen?

Könntest Du die Stylefiles zum Vergleich auf den Server stellen?

Hmm… Also du kannst dir mein Stylefile hier runterladen.
Das mit dem LocationHook funktioniert ungefähr so:
Vorher werden die Admin-Boundaries extrahiert und in ein eigenes Format überführt (das sind die Bounds, die du runtergeladen hast).
Wird die Karte erstellt, schaut mkgmap, in welchen Admin-Grenzen die Straße liegt. Dabei geht er von oben nach unten die Liste durch, bis etwas passt.
Ich hab damals die Region rausgenommen, da nicht alle Grenzen vollständig waren. Mittlerweile geht es aber, deswegen ist die Region jetzt mit drin.
Bei deinen Optionen sind natürlich noch ein paar andere Befehle dabei. Das “–gmapsupp” kannst du rausnehmen, da du die Karte eh erst in Basecamp installieren musst.
Wenn es immer noch nicht läuft, probier mal meine Einstellungen.


--latin1 --series-name=Germany --family-name=Germany --remove-short-arcs --index --net --route --tdbfile --nsis --merge-lines --location-autofill=0 --country-name=Deutschland --country-abbr=DEU --area-name=DEU

Egal ob es geht oder nicht, wäre ein Feedback hier im Forum super.

So, es gibt mal wieder ein Update.

Direkt für Garmin-Geräte (nur entpacken&kopieren):
Zum Installieren in Mapsource/Basecamp (Ausführbare Installationsdatei für Windows; Mac-Nutzer benötigen den MapConverter von Garmin):
MD5-Summen:


MD5 (gmapsupp.img.zip) = dc50f95c509a9a373a60b735c77911fc
MD5 (Germany.exe) = 98389a5ad0e0026594e66116fba1d7c6
MD5 (SRTM.zip) = 0870ab05aec9cb6c2a913826fcc4ebc7

SRTM-Layer (Höhenprofil) als eigenständige Karte => geht nur bei neueren Garmin-Geräten

Was ist neu:

  • Das Splitten läuft jetzt über pbf-Dateien (etwas schneller und weniger Platzbedarf).

  • place=hamlet hab ich rausgenommen. Potsdam funktioniert dadurch bei der Suche.

Ich werde wohl auch die suburbs rausnehmen => dann sollte auch Herrenberg findbar sein.

@railrun:

Super! Endlich habe ich eine Karte mit Adress-Suche generieren können. Ich vermute, es lag an irgendwelchen Style-File-Einstellungen. Jetzt werde ich versuchen, das Ganze sukzessive an meine Vorlieben anzupassen. Wenn ich die Ursache für das Nichtfunktionieren meiner vorherigen Version noch näher eingrenzen kann, schreibe ich es hier.

Jedenfalls schon mal vielen Dank für die nette Hilfe!

So, jetzt die Karte, wo keine Suburbs mit in der Städtesuche gelistet sind. In der Adresssuche hat man sie vorher nicht gesehen, haben diese aber vermutlich negativ beeinflusst. Jetzt lassen sich auch Straßen in Herrenberg (BaWü) finden.
Direkt für Garmin-Geräte (nur entpacken&kopieren):
Zum Installieren in Mapsource/Basecamp (Ausführbare Installationsdatei für Windows; Mac-Nutzer benötigen den MapConverter von Garmin):
MD5-Summen:


MD5 (neugmapsupp.img.zip) = bd1abe0be9c3a888b6f238a41ebcac7a
MD5 (neuGermany.exe) = 72fbc8b84789ba5fc2321546b05c50fb
MD5 (SRTM.zip) = 0870ab05aec9cb6c2a913826fcc4ebc7

Viel Spaß damit

Wie hast du die hamlets und die suburbs herausbekommen?

In der Style-Datei “points” bei place=suburbs bzw hamlets einfach eine # davor gesetzt :wink:

Verdammt… Jetzt gibt es in MV auch noch ein Dorf mit dem Namen Chemnitz… Village kann ich nicht auch noch rausnehmen… Habt ihr sonst noch irgendwelche Fehler gefunden?

Hi Martin,

YMMD!!!
Unglaublich! Ich suche schon seit Wochen und Monaten nach einer OSM-Karte für das Garmin Oregon, bei der nicht das “Provinz”-Eingeben Problem besteht.
Nun hast Du es endlich geschafft.
Super. Höchstes Lob und Anerkennung!

Ohne die ganz genauen Details zu kennen, wie Du es nun geschafft hast … könntest Du die Infos streuen und auch an z.B. Computerteddy weitergeben? ( http://wiki.openstreetmap.org/wiki/User:Computerteddy )

Das Internet ist VOLL von Usern, die wie ich genau das gleiche Problem haben/hatten.
All denen wäre mit Deiner Karte bzw. den Infos (dann auch über mtb-karte, Computerteddy und wie sie alle heißen) geholfen.

Ich habe einfach Deine neugmapsupp.img.zip heruntergeladen, auf die µSD-Karte im Oregon per USB entpackt, Gerät neu gestartet, fertig.

Nochmal meinen herzlichen Dank für Deinen unschätzbar wertvollen (meiner Meinung nach :slight_smile: ) Beitrag für alle Nutzer von OSM-Karten auf Garmin Oregons (und vermutlich noch einigen anderen Geräten, die nur einen Touchscreen haben).

Beste Grüße,

Fabian

P.S. DANKE!!!

Oh… Vielen Dank :wink:
Das Größte Lob verdienen WanMil und Steve Ratcliffe vom Mkgmap-Dev-Team, die in kleinstarbeit die richtige Idee hatten.
Das dies noch nicht perfekt ist, merkt man, wenn man z.B. ein Dorf mit gleichen Namen in unterschiedlichen Bundesländern hat. Dann findet man nur eines der Beiden.
Aber ich bin optimistisch :wink:

P.S.: Ich werde mal schauen, dass ich das irgendwie ins Wiki bekomme. Ich bin nicht so der Schreiber :wink:
Aber du kannst Computerteddy den Link zu dem Forum schicken und auf den Eintrag #101 und #112 verweisen.

Edit: Es gibt neue Boundary-Dateien http://www.navmaps.eu/wanmil/europe_bounds_20110617.zip