Fabi2
(Fabian)
37
Das man das intern anders abbilden kann, stimmt natürlich, aber die Daten müssen ja auch verarbeitet werden…
Da ja “;” ein legitimer Wert im Wert sein kann, braucht man dann noch ein Escaping wenn man die Daten nicht gesplittet haben möchte, z.B. mit “;”. Das führt dann aber dazu, das die API den Wert jedes Schlüssels beim Hochladen parsen und beim Herunterladen dann die getrennten Schlüssel wieder, in der richtigen Reihenfolge (kann ja sein, das der Benutzer sich dabei was gedacht hat), für den Nutzer zusammenbauen muß. Ich bin da der Meinung man kann den API-Server da lieber mit sinnvolleren Sachen beschäftigen.
Das Problem ist nämlich, daß jedes Key=Value-Paar immer jeweils eine unabhängige 1:1-Abbildung ist. Das heißt z.B. “highway=service” und “service=driveway” stehen eigentlich in keinerlei Beziehung zueinander. weil ich kann ja “service=driceway” z.B. auch an eine “amenity=post_pox” taggen. Der Mensch und auch dessen momentanen Auswertung interpretiert aber “highway=service” und "service=driveway als Baum, was dann eigentlich auch als
highway--->service--->driveway
abgebildet werden müßte. Durch die fehlenden Bezüge untereinander bei den 1:1-Schlüssel-Wert-Zuordungen, weiß man bei mehreren Tags im Grunde auch nie wirklich sicher, welche Tags auf welche beziehen und ob es überhaupt einen Zusammenhang zwischen ihnen gibt.
Mit dieser Darstellung wäre dann die Mehrfachküche:
cuisine-+--->pizza
+--->kebab
Momentan muß man so etwas mehr behelfmäßig mit verschachtelten Relationen abbilden (für die sie ja eigentlich nicht wirklich gemacht wurden), weil mit anderen OSM-Objekten läßt sich das derzeit leider nicht realisieren. Ach ja, nur falls jemand nach der Idee hinter den verschachtelten type=health-Relationen gefragt haben sollte…
Ja und es gibt bedarf nach einer einheitlichen Lösung: http://wiki.openstreetmap.org/wiki/API_v0.7#Way_to_get_orphaned_relations_and_represent_tree_style_information_more_properly 
Vielleicht ist da noch nicht verständlich genug und jemand möchte das besser schreiben oder ergänzen.