Oli-Wan
53
Ein Quadrat ist ein Spezialfall eines Rechtecks, und das wiederum ist ein Spezialfall eines Vierecks, welches ein spezielles Vieleck ist. Ein (geschlossenes) Vieleck ist ein Sonderfall eines endlich langen Wegs… Läßt sich nach Lust und Laune fortsetzen.
Ob man ein Quadrat aber über eine solche Vererbung(skette) oder als eigene Klasse implementiert, hängt aber von der Anwendung und deren Erfordernissen ab.
“Mathematisch betrachtet” ist eine Relation eine geordnete [1] Menge von Objekten, welche Knoten, Wege oder Relationen sein können und denen jeweils eine Rolle zugeordnet ist. Ein Weg ist ein Spezialfall davon, wobei nur Knoten als Elemente/Mitglieder zugelassen sind und ihre Rolle stets leer ist. Diese Beziehung könnte man natürlich so implementieren, aber was würde es nützen? Es ist ja nicht so, daß es in OSM unübersichtlich viele Basisdatentypen gäbe und man dringend einige einkochen müßte. Zudem käme es nicht zu einer Ersparnis bei den gespeicherten/übertragenen Datenmengen, sondern im Gegenteil zu unnötigem Overhead.
[1] Ob bzw. für welche Anwendungen die Ordnung eine Rolle spielt, ist eine andere Frage (siehe andere Postings), aber gespeichert werden die Mitglieder einer Relation jedenfalls in einer bestimmten Reihenfolge.