[Talk-de] [tagging] RFC: Im Bau befindliche Objekte, nicht mehr genutzte Objekte
Tordanik
osm at tobias-knerr.de
So Jul 20 23:12:10 UTC 2008
Norbert Hoffmann schrieb:
>>>> Im Bau befindliches Atomkraftwerk:
>>>> power=generator
>>>> power_source=nuclear
>>>> status=construction
>
> Zu jedem Objekttyp wäre doch eine Erfasung analog zu "highway" und "rail"
> möglich:
>
> power=construction
> construction=generator
> power-source=nuclear
Ja, ich hatte erwartet, dass der Vorschlag kommt. :) Das ist m.E. eine
der drei prinzipiellen Möglichkeiten (#3 wäre abandoned=yes/no,
disused=yes/no, construction=yes/no etc.). Dieser von dir ins Spiel
gebrachte Ansatz hat mir aus folgenden Gründen nicht so gut gefallen:
* Welcher Tag wird ersetzt?
Warum etwa heißt es nicht
power=generator
construction=nuclear
power-source=power=construction
– ok, weil power das „Haupt-Tag“ ist. Ist das immer klar erkennbar? Ich
hab schon Dinge wie building=yes, amenity=... gesehen – ist dann
building oder amenity das „Haupt-Tag“, dessen Wert mit construction
auszutauschen ist? Und kann man das irgendwie allegemeingültig (d.h.
nicht für jedes Paar von Tags extra) festlegen?
* Erfinden eigener Werte
Mit status=blah kann ich mir beliebige blahs ausdenken, beim
objektkey=blah, blah=objektwert bin ich dagegen schon mal auf blahs
beschränkt, die nicht selbst schon irgendein Key oder irgendein Value
sind. Natürlich wird wohl niemand auf die Idee kommen, einen Status
„primary“ einzuführen, aber ich wär mir nicht so sicher, alle Keys und
alle Werte aller Keys zu kennen, wenn ich einen Status erfinde.
* Erfinden eigener Werte 2: Softwareunterstützung
Wenn ich diesen Wert blah nicht kenne, weiß ich außerdem nicht, ob es
sich dabei jetzt um einen Status handelt oder um einen eigenen Wert. Das
kann für alles mögliche nett sein zu wissen. Beispiel: Ich will mir eine
Validatorsoftware schreiben, die festlegt, dass highway=stop_sign nur
auf Nodes verwendet wird, highway=motorway dagegen nur auf Ways. Wenn
ich jetzt einen Node mit so etwas
highway=occupied_by_aliens
occupied_by_aliens=motorway
finde, kann ich nicht mehr validieren, weil ich nicht weiß, ob
occupied_by_aliens ein highway-Typ oder ein Status ist. Bei einem
highway=motorway
status=occupied_by_aliens
geht es dagegen problemlos.
* Verständlichkeit
Ich halte das Konzept
power=construction
construction=generator
für absolut nicht intuitiv lesbar („power=construction ?“). Ein normales
Objekttagging mit status=foobar lässt sich dagegen leicht als „aha, ein
Objekt xy, das sich in foobarem Status befindet“ erkennen.
* Dokumentation
An sich handelt es sich hier ja um Werte von power, highway und
letztlich jedem einzelnen anderen Tag. Die wird man aber dann nicht –
wie es jetzt noch der Fall ist – bei jedem Key, wo sie möglich sind,
(das wären nämlich schlicht alle) hineinschreiben wollen. Das passt
nicht so ganz in unser derzeitiges Dokumentationsschema. Könnte man
natürlich prinzipiell ändern, aber ich weiß erstmal nicht, wie.
* Baustellen unbekannten Typs
Daran hatte ich vorher nicht gedacht, aber da es ja einer von Frederiks
Einwänden war … status=construction ohne sonstige Information ist sehr
unschön, aber bei dem objekttyp=construction-Vorschlag ist eine
Baustelle mit unbekanntem Objekttyp nicht nur unschön, sondern unmöglich.
Puh, etwas lang geworden … *g*
Tordanik
Mehr Informationen über die Mailingliste Talk-de