Adressen finden in OSM mit Garmin

Hi,

funktioniert ebenfalls: Nüvi 1350 (Ortsteil als Stadt eingeben)

Danke für die Karte

zorque

Also auf meinem Etrex geht es ja so mit der Adresssuche: Ich muss erst eine Region wählen → Deutschland
dann eine Stadt, Hausnummer (zB. “1”), dann zeigt er die gefundenen Adressen/Straßen an.

Geht es auf dem Nüvi anders ?

Chris

Hallo Chris,
das was du gerade schreibst geht aber auch nur bei der Karte deiner Homepage.

Mit allen anderen OSM Karten nicht

Jürgen

Logisch…nicht alle Kartenersteller unterstützen das…
Ist auch verständlich. Mir selbst ist das ganze noch ein wenig zu beta, was die Zuordnung Stadt → Land angeht.

Ja, noch nicht, aber man bastelt ja fleissig an dem Thema. :wink:

Vielleicht hat der Nüvi 1390tpro User ja was falsch gemacht, mit anderen Nüvis klappt es ja mit meiner Karte.

Hallo,

also mit den Einstellungen, funktioniert die Suchfunktion in meinem Oregon 450 nicht (Frage nach Provinz/Bundesland).
Wenn ich “–link-pois-to-ways” weglasse, geht die Suche auf dem Oregon.
Wie man das Problem mit dem “suburb” umgeht ist dir auch nichts bekannt, oder?!
Wenn ich mich nicht täusche stehst du ja auch auf der mkgmap-dev-Liste.

Grüße

Laut mkgmap-dev wird doch gerade an einer Informationsgewinnung über Polygone gewerkelt. Das über die is_in zu machen ist einfach nur unpraktikabel, daher wäre es verschwendetet Zeit, da noch was dran zu verbessern.

Hat jemand es mit der neuen Methode ausprobiert?
Ich hab jetzt das Default-Style um die jeweiligen Zeilen erweitert (jeweils point, lines, polygones


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

Aber die Straßen liegen immer noch in den Stadtteilen und nicht der jeweiligen Stadt…
mkgmap-Version ist die aktuelle aus dem Trunk.

VG
Martin

du brauchst dafür den loactor-branch und musst --location-autofill=0 benutzen. Laut mkgmap-dev soll es ganz gut gehen, selber probiert hab ich aber noch nicht.

Hmm…
Damit will es auch noch nicht so richtig funktionieren… Wenn jemand die richtigen Einstellungen für Deutschland hat, wäre nett, wenn er sie hier posten könnte…

VG
Martin

In der mkgmap changelog Webseite fand ich vor 13 Tagen folgenden Hinweis zu den Änderungen in Version 1870:

Merge the index branch to trunk.

The global index is now much improved:
- Searching for names with accented characters
- Searching works after being downloaded to a device.
- Searching for streets with a city specified works..

Aufgrund der letzten Zeile hatte ich eine große Hoffnung bekommen, dass das alte Adress-Such-Problem gelöst sein könnte. Seit dem habe ich einige Tests mit der aktuellen mkgmap-Version durchgeführt. Allerdings klappt es auch bei mir nicht besser als bei den anderen hier.

Wenn ich mir von mkgmap die gmapsupp.img direkt erzeugen lasse, geht die Adress-Suche genausowenig wie zuvor. In meinem Fall (Karte mit Deutschland und einigen umliegenden Gebieten) stürzt mein eTrex Vista sogar oft beim Suchen ab. Es scheint zu stimmen, dass man die Karten mit MapSource übertragen muss. (Eigentlich habe ich dieses Programm aufgrund seiner unschönen Kartendarstellung bislang gemieden.) Die Übertragung der 2 GB dauerte in meinem Fall ca. 3 Stunden. Ist das normal?

Wenn ich es mit MapSource mache, wird bei der Adress-Suche neuerdings nach der Region gefragt, wobei in meinem Fall von den für eine deutsche Stadt in Frage kommenden Regionen “Centraleurope”, “DE”, “Bundesrepublik-Deutschland” und “Deutschland” nur letztere funktioniert.

Danach hat die Adress-Suche bei einer kleineren Stadt geklappt, bei Düsseldorf oder Berlin muss man offenbar aber den Stadtteil statt der Stadt angeben. Der Berliner Stadtteil Reinickendorf ist dem Navi hier aber genauso wenig bekannt wie die Stadt Berlin selbst.

Das Problem:
Bislang konnte ich an einem beliebigen Ort wenigstens die Staßen in der Nähe über die Adresssuche finden. Das geht jetzt nicht mehr, wenn man nicht den richtigen Stadtteil eingibt.

Hat hier jemand inzwischen schon mehr Erfolg als ich?

Hallo wind,

mittlerweile hab ich eine ungefähre Einstellung gefunden und in 90 % der Fälle funktioniert die Suche nach der Straße in den Städten und Dörfern :wink:
Also ich nehm den locator-branch vom 13. März.
Aufgerufen wird dann das ganze über:

java -Xmx1024M -jar mkgmap-locator-r1892.jar --latin1 --series-name=BaWuAls --family-name=BaWuAls --remove-short-arcs --index --net --route --tdbfile --nsis --merge-lines --location-autofill=0 --country-name=Deutschland --country-abbr=DEU --area-name=DEU --style-file=./adress_style/ ./tiles_bawuals/*.osm.gz 

Auch wenn ich es mit gmapi-builder auf dem Mac weiterverarbeite, lass ich mir das NSI-Skript miterstellen.
In dem adress_style-Ordner befinden sich die Default-Style-Dateien, die ich um die folgenden Zeilen (nur in den Dateien “lines”, “points” und “polygones”) erweitert habe.

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

mkgmap:city!=* & openGeoDB:name=* { set mkgmap:city='${openGeoDB:name}' }
mkgmap:city!=* & is_in:city=* { set mkgmap:city='${is_in:city}' }
mkgmap:city!=* & addr:city=* { set mkgmap:city='${addr:city}' }
mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:city!=* & mkgmap:admin_level6=* { set mkgmap:city='${mkgmap:admin_level6}' }
mkgmap:city!=* & mkgmap:admin_level7=* { set mkgmap:city='${mkgmap:admin_level7}' }
mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10}' }

Die Karte muss dann mittels MapInstall auf das Gerät/die SD-Karte übertragen werden (MapInstall vereint da irgendwie die Indexdateien mit der eigentlichen Karte). Du kannst die SD-Karte auch in ein Kartenlesegerät für diesen Prozess stecken, dann geht es recht schnell (beim eTrex ist das auch empfohlen, beim Oregon geht es auch so) .

Wie gesagt, bei den Städten und Dörfern die über entsprechende Grenzen verfügen, klappt es ganz gut. Ich denke optimal ist dieser “Dirty Style Code” noch lange nicht, aber eine gute Grundlage um daran zu arbeiten.

Hallo railrun,

ich werde das mal so ausprobieren. Was mir allerdings beim Start von mkgmap auffällt, sind viele Fehler vom Typ SCHWERWIEGEND (LocationHook). Bislang hatte mkgmap mit meinem Skript überhaupt keine Fehlermeldungen produziert. Kommen diese Fehler bei Dir auch?

Die Fehlermeldung kommt wenn er boundaries ohne Namen findet. Die Nummer sollte dir helfen die Relation zu finden und dort wenn möglich den Namen zu setzen:
http://www.openstreetmap.org/browse/way/DieNummerHierEintrage

Original-Zitat von der mkgmap-dev-Mail-list:

Hallo railrun,

ich habe den von Dir vorgeschlagenen locator-branch ausprobiert. Den mkgmap-Aufruf musste ich etwas an meine Verzeichnisse und Namen anpassen:

java -Xmx1600m -jar mkgmap.jar --max-jobs --index --reduce-point-density=10 --description=OSM_DE --country-name=Deutschland --country-abbr=DEU --name-tag-list="name:de,name,int_name" --style-file=.\My_Style\ --generate-sea=multipolygon --family-id=1331 --product-id=1 --series-name=OSM_Centraleurope --family-name=OSM_Centraleurope --area-name=DEU --overview-mapname=OSM_Centraleurope --net --gmapsupp --tdbfile --nsis --route --add-pois-to-areas --road-name-pois=0x640a --draw-priority=25 --latin1 --make-opposite-cycleways --merge-lines --location-autofill=0 --remove-short-arcs -c template.args My.typ

Die Dateien “lines”, “points” und “polygones” im Style-Ordner habe ich um Deine Zeilen ergänzt. Nach dem Durchlauf von mkgmap habe ich das Ganze per MapSetToolkit in MapSource installiert und danach mit MapInstall auf die SD-Karte gebracht, die jetzt im Gerät steckt.

Irgendwie klappt jetzt die Adress-Suche aber gar nicht mehr. Unter Finde > Adressen ist jetzt die Rubrik “Region” nicht mehr da. Ich tippte beispielsweise unter Stadt “Berlin” ein. Das System schlug mir vor:

Berlin, Brandenburg
Bersteland, DEU

Ich wählte “Berlin, Brandenburg” und versuchte unter Straße “Teltower Damm” einzutippen. Bereits nach drei Buchstaben stand da “Keine gefunden”. So geht es also nicht.

Dann habe ich die Funktion Finde > Städte probiert und Berlin eingetippt. In der Trefferliste taucht dann oben zwei Mal “Berlin, DEU” auf. Ich wählte den zweiten Eintrag und danach “Karte”. Direkt danach probierte ich Finde > Adressen und tippte als erstes unter Stadt wieder “Berlin” ein. In der Trefferliste stand oben “Berlin, DEU” und darunter “Berlin”. Ich probierte wieder den zweiten Treffer. Beim Eintippen von “Telt” unter Straße schlug das System “Teltower Damm” vor. Wenn ich diesen Eintrag auswählte, stand oben “Nummer eingeben” und unten “Keine gefunden”. So ging es auch nicht.

Wie machst Du das konkret mit der Adress-Suche?

Das keine Region mehr auftaucht liegt vermutlich daran, dass ich kein LocationHook für Region gesetzt hab. Ich hab es damals rausgenommen, weil ich teilweise Städte in Regionen bekam, anstatt im Land. (z. B. Dresden, Sachsen und nicht Dresden, DEU => nur als Beispiel)
Wenn ich in Garmin BaseCamp nach Berlin suche bekomme ich Berlin, DEU; Berlinchen, Wittstock / Dosse, DEU; Berliner Vorstadt, DEU vorgeschlagen.
Ich muss gestehen, ich hab nicht die gesamte Deutschlandkarte genommen, sondern nur Brandenburg :wink:

So wie es aussieht, kommt es bei der Aufteilung der Karte zu dem Problem, dass Straßen zu weit von dem Admin-Level=6 liegen. Man kann Straßen in Berlin, DEU finden, wenn sie näher an der “Stadtgrenze” liegen. So z.B. Friedrichsteiner Strasse, Berlin, DEU (bei der Dönhoffstrasse Berlin, DEU).
Allen anderen Straßen werden die Stadtteile (Friedrichstrasse Friedrichshain-Kreuzberg, DEU) als Stadt zugeordnet.
Man könnte mal schauen, ob es geht, wenn man die letzten beiden Zeilen in den Style-Dateien entfernt:


mkgmap:city!=* & mkgmap:admin_level9=* { set mkgmap:city='${mkgmap:admin_level9}' }
mkgmap:city!=* & mkgmap:admin_level10=* { set mkgmap:city='${mkgmap:admin_level10}' }

Wenn du Zeit hast, kannst du es ja mal mit Brandenburg probieren und berichten, ob es geht.
Ich muss los :slight_smile:

Hallo wind,

gerade kam die Mail in der mkgmap-dev-Liste:
http://www.mkgmap.org.uk/pipermail/mkgmap-dev/2011q1/010797.html

Dabei geht es genau um das Problem, dass die vollständige Grenze nicht in einer Kachel vorhanden ist.
Ich hab es gerade noch einmal ohne admin-level 9 & 10 probiert und nun findet man auch die Straßen im inneren von Berlin nicht mehr…
Also warten wir ab, bis der Splitter weiterentwickelt ist :slight_smile:

Hallo railrun,

das habe ich auch gerade gelesen. Zumindest sind die an dem Problem dran. Wieviele Knoten pro Kachel kann so ein Garmin-Gerät (meins ist wie gesagt ein Etrex vista) eigentlich verkraften? Hat das schon mal jemand getestet?

Wind

Hallo Martin,

heißt das ohne die Admin Level geht die Adress Suche besser?

Gruß Jürgen

Ich weiß nicht wieviel Nodes ein Etrex verkraftet. Soweit ich es in Erinnerung hab, schmeißt mkgmap auch einige Nodes raus, z.B. wenn sie bei Kurven nah aneinander liegen. Was ich weiß, ist die Größenbegrenzung bei den Garmin-Geräten. Die generierte Karte darf dabei 2024 mb nicht übersteigen, auch wenn das Gerät größere SD-Karten lesen kann.

Also die Adminlevel sind wichtig bei der Zuordnung, allerdings ist im Moment das Problem, dass die Admin-Level-Grenzen beim Splitten zerstört werden und deshalb keine richtige Zuordnung möglich ist.
Ich hatte die Überlegung geäußert, die Boundary mit Osmosis zu extrahieren und in jedes Tile zu mergen.
Aber im Moment hab ich keine Zeit das zu testen. Wenn jemand Erfahrung damit hat, kann gerne seine Ideen hier äußern. :wink: