On Wed, Oct 13, 2010 at 12:01:07AM +0200, Frederik Ramm wrote:
> C. Brause wrote:
>> Ich würde gerne wissen, wieso Objekte wie die Stolpersteine in eine  
>> Relation gesteckt werden sollen. Das erschließt sich mir nicht. Kann ne 
>> kurze Antwort geben (glaub ich aber nicht).
>
> Mapper tun das oft, weil sie dadurch - vorausgesetzt, sie kennen die  
> Relations-ID - sehr leicht saemtliche dieser Objekte herunterladen  
> koennen (mit der /relation/xxx/full-Abfrage). Das ist komfortabler, als  
> sich die betr. Objekte anhand der Tags herauszusuchen.
>
> Allerdings sind Relationen dafuer eigentlich nicht gedacht  
> (http://wiki.openstreetmap.org/wiki/DE:Relations/Relations_are_not_Categories 
> ). Daher habe ich vorgeschlagen, die Moeglichkeit, eine Relation und all  
> ihre Mitglieder herunterzuladen, fuer API 0.7 zu entfernen  
> (http://wiki.openstreetmap.org/wiki/API_v0.7#Removing_Features).

Vielleicht wäre es eine bessere Idee, statt ein nützliches Feature zu
entfernen, ein nützlicheres zu schaffen, das dann alle verwenden?

Offensichtlich gibt es hier ja eine Anforderung der User. Sie wollen alle
Features eines bestimmten Typs leicht finden. Das kann man durch den Trick
mit der Relation machen. Oder man benutzt die XAPI. Zumindest solange es nur
um einen einzigen Tag geht, macht die XAPI das ja ganz brav. Und bei der
XAPI kann ich auch eine Bbox angeben, was man bei dem Weg über die Relation
nicht kann.

Schwieriger wird es bei geographisch geschachtelten Relationen: Alle
Stolpersteine in Bayern oder sowas. Hier ist in der Relation nicht nur der
Tag kodiert, sondern eine geographische Information. Und zwar eine, die
derzeit sehr schwierig aus der Datenbank zu bekommen ist. Die Alternative
ist derzeit, eine eigene Datenbank aufzusetzen mit einem Mirror der Daten,
die Grenze von Bayern zusammenzusetzen und dann auszuschneiden. Klar, das
das kaum jemand hinbekommt.

Vielleicht gibt es noch andere Gründe, warum manche Leute, die Relationen
gerne haben. Falls ja, dann sagt Bescheid.

Die Gegner der Relationen für diese Zwecke sagen: Informationen in Tags sind
leichter zu Verarbeiten und Pflegen als Relationen zu machen, die gerade für
Anfänger schwer zu verstehen sind. Wird so eine Relation ausversehen gelöscht,
ist das Geschrei groß. Und die Verarbeitung mag zwar einfacher sein für den
Gelgenheitsuser, der nur die Relation als XML runterlädt und damit was macht,
aber datenbanktechnisch ist es ein Riesenaufwand, weil wir Abhängigkeiten
zwischen verschiedenen Objekten haben. Wird z.B. ein Node gelöscht, der in
der Relation ist, muss man diese auch immer mit anfassen.

Dahinter steckt aber noch ein ganz anderes Problem, verschiedene Ansichten, die
so meist nicht formuliert werden, weil beide Seiten sie für selbstverständlich
halten und garnicht sehen, dass ihre Weltbilder hier auseinanderlaufen:

Der "durchschnittliche Mapper", der nur gelegentlich mit den Daten ein bischen
was basteln will (z.B. eine Karte aller Stolpersteine in Bayern), erwartet, dass
ihm die OSM-Datenbank diese Daten auf einfache Weise rausrückt. Der "Hacker"
oder Informatiker hingegen sieht, dass es sehr aufwändig ist für eine zentrale
Datenbank die Informationen in all den Formen zur Verfügung zu stellen, die die
verschiedenen Leute brauchen. Er geht also davon aus, dass die zentrale
Datenbank nur zum Editieren da ist und alle anderen Formen der Nutzung aus
einer Kopie der Datenbank heraus erfolgen, die für die jeweilige spezielle
Nutzung optimiert ist. Aber natürlich können die wenigsten eine solche
spezielle Datenbank aufsetzen. Der Mapper wird also die pragmatische Lösung
wählen (also z.B. Relationen anlegen). Und bei OSM ist die pragmatische
Lösung *immer* die richtige Lösung, so ist unser Projekt groß geworden, das
gehört eigentlich zu unserer Kultur. Wir wollen keine theoretisch gute Lösung,
die aber nicht umsetzbar ist, wir wollen die pragmatische Lösung.

Dummerweise ist aber natürlich die Welt komplex und die pragmatischen Lösungen
können und werden zu neuen Problemen führen. Aber wenn man die pragmatische
Lösung für falsch hält, dann gibt es in unserem Projekt eigentlich nur eine
Möglichkeit dem zu entgegnen, nämlich in dem man eine *noch pragmatischere*
Lösung schafft, nicht in dem man die pragmatische Lösung verbietet oder
verhindert.

Wir haben hier also eine Schwierigkeit. Beide Seiten haben vernünftige
Argumente, die aus ihrer Sicht Sinn machen. Wir sollten überlegen, was man
machen kann, um hier einen Schritt weiter zu kommen, statt immer wieder
alte Argumente zu wiederholen.

Ein Ansatz wäre sicher, die Funktionen der XAPI bekannter zu machen und
weiter auszubauen.

Ein anderer wäre es, etwas zu schaffen, was ich mal "virtuelle Relationen"
nenne. Also etwas, das nach außen so aus sieht wie eine Relation, aber nach
innen mit Tags funktioniert. Keine Ahnung, wie das genau gehen kann, aber
vielleicht hat jemand eine Idee, aus dem Ansatz was zu machen, was allen
helfen kann.

Ich bin sicher, wenn wir genauer darüber nachdenken, was wir eigentlich machen
bzw. machen wollen, welche Probleme die verschiedenen Leute, versuchen zu
lösen, dann werden wir auch einer Lösung näher kommen.

Jochen
-- 
Jochen Topf  joc...@remote.org  http://www.remote.org/jochen/  +49-721-388298


_______________________________________________
Talk-de mailing list
Talk-de@openstreetmap.org
http://lists.openstreetmap.org/listinfo/talk-de

Antwort per Email an