[Talk-de] abhaengig von der Richtung eines Ways (was: Seen und Inseln)

Bernd Raichle bernd at dante.de
Do Jan 17 16:08:18 UTC 2008


Hallo,

on Wednesday, 16 January 2008 19:38:27 +0100,
Frederik Ramm <frederik at remote.org> writes:
 > >  > > Also, ich muss bekennen: bislang hat mich noch nichts motiviert,
 > >  > > mich mit dieser Relationen-Geschichte überhaupt zu befassen. 
 >  
 > >  > Muss auch keiner, wenn ers nicht braucht ;-)
 > 
 > > Mmmh, sobald ich etwas beschreiben will, was mehr als ein OSM-Objekt
 > > (Node bzw. Way) referenzieren muss, kann ich das nur mit einer
 > > Relation tun, da ich genau hiermit Beziehungen zwischen zwei und mehr
 > > OSM-Objekten beschreiben kann.
 > 
 > Habe ich nie bestritten. Ich habe die Relations ja eben deswegen ins
 > OSM-Datenmodell eingebaut und lang dafuer gefochten, weil ich sie
 > nuetzlich finde. Aber ich draenge sie niemandem auf, das wollte ich
 > damit zu sagen.

Nein, ich finde sie ein sehr gutes Beschreibungsmittel fuer viele
Dinge, die man sonst nicht beschreiben koennte.  Ich bin mir nur noch
nicht ganz sicher, wo und wie man sie am sinnvollsten einsetzen kann,
damit sowohl die Tagger als auch spaeter die Renderer, Sucher, Router
und sonstigen Anwendungen sie einfach nutzen koennen.  Habe deshalb an
verschiedenen Stellen im Wiki ja auch schon meine Kommentare
hinterlassen, damit mir die Antworten darauf vielleicht weiterhelfen :-).


 > >  > Persoenlich empfinde ich alles, was sich auf die Richtung von Ways 
 > >  > verlaesst, als ziemlich "zerbrechlich". Daten, die sich nicht darauf 
 > >  > verlassen, sind sicherer gegen unbeabsichtige Aenderungen.
 > > 
 > > Wie sollte man sonst beschreiben, was links bzw. rechts einer
 > > begrenzenden Linie liegt?  Oder was bei einer Flaeche/Area nun
 > > innerhalb und was ausserhalb ist?  Oder ob eine Way in eine bestimmte
 > > Richtung befahrbar ist?  Oder etwas richtungsabhaengig
 > > unterschiedliche Eigenschaften besitzt?
 > 
 > Was innerhalb und ausserhalb ist, kann man ja gut mit Relations
 > abbilden. (Nur zur Klaerung: Ich finde Relations gut. Es war Paul, der
 > absichtlich ketzerisch nach ihrem Nutzen fragte. Und ich antwortete,
 > dass man mit Relations eben die Abhaengigkeit von der Richtung eines
 > Ways aufloesen kann.)

... und je laenger ich darueber nachdenke, desto besser gefaellt mir
diese Idee.


 > In welche Richtung eine Einbahnstrasse oder ein Tempolimit oder eine
 > Steigung gelten, haette ich persoenlich lieber auch ueber eine
 > Relation (in der Gestalt eines "erweiterten Tags") geloest, die
 > entweder sagt "von Node X bis Node Y ist das hier Einbahnstrasse",
 > oder von mir aus auch "in Richtung Norden ist das hier
 > Einbahnstrasse".

Die Aussage "in Richtung Norden" halte ich eher fuer schlecht als
Beschreibungsmittel in den OSM-Daten.  Da gefaellt mir der Gedanke,
dass ich die Beschreibungen mit Tags nun aufteilen kann auf

  1. Menge von einfachen Tags, die fuer den gesamten Way gelten
  2. Menge von einfachen Tags, die fuer den gesamten Way mit Richtung gelten
  3. Menge von einfachen Tags, die fuer einen Teilweg gelten
  4. Menge von einfachen Tags, die fuer einen Teilweg mit Richtung gelten
  5. mehrere zusammengehoerende Tag-Mengen, die fuer den gesamten Way gelten
  6. mehrere zusammengehoerende Tag-Mengen, die fuer den gesamten Way mit Richtung gelten
  7. mehrere zusammengehoerende Tag-Mengen, die fuer einen Teilweg gelten
  8. mehrere zusammengehoerende Tag-Mengen, die fuer einen Teilweg mit Richtung gelten

fuer sehr gut.  Ohne die Relationen koennte ich nur 1. und
2. abdecken.  Fuer 3. und 4. muss ich Wege teilen.  Wobei ich bei
2. und 4. spaetestens dann Probleme bekomme, wenn ich Tags haben, die
fuer unterschiedliche Richtungen gelten.

