Datenbank zur Adressverifizierung mit OSM realisierbar?

Hallo Zusammen,

wir sind gerade dabei ein neues Projekt zu starten und benötigen hierzu eine eigenständige Datenbank welche folgende Daten enthält: Land, Bundesland, PLZ, Ort, Straße und Hausnr.

Ziel soll sein, das z.B bei Eingabe der Straße die PLZ und Ort automatisch vorgeschlagen wird und andersherum.

Wäre dies mit Daten der OSM realisierbar??

Soweit ich mich bisher eingelesen habe, scheinen die von uns benötigten Daten ja größtenteils vorhanden zu sein?! Habt ihr mir irgendwelche Tipps?

Vielen Dank im Vorraus!

oberschlumpf

Zunächst einmal: von den Hausnummern fehlen noch viele - auf diese Ebene solltet ihr euch nichjt verlassen.
Was die anderen Punkte angeht: dafür müssen die Daten aus der OSM-Datenbank extrahiert werden. Und Land, Bundesland etc. sind als Relationen erfaßt, d.h. letztendlich als geografische Gebiete. Damit müßt ihr dann selbst “ausrechnen”, in welchem Bundesland welche Postleitzahl liegt etc. Das ist schon ein Aufwand!

Auf die Straßennamen würde ich mich auch nicht zu 100% verlassen, die sind auch noch nicht vollständig erfasst (stark abhängig von der Region, Saarland ist z.B. fast zu 100% abgedeckt: http://regio-osm.de/listofstreets/kartenuebersicht.html)

Die Gemeindegrenzen und PLZ in Deutschland sind hingegen vollständig erfasst. Die PLZ sind offenbar sogar besser als bei manch kommerziellem Anbieter: http://forum.openstreetmap.org/viewtopic.php?pid=415502#p415502

Ansonsten: http://switch2osm.org/
http://wiki.openstreetmap.org/wiki/Nominatim
http://wiki.openstreetmap.org/wiki/Overpass_API

wäre schon interessant, wer sich hinter “Wir” verbirgt. Privat / kleine Firma,Startup / Hochschule/ NGO / Softwarehaus / …
nur damit man mal den Eindruck hat, welche Ressourcen zur Verfügung stehen. Branche wäre auch nett, aber Namen müssen nicht sein.

ist das das Ziel des Projektes oder braucht ihr so eine Funktion/API um an die Informationen heranzukommen. Es gibt da schon was fertiges (Nominatim) was man “nur noch” installieren muß.

selbstverständlich! Ist nur eine Frage des Aufwandes.

Gruß
walter

Und zu welchen Objekten werden diese Angaben benötigt? Zu sämtlichen Adressen (hat OSM nicht) bzw. so vielen wie eben möglich/in OSM vorhanden oder nur zu ausgewählten Objekten (eigener Kundenbestand etc.)?

Irgendwie habe ich Zweifel am Sinn dieses Vorhabens, jedenfalls wenn eine der Varianten von “sämtliche Adressen” verwendet werden soll. Die wenigsten Straßennamen sind annhähernd eindeutig, zu Straßennamen wie Bahnhof-, Haupt-, Goethe- oder Jahnstraße dürften jeweils drei- bis vierstellige Anzahlen von Orten zusammenkommen. Umgekehrt bekommt man zu einer PLZ/Ort-Kombination in der Regel ebenfalls hunderte Straßennamen.
Ein Geocoder wie der bereits genannte Nominatim kann so etwas im Prinzip, aber eigentlich ist eine Suche mit derart unvollständigen Angaben nicht seine Aufgabe. Wahrscheinlich fährt man hier mit einer direkten Datenbankabfrage (nach entsprechender Aufbereitung des Datenbestandes) besser. Grundsätzlich ist die Aufgabe aber mit OSM-Daten zu lösen, wie ja bereits mehrfach geschrieben wurde.

Die Aussage bezieht sich auf DE, während der Fragesteller (u.a.) noch nicht spezifiziert hat, für welche Region er die Daten haben will (“Land, Bundesland, …” legt allerdings nahe, daß es um mehr als DE geht). In anderen Ländern als DE kann der Erfassungsgrad und Wartungszustand solcher Daten aber ganz anders aussehen.

Wow seid ihr hier aktiv. Danke für die vielen Rückmeldungen!

Das hier noch einige Daten fehlen oder falsch sind ist mir bewusst. Dummerweise habe ich hier keine andere Wahl. Gestern habe ich den kompletten Tag damit verbracht mir Angebote von kommerziellen Datenanbietern einzuholen und musste feststellen, dass diese einfach viel zu teuer sind. Ich würde dafür definitiv Geld in die Hand nehmen, aber bei Preisen von 20t€ pro Jahr aufwärts, ist meine Schmerzgrenze weit überschritten.

siehe oben…

[

Mit “wir” sind ich + plus 2 Kollegen gemeint. Die Idee ist ein privates Webprojekt wofür wir unter Anderem diese DB benötigen. Die Ressourcen sind also ziemlich begrenzt, da wir uns in die benötigten Bereiche erst einarbeiten müssen. Allerdings haben wir Zugriff auf Experten die sich in bestimmten Bereichen DB, PHP usw. auskennen. Da es eine private Spielerei von uns ist und keine Gewinnabsicht dahinter steckt, möchten wir natürlich auch keine Unsummen investieren. Ein bisschen Spielgeld ist allerdings vorhanden :wink:

Wir brauchen eine lokale Datenbank, über eine API wollen wir dies nicht realisieren.

Über Nomination bin ich gestern Abend ebenfalls gestolpert. Hört sich sehr interessant an und genau nach dem was ich suche! Ich denke ich werde die nächsten Tage mal einen virtuellen Server hochziehen und einen kleinen Bereich indexieren. Hast du da schon persönliche Erfahrungen mit sammeln können?

Ja, eigentlich wollten wir damit alle deutschen Adressen abdecken, eventuell sogar den kompletten deutschsprachigen Raum. Da, wie du sagst, dies OSM nicht bietet, sind wir eben gezwungen “nur” so viel wie möglich abzudecken… Blöd, aber an eine andere Möglichkeit glaube ich gerade nicht mehr. Falls du mir allerdings eine nennen kannst, immer her damit :slight_smile:

Was genau meinst du mit direkter Datenabfrage?

Ja, bei uns ist immer was los und mit den Antworten kann man (fast) immer was anfangen.

Nominatim braucht selbstverständlich auch eine lokale Postgresql-DB. Diese ist aber nicht zum Rendern (Karten zeichnen) geeignet, dafür bräuchte man eine 2. Postgresql-DB mit einem anderen Schema. ist aber letztlich nur eine Platzfrage. Und ob ihr überhaupt rendern wollt.

Persönliche Erfahrungen mit Nominatim? Ja, konnte es nicht installieren :frowning: Geht aber definitiv, war mir nur zu viel Aufwand.

Allerdings sind die Einwände von Oli-Wan bezüglich der Verwendbarkeit von Nominatim zu berücksichtigen.

“Direkte Datenbankabfrage” bedeutet wohl, daß Ihr eine eigene Nominatim-DB installiert. Nominatim kann/darf man für kleine Projekte per API von unseren Servern verwenden aber das wollt Ihr eh nicht.

Gruss
walter

Hallo Walter,

herrje, das hört sich nicht gut an. Ich bin auf diese Anleitung (http://wiki.openstreetmap.org/wiki/Nominatim/Installation) gestoßen und probiere es einfach mal blauäugig aus. :smiley: Hoffentlich habe ich mehr Glück… :stuck_out_tongue:

Ok, dann verstehe ich das mit der direkten Abfrage. Das habe ich mir schon so gedacht. Ich denke wenn wir ein funktionierendes Gerüst um unsere Daten haben kann ich jmd auftreiben, der uns dann die gewünschten Abfragen bastelt.

Ich halte euch auf dem laufenden. Aktuell installiert Ubuntu…

Falls noch wer Ideen, Kritik oder Sonstiges hat, immer her damit!

oberschlumpf

Wollt Ihr wirklich eine “Adressverifizierung” machen, also Adressen auf Existenz überprüfen, oder einfach nur, dass

Für letzteres halte ich Nominatim für ein bisschen zu gross. Das meiste Zeug davon braucht Ihr nicht. Die Hausnummer müsste z.B. man nicht vorschlagen, ausser man hat viele Kunden im gleichen Haus. Die “Wichtigkeit” von Städten ist auch egal und sämtliche geografischen Daten können Euch egal sein, ihr wollt ja die Adressen nicht orten, sondern nur sehen, ob sie zu einem bekannten (Str, PLZ, Ort)-Datensatz passen.

Ich würde mir eine “normale” OSM-Datenbank installieren, aus der gelegentlich ein paar Millionen Zeilen mit (Str, PLZ, Ort, Bundesland, Land) rausholen, das in eine eigene Datenbank stopfen und auf der dann weiterarbeiten.
Mit so einer deutlich verschlankten Tabelle käme man sicher leichter zurecht als mit Nominatim-API-aufrufen. Zumindest kann man damit leichter rumbasteln, ich denke z.B. an fehlertolerante Eingaben oder so…

Zum Extrahieren der Daten müssten Euch Leute helfen können, die Strassenlisten für eine Gemeinde erzeugen, vielleicht haben die auch irgendwo noch Codescherben rumliegen lassen, die man ausschlachten kann…

Grüße, Max

Bringt euch vielleicht noch der jeweilige Ansatz von Photon, Pelias oder Gisgraphy weiter?

siehe http://wiki.openstreetmap.org/wiki/Search_engines

oder wie vielleicht schon erwähnt die Auswerungen laut http://wiki.openstreetmap.org/wiki/Stra%C3%9Fenverzeichnis auf regio-osm.de ?

Etwa das, was maxbe schon erklärt hat. Ein Geocoder sucht auf Basis einer als String vorliegenden Adresse in einer Datenbank nach passenden Einträgen. Die Suchstrategie, nach der die Datenbankanfragen konstruiert werden, zielt aber typischerweise darauf ab, genau ein oder höchstens wenige am besten passende Ergebnisse zu finden, und setzt eine hinreichend spezifische Eingabe voraus - ziemlich genau das Gegenteil der skizzierten Anwendung (deren Sinn mir immer noch nicht wirklich klar ist). Daher würde ich eher versuchen, direkt per SQL auf eine geeignet indizierte Datenbank zuzugreifen, statt dies Nominatim (aut idem) zu überlassen. Wenn man ihn lieb fragt, zaubert Walter zu einer konkreten Eingabe sicher gerne ein Beispiel aus dem Hut.

Aha, im Training gewesen und Delegieren gelernt? :wink:

Nun ja, wenn es notwendig sein sollte, gerne her damit.

Gruss
walter

Faulheit mag erlernbar sein, aber meine ist angeboren.

Danke für den Link. Kann jemand von Euch praktische Erfahrungen über Photon, Pelian oder Gisgraphy berichten?

  • Wie einfach lässt sich das ganze in einer virtuellen Maschine installieren?
  • Welche Hardware-Anforderungen werden benötigt, um deutschlandweit Adressen zu geocoden?
  • Welcher der Geocoder liefert im Vergleich die besten Ergebnisse?

Andere Frage: hat jemand praktische Erfahrungen mit der Overpass-Api als Geocoder (lässt sich mWn ja auch lokal installieren)?

Anstelle eines solchen Berichts ein weiterer Link: http://www.sotm-eu.org/en/program und insbesondere der Hinweis auf folgenden Programmpunkt:

Nach meiner Erinnerung stand ganz oben vor kurzem noch Photon, aber augenscheinlich hat es da eine Änderung gegeben.

Ja, stimmt, leider musste Christoph Lingg absagen, und wir konnten keinen Ersatz-Redner zu Photon finden. Der Geocoding-Block wird also ein kleines bisschen kürzer ausfallen als gedacht.

Bye
Frederik