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