On 18.02.2018 21:41, andreas wecer wrote:

    Gleiches gilt für Nominatim, wobei der im gesamten wohl auch gröbere
    Änderungen als nur diese eine braucht.

Ja, da gibts gröbere Probleme. Es ist mir bspw. ein wenig ein Rätsel, warum "Velmerstraße 1a, Münchendorf" keine Adresse liefert, "Velmerstraße 1a, Gemeinde Münchendorf" dagegen schon...

Nominatim ignoriert addr:city.

Ich habe mir jetzt mal den Nominatim-Source heruntergeladen. Es gibt praktisch keine Dokumentation mit Ausnahme der Installationsanleitung. In den Sourcefiles gibt es fast keine Inlinekommentare, und es steht auch am Anfang der Files nicht, wozu sie überhaupt gut sind.

Das Wichtigste passiert anscheinend in der Funktion lookup() in lib/Geocode.php. Da gibt es auch die meisten Kommentare, die aber mehr nach Gedächtnisstützen derjenigen aussehen, die das geschrieben haben, nicht als Erklärung für andere.

Da es keine getrennten Suchfelder für Straßenname, Hausnummer usw. gibt, sondern nur einen vermantschten Suchstring, ist nicht definiert, welcher Teil davon die Straße, welcher die Hausnummer usw. ist. Das beste Indiz ist die Reihenfolge, aber davon macht Nominatim gar keinen Gebrauch, denn es teilt den Suchstring erst mal in Tokens auf, die dann jeder für sich (?) in einem Tokenindex gesucht werden. Darum ist es egal, ob man nach "Velmerstraße 1a, Gemeinde Münchendorf" sucht oder nach "Velmerstraße Gemeinde Münchendorf 1a". Weil addr:city ignoriert wird, wird die Ortschaft auf andere Weise zugeordnet, und das ist offenbar nicht einheitlich, wie man an deinem Beispiel sieht, wo eine Straße mit einem place-Node verknüpft wird, ein Gebäude aber mit einer boundary-Relation. Andersrum wär's sinnvoller; ganz zu schweigen davon, dass Nominatim ja einfach die addr:* Tags auswerten könnte.

Um das ganze wirklich zu verstehen und die Gedankengänge der Programmierer zu erahnen, müsste man sich die Sourcen tagelang zu Gemüte führen, und ich habe schon eine Vorahnung, dass man dann erst recht zu dem Schluss kommt, dass das alles von Grund auf neu (= from scratch) geschrieben gehört.

--
Friedrich K. Volkmann       http://www.volki.at/
Adr.: Davidgasse 76-80/14/10, 1100 Wien, Austria

_______________________________________________
Talk-at mailing list
[email protected]
https://lists.openstreetmap.org/listinfo/talk-at

Antwort per Email an