[Talk-de] Access Mapping: konsistenter Auswerte-Algorithmus??
Steffen Wolf
stw at gmx.de
Mi Jan 8 04:46:03 UTC 2014
Hi Tirkon,
> Hat jemand einen besseren Ansatz?
Es ist derselbe Ansatz, nur etwas ausformulierter:
> "TK" ist Abkürzung für "Transportmittelklasse". "TKn" ist deren
> Plural. "TK(n)" lässt ein oder mehrere durch Komma getrennte TK zu.
Zunaechst muss der Algorithmus den access-Baum kennen. Wurzelknoten ist
access, Tiefe eines Knotens gibt an, wieweit er von access weg ist
(motorcar -> motor_vehicle -> vehicle -> access, also Tiefe 3).
> (X) key(k) = value(v) # mögliche Anzahl
> (1) access = no|TK(n) (yes ist verboten) # 1x
> (2) TK(n) = yes|no
> (3) TK(n) = designated
> (4) TK(n) = official
> (5) TK = TK (nur Unterklasse)
> (6) highway = cycleway|footway|pedestrian|bridleway|path # 1x
Bei (2)-(4) auch nur TK=* statt TK(n)=*. Jedenfalls hab ich noch nie
foot;bicycle=yes gesehen.
Durch die Baumstruktur kann (1)-(5) zusammengefasst werden. Ausserdem
wuerde ich die weiteren Werte noch einbauen
(1-5) TK = yes|no|designated|official|private|permissive|destination|agricultural|forestry|delivery|psv|...|TK(n)
> Wie oft darf jede einzelne Form (1) bis (6) an einem Objekt hängen?
> einmal?, beliebig häufig?
> Welche Form darf nicht zusammen mit anderen Formen an einem Objekt
> hängen?
Ich wuerde beim Algorithmus davon ausgehen, dass es keine durchsetzbaren
Tagging-Beschraenkungen gibt. Er muss etwas errechnen koennen, egal wie
unsinnig das Tagging ist. Deshalb auch kein Verbot fuer
access=yes|designated|official. Kommt ja oft genug in den Daten vor.
> Fehlen Formen?
Das waere auch sinnvoll fuer Barrieren:
(7) barrier = *
Das, zusammen mit (6), ergibt, dass der Algorithmus irgendeine
Grundannahme von unseren Default-Werten hat.
> Wie sieht die Beschreibung/der Algorithmus einer konsistenten
> Auswertung aus?
> Schritte im Algorithmus könnten beispielsweise sein:
Start:
Setze access-Baum auf Default-Wert fuer angetroffenen Highway oder
Barriere. Etwa einfach alles auf yes.
Wenn es eine Regel (TK)=designated|official gibt:
Fueg eine Regeln access=no hinzu.
Iterativ:
Suche den naechsten Ausdruck der Form (1-5) mit der geringsten Tiefe.
Bei yes|no|destination|permissive|private|...:
Setze den gesamten Unterbaum auf den Wert.
Bei designated|official:
Setze den gesamten Unterbaum auf yes.
Bei TK(n):
Setze den gesamten Unterbaum auf no, behandle die einzelnen Werte
wie TK=yes.
Sofort oder verzoegert ist moeglich, koennte unterschiedliche
Ergebnisse liefern.
Beispiel fuer Sofort vs. Verzoegert:
access=motorcycle
vehicle=no
Dann kann motorcycle=yes (verzoegert) oder =no (sofort) rauskommen.
Etwas einfacher wird es, wenn man sich nur fuer einen bestimmten Wert im
Access-Baum interessiert, motorcar oder bicycle vielleicht. Als Uebung
fuer den Leser bieten sich die Zusaetze TK:forward und TK:backward an
oder die Regeln agricultural|forestry=yes|no|... ;-)
Viel Spass beim Weiterbasteln,
stw1701
--
Wer sind wir? Was machen wir hier eigentlich? - Amnesy International
Mehr Informationen über die Mailingliste Talk-de