[Talk-de] Richtungsabhaengige oder Abschnittsweise attribute/tags Was: Fahrradspur

Dirk Stöcker openstreetmap at dstoecker.de
Mi Okt 22 16:03:19 UTC 2008


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)


Mehr Informationen über die Mailingliste Talk-de