Fuer 5., 6., 7. und 8. (das sind zeit- und/oder verkehrsmittel-
abhaengige Beschraenkungen, bspw. die Beschilderung 80km/h allgemein+
60km/h fuer Lkw oder 100km/h von 22:00-6:00) benoetige ich zusammen-
gesetzte Tags/Attribute, da kaum alle Tags beispielsweise vom
angegebenen Zeitraum abhaengig sind.  Und genau diese 3
Tag-Beschreibungen kann man nun mit Relationen abdecken:

 1. keine Relation notwendig, so wie bisher als Standard-Tag eines Weges

 2. Relation mit

    tag    relation_type = directed way tags
    member type = way
    member type = node   role = from
    member type = node   role = to
    tag+   ...

    Die beiden Knoten koennen, muessen aber nicht der erste und letzte
    Knoten des Weges sein.  Richtung ist von Knoten "from" nach "to".

 3. Relation mit

    tag    relation_type = undirected way segment tags
    member type = way
    member type = node   role = from
    member type = node   role = to
    tag+   ...

    Die beiden Knoten geben den Teil des Weges an, fuer die die Tags
    gelten sollen.

 4. Relation mit

    tag    relation_type = directed way segment tags
    member type = way
    member type = node   role = from
    member type = node   role = to
    tag+   ...

    Die beiden Knoten geben den Teil des Weges an, fuer die die Tags
    gelten sollen.  Richtung ist von Knoten "from" nach "to".

 5. Relation mit

    tag    relation_type = undirected way tag group
    member type = way
    tag+   ...

    Alle in einer solchen Relation angegebenen Tags sind zusammen zu
    interpretieren.  Benoetige ich fuer einen Weg mehrere dieser
    zusammengesetzten Tags, so gebe ich mehrere dieser Relationen an.

 6. Relation mit

    tag    relation_type = directed way tag group
    member type = way
    member type = node   role = from
    member type = node   role = to
    tag+    ....

    Die beiden Knoten koennen, muessen aber nicht der erste und letzte
    Knoten des Weges sein.  Richtung ist von Knoten "from" nach "to".
    Ansonsten wie 5.

 7. und 8. entsprechen 3. und 4. mit der Tag-Group aus 5.:

    bei 7.: tag    relation_type = directed way segment tag group
    bei 8.: tag    relation_type = directed way segment tag group


Wenn nun diese Moeglichkeiten, Tags und Tag-Groups fuer Wege und
Teilwege anzugeben, von einem Editor entsprechend unterstuetzt
wuerden ...


 >                  Die Info "in Richtung des Ways ist das hier
 > Einbahnstrasse" finde ich gefaehrlicher, zerbrechlicher; und vor
 > allem kommt man da in Schwulitaeten, wenn irgendwas in der einen
 > Richtung Einbahnstrasse ist und in der anderen Richtung ein Gefaelle
 > hat ;-)

Ja, das stimmt.  Aber auch die Relationen koennen zerbrechen, wenn man
Wege zusammenfuegt bzw. teilt.  Hier muesste ein Editor entweder eine
Warnung ausgeben, dass man anschliessend eine solche Relation anpassen
muss und/oder der Editor muesste, soweit moeglich, dies von alleine
mit erledigen, so wie dies auch bisher mit den einfachen Tags bereits
geschieht.



 > > Diese Relationen, die Tags fuer Weg-Segmente angeben, muessten in den
 > > Editoren bei der Tag-Liste eines Weges auftauchen, mit der Ergaenzung,
 > > fuer welchen Abschnitt (Start- + Endknoten) sie gelten und ob sie
 > > richtungsbezogen sind.
 > 
 > Ja, sowas waere nicht schlecht, stellt aber das bisher angedachte
 > Relation-Konzept (wir machen viele kleinen Ways und fassen die
 > zusammen) etwas auf den Kopf, daher erstmal ein bisschen im Wiki
 > diskutieren ;-)

Nein, stellt es nicht auf den Kopf, sondern ergaenzt es in die andere
Richtung.  Ich werde auch mit einem solchen Konzept eine Strasse in
mehreren zusammenhaengenden Wegen abbilden (beispielsweise bei
groesseren Kreuzungen oder bei der Aufsplittung eines Weges in zwei
parallel verlaufende Wege fuer getrennte Fahrspuren), so dass eine
Zusammenfassung immer notwendig/hilfreich sein wird.

Wenn ich noch ein bisschen Zeit finde, verlagere ich obige
Ausfuehrungen mal in's Wiki ...


Gruss,
  -bernd




Mehr Informationen über die Mailingliste Talk-de