[Talk-at] OSM Nominatim Adress Suche in Wien

Friedrich Volkmann bsd at volki.at
Mon Feb 19 00:39:07 UTC 2018


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



More information about the Talk-at mailing list