On Wed, 22 Oct 2008, Florian Lohoff wrote:

Und wie gesagt, das Rendering verbessern. Wenn ich x Wege habe, die alle
den gleichen Namen/Ref tragen und sich jeweils einen gemeinsamen Endpunkt
teilen, dann kann ich diese zum Zwecke der Namensvergabe auch als einen
Weg betrachten. An Kachelgrenzen muss man dann ein wenig aufpassen, aber
sonst ist das eigentlich trivial, da ich in Zweifelsfällen ja immer auf
die Methode einfach alles auszugeben zurückfallen kann.

Es geht mir ueberhaupt nicht ueber das rendering sondern darum das
bestimmte attribute im moment nicht zu modellieren sind. So sind
vorschlaege zu fahrradwegen, gefaellen/steigungen, einseitige
geschwindigkeitsbeschraenkungen, einseitige zufahrtsbeschraenkungen alle
bisher dran gescheitert das es eben keine moeglichkeit der modellierung
gibt.

Gehen wir mal auf die Basis zurück. Wir haben momentan drei Datentypen:
a) einfache Knoten
b) Wege, die aus diesen Aufgebaut sind
c) Relationen, welche aus Wegen oder Knoten aufgebaut sind.

Was Du vorschlägst ist das Durchbrechen dieser einfachen Struktur - Du willst "Relationen, welche Abschnitte von Wegen beschreiben".

Jeder der objektorientierte Programmierung verstanden hat wird Dir sagen, dass Zugriff auf Innereien eines Objekts nichts in anderen Objekten zu suchen haben, da dadurch eine sehr hohe Komplexizität entsteht. Und die Knoten sind interne Informationen eines Weges. Ich verstehe, dass es nicht sofort einsichtig ist, dass diese Herangehensweise zu Chaos führt, aber ich kann Dir nach mehr als 15 Jahren Programmierpraxis beteuern, dass es so ist. Ich habe zu oft gesehen, dass Software gescheitert ist, welche sich nicht an diese Regeln hielt.

Wenn Dich die Doppelinformationen stören, dann baue das ganze andersherum auf. In Deinem Beispiel: Teile den Weg in 5 Abschnitte und packe die Informationen in Relationen. Name und Ref bleiben sehr wahrscheinlich lange konstant, also kommen diese in eine Relation. Maxspeed und ähnliches ändert sich schnell, wird also direkt an den Weg geklebt.

Bei dieser Herangehensweise bleibt eine Stack-artige Strukt bestehen. Jede Objektgruppe baut auf Objekten niederer Gruppen auf ohne durch eine Objekt hindurch auf dessen interne Informationen zuzugreifen.

Ciao
--
http://www.dstoecker.eu/ (PGP key available)
_______________________________________________
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de

Antwort per Email an