Am 06.09.2010 16:22, schrieb Tom Müller:
Hallo,
und noch eine Frage zu den Stadt und Stadtteil-Polygonen.
Ich lese die der Reihe nach ein, aber wenn ich sie dann zeichne,
überlappen sich die Grenzen kreuz und quer. Es scheint, als stünden die
in beliebiger Reihenfolge in den Daten.
Es gibt in OSM keine definierte Reihenfolge von Objekten, außer deren
Erstellungsreihenfolge.
Einigen Objekten wie Brücken oder Tunnels weisen wir über den layer-Tag
eine explizite Reihenfolge zu, dies ist aber auch nicht mehr als ein
Not-Behelf.
Nun zunächst: stimmt das, oder lese ich falsch ein?
und wenn es stimmt, gibt es da bereits einen Ansatz zu wie man die Daten
sortiert bekommt?
Ich vermute, dass du den Maleralgorithmus [1] (painter's algorithm)
implementiert hast. Damit du die Polygone einfach übereinander zeichnen
kannst musst du sie, wie du bereits festgestellt hast, anhand eines
Kriteriums vor-sortieren. Dafür würde sich bei boundary=administrative
das admin_level eignen.
Zuerst werden grenzen mit admin_level=2 gezeichnet (Deutsche
Außengrenze), danach admin_level=4 (Bundesland) usw.
Dies funktioniert aber nur, so lange du nur Grenzen zeichnen willst. Für
andere Polygone musst du dir andere Eigenschaften überlegen, nach denen
du diese sortieren willst. Eine universelle Möglichkeit wäre z.B. eine
Sortierung nach Flächeninhalt.
Lg, Peter
[1] <http://de.wikipedia.org/wiki/Maleralgorithmus>
_______________________________________________
Talk-de mailing list
[email protected]
http://lists.openstreetmap.org/listinfo/talk-de