mkgmap style Regeln

Ich habe immer noch Fragen zu den Style-Regeln,
obwohl die wiki Seite die grundsätzliche Syntax halbwegs erklärt.

http://wiki.openstreetmap.org/wiki/Mkgmap/help/style_rules

z.B. ist mir nicht klar, wie das mit is_in funktioniert.
Ich hätte gerne, dass zu jedem Ort in der POI-Liste das Land angezeigt wird, also: Wien,AT oder Wien,AUT

Im Default Style-File habe ich folgendes gefunden:

mkgmap:country!=* & is_in:country=* { set mkgmap:country=‘${is_in:country}’ }
mkgmap:country=AUT & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city=‘${mkgmap:admin_level8}’ }

laut tag_info gibt es jedoch folgenden Unterschied
is_in:country=Austria
is_in:country_code=AT

Aus meiner Sicht passt das doch überhaupt nicht zusammen.

Walter

Die Namen werden durch mkgmap intern konvertiert.

Das dürfte dann auf sowas hinauslaufen:

place=city { set name=‘$(name),$(mkgmap:country)’|‘$(name)’ }

Hallo Henning,

im ersten Schritt muss mkgmap mal herausfinden, in welchem Land sich etwas befindet.
Dieser Schritt ist mir bereits unklar.

Im zweiten Schritt wird dann das ermittelte Land an den Ortsnamen angehängt.
Dieser Schritt wäre mir klar, wenn ich den ersten verstehen würde.

Walter

Hallo Walter,

das Land, in welchem sich das aktuell verarbeitete Element befindet, bezieht mkgmap aus dem separat anzugebenden Boundaryfile. Dieses wird regelmäßig aus sämtlichen Grenzrelationen erstellt und kann gedownloadet werden (Quelle habe ich jetzt nicht zur Hand).

Grüße
Mario

Hallo Mario,

vielen Dank für den Hinweis, ich hab das jetzt in der Hilfe gefunden.

http://wiki.openstreetmap.org/wiki/Mkgmap/help/usage#Using_precompiled_bounds_for_the_address_index

Dort steht auch, dass man aus dem Geofabrik Dump die Grenze von Spanien nicht extrahieren kann.
Ich werde also noch suchen müssen, wo es dieses BoundaryFile als Download gibt.

Den Aufruf verstehe ich dann auch noch nicht so ganz.

java -jar mkgmap.jar --index --location-autofill=bounds data.osm

Wo ist denn hier der Pfad auf dieses Boundaryfile?

Walter

Versuch es mal mit diesem Europa-Boundary-File: http://www.navmaps.eu/index.php/developers/bound

Klaus

Hallo Klaus,

vielen Dank für den Link, der Download hat schon mal funktioniert.
Mir fehlt jetzt noch der richtige Aufruf, wie ich mkgmap sagen kann, wo diese bnd-Files liegen.

Walter

http://wiki.openstreetmap.org/wiki/Mkgmap/How_to_create_a_map

Schau mal da

Hallo Walter,

ganz einfach mit der weiteren Option --bounds=directory, wobei “directory” relativ zum aktuellen Verzeichnis oder als vollständiger Pfad anzugeben ist.

Grüße
Mario

Hallo Mario,

diese Lösung war mir wohl zu einfach. Danke jedenfalls, hat auf Anhieb geklappt.

Die Anzeige von Orten ist nun erweitert auf z.B. “Eßling, Bezirk Wien, ÖSTERREICH”.
Ist diese Anzeige irgendwo noch konfigurierbar oder in mkgmap hardcodiert?

Walter