Hallo! Diese Mail bezieht sich auf den Thread "Lizenzwechsel" > Ablehner in v1: "name=Bachstr." > Zustimmer in v2: "name=Bachstrasse" > > in diesem Fall koennen wir das "Bachstrasse" nicht uebernehmen, denn wir > muessen davon ausgehen, dass der Zustimmer *nicht* selbstaendig ermittelt > hat, dass die Strasse "Bachstrasse" heisst. > > Ablehner in v1: "name=Bachstr." > Zustimmer in v2: "name=Haydnstrasse" > > in diesem Fall koennten wir den Namen uebernehmen. > > Wie sollen wir diese Faelle automatisch unterschieden? Ich sehe keine > Moeglichkeit. Daher werden wir aller Wahrscheinlichkeit nach immer dann, > wenn ein Ablehner *irgendwie* ein "name"-Tag gesetzt hat, das "name"-Tag > entfernen, egal was drin steht.
Nun, dafür gäbe es schon einen generischer Algorithmus 1) brauchen wir eine regex die alle Spezialbuchstaben in die 26 Grundbuchstaben umwandelt (ö->oe, ß->ss, á->a, usw.) Ich wette, sowas gibt es von der Stange. 2) Leerzeichen und Bindestriche werden entfernt 3) ein abschließender Punkt wird durch .* (also Joker) ersetzt, sofern der String wenigstens 5 oder so Zeichen hat. 4) nun wird case-insensive verglichen Damit sollte man - zumindest in allen Ländern die die lateinische Schrift verwenden - ausreichend treffsicher sein. Bei "A. Schneiderstr." --> "Anton-Schneider-Straße" wird das nicht funktionieren, aber vielleicht ist das auch richtig so. Hingegen bei "Anton Schneiderstr." --> "Anton-Schneider-Straße" "Anton Schneider Strasse" --> "Anton-Schneider-Straße" "anton schneider straße" --> "Anton-Schneider-Straße" funktioniert's. Vorbeugend: Ich glaube kaum, dass es common sense ist, dass Schreibformen lizensierbar wären. Auch Rechtschreibfehler sind wohl kaum lizenzfähig, aber denen ist so nicht beizukommen. -- Gruß, Boris _______________________________________________ Talk-at mailing list Talk-at@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-at