[Talk-at] OSM Nominatim Adress Suche in Wien

"Peter Müller" peter_m_75 at gmx.net
Sat Feb 17 12:16:11 UTC 2018


Dazu müssen mal konsequent alle Alt_name ausgefüllt werden, das AKH in Wien sucht keiner nach "Allgemeines Krankenhaus Wien". "Jeder" Österreicher wird "AKH" suchen, um nur ein Beispiel zu nennen.

Die Suche in OSM (osm.org) sollte auf jeden Fall besser werden in Zukunft, ich habe sehr gute Erfahrungen mit Server von AWS (Amazon Cloud Computing) gemacht, billig, leicht skalierbar, gutes Service. Nur so als Tipp. Das Wie kann ich aufgrund von mangelnden Wissen leider nicht beantworten, es werden sich aber sicher genug Papers, Articels etc finden lassen die sich mit Googles Suchalgorithmus auseinander setzen, wenn es zum Teil nicht sogar Open Source ist (Googles OCR Programm zB ist es ->Tesseract) Nicht vergessen darf man das Google seine Suchergebnisse dem Sucher anpasst, d.h. Ich bekomme für den selben Suchbegriff andere Vorschläge als Hr Trauner, oder Haag oder Volkmann.

> Gesendet: Samstag, 17. Februar 2018 um 12:58 Uhr
> Von: "Johann Haag" <johannhaag at hxg.at>
> An: "OpenStreetMap AT" <talk-at at openstreetmap.org>
> Betreff: Re: [Talk-at] OSM Nominatim Adress Suche in Wien
>
> Guter Vorschlag, am effizientesten wäre solches in Kombination mit einem schaltbaren basenap.at Layer, und Austria Street View. Das System könnte auch für dritte wie herold offen sein.
> 
> Grüsse Johann
> OSM geocodec
> 
> Von meinem iPhone gesendet
> 
> > Am 17.02.2018 um 12:34 schrieb Friedrich Volkmann <bsd at volki.at>:
> > 
> >> On 17.02.2018 10:17, Rudolf Mayer wrote:
> >> Aber ja, es gibt imho keine Gute website, die dir das Google Maps Webinterface ersetzt. Was dort vor allem gut ist - die Suche ist nicht auf exakte Treffer limitiert - es werden Tippfehler in richtige Lösungen korrigiert, und auch wenn die Schreibweise minimal anders ist als die Suche (z.b. kein "-" drinnen irgendwo) funktioniert es auf osm.org gleich mal nicht. Autocomplete/Suggestion gibt es sowieso nicht. Aber das ist kein Problem der *Daten* ...
> > 
> > Ja, es gibt einen dringenden Bedarf nach einer alternativen OSM-Suchmaschine, die nicht auf schnelle Aktualisierung, sondern auf Richtigkeit und Vollständigkeit der Ausgaben ausgelegt ist. Es ist schon komisch, dass das noch keiner gemacht hat. Es hat nicht jeder die Ressourcen für eine Auswertung über die weltweiten OSM-Daten, aber zumindest eine Suchmaschine für Österreich sollte machbar sein.
> > 
> > Ich denke dabei an ein zweistufiges System, bei dem die Daten in einem nächtlichen (oder wöchentlichen) Cronjob erst mal in eine suchbare Form gebracht werden, damit zur Laufzeit über Indexes auf die aufbereiteten Daten zugegriffen werden kann. Wie bei einem Data warehouse. Der erste Schritt ist sozusagen die Denormalisierung, da werden Eigenschaften (Adresse, access usw.) von Flächen auf Teilflächen und Nodes vererbt (kopiert) und von Relationen auf die members vererbt (z.B. Adressen) oder umgekehrt (Lage) oder die members zusammengehängt (type=route, type=multilinestring).
> > 
> > Dann werden Strichpunktwürste (alt_name="Roßauer Lände; Rossauerlände; Roßauerlände",  amenity="restaurant;cafe") werden aufgelöst.
> > 
> > Nun werden Indexes angelegt, die schon darauf ausgelegt sind, bei der Suche auch abweichende Schreibweisen zu ermöglichen. In Oracle gibt es so sachen wie function-based indexes, eine soundex() Funktion für phonetische Suche und eine regexp_like() Funktion; keine Ahnung, wie das in anderen Datenbanken geht oder wie Google das macht ?!?
> > Am besten werden die Werte in den Suchfeldern schon alle in lauter Klein- oder lauter Großbuchstaben umgewandelt, Whitespace und Bindestriche entfernt, ß in ss umgewandelt usw., damit bei den Suchanfragen keine komplizierten regular expressions mehr nötig sind. Gleiches gilt für Abkürzungen (Straße=Strasse=Str.). Manche Werte von short_name oder alt_name (s.o.) gleichen sich dabei an und können gestrichen werden.
> > 
> > Zur Laufzeit der Abfragen sind in den den regular expressions dann nur noch jene Fälle nötig, die im ersten Schritt noch nicht aufgelöst werden konnten.
> > 
> > Wenn eine Anfrage kein Ergebnis liefert, könnte man zum Abfangen einfacher Rechtschreibfehler eine nach der anderen Möglichkeit durchgehen, in Reihenfolge der Wahrscheinlichkeit unter Berücksichtigung der Performanz der Abfragen.
> > z.B. "stephanplatz" (s fehlt)
> > 1) Buchstabe zuviel?
> > -> street in (tephanplatz, sephanplatz, ...)
> > 2) Buchstaben vertauscht?
> > -> street in (tsephanplatz, setphanplatz, ...)
> > 3) Buchstabe anders?
> > -> street like _tephanplatz or street like s_ephanplatz or ...
> > 4) Buchstabe fehlt
> > -> street like _stephanplatz or street like s_thephanplatz or ... => bingo!
> > 5) nach den ersten n-1, n-2... Zeichen suchen:
> > -> street like stephanplat%
> >   street like stephanpla%
> >   ...
> > 
> > Ich hab leider keine Ressourcen (Hardware, Bandbreite, für einen Alleingang auch die Zeit) um so was zu implementieren, aber vielleicht wer von euch?
> > 
> > -- 
> > Friedrich K. Volkmann       http://www.volki.at/
> > Adr.: Davidgasse 76-80/14/10, 1100 Wien, Austria
> > 
> > _______________________________________________
> > Talk-at mailing list
> > Talk-at at openstreetmap.org
> > https://lists.openstreetmap.org/listinfo/talk-at
> 
> _______________________________________________
> Talk-at mailing list
> Talk-at at openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-at
>



More information about the Talk-at mailing list