ich habe ein Projekt in der Planung bei dem es eine Karte mit POIs geben soll.
Die Adresse für die POIs stammen aus einer Datenbank. Um nun aber nicht bei jedem Aufruf der Karte hunderte von Anfragen zu schicken um die Geodaten zu bekommen habe ich mir überlegt, dass immer nur bei Adressen welche noch keine Geodaten haben eine Anfrage geschickt wird, d.h. es soll eine automatisierte Anfrage der Geodaten geben. Mit der Anfrage sollen dann die Geodaten wieder zurückübermittelt werden und ich wollte die Geodaten zu jeder Adresse in der Datenbank abspeichern. Somit würde ich je Adresse nur eine Anfrage haben und die Geodaten dann in meiner Datenbank abspeichern wo sie dann wiederum zur Anzeige der POIs in meiner Karte abgerufen werden.
Ist die vorgenannte Idee überhaupt umsetzbar? Wenn ja wie?
Trotz intensiver Suche hier im Forum habe ich zu o.g. Fragestellung nichts gefunden. Über Hinweise falls ich etwas übersehen habe bin ich dankbar.
Du machst eine Webanwendung, die POI darstellt. Die POI stehen in einer Datenbank, allerdings nur mit Adresse “Hauptstraße 7, 12345 Musterort”, oder “Hauptstraße 8, 55666 Musterhausen”.
Du willst die Koordinaten zu diesen Adressen (das nennt sich Geokodierung) holen. Dann willst du die Koordinaten bei dir in der DB abspeichern, so dass du immer nur die Adressen Geokodieren musst, die du noch nie vorher geokodiert hast.
Dann zeigst du die POI als Marker an, an der Geoposition die in deiner Datenbank steht.
Wir haben bei OSM einen Dienst, der das tut was du braucht, allerdings mit Abstrichen: nominatim.
Das du gleich an eine Verringerung der Last auf nominatim gedacht hast ist klasse!
Abstriche schrieb ich, weil wir in OSM nicht alle Adressen haben. Es kann sein, das wir nur die Straße haben, oder nur den Ort. Dann ist deine Geokodierung nicht genau.
vielen Dank für deine Ausführungen. Deine Zusammenfassung trifft meine geplante Vorgehensweise zu 100%.
Ich habe mir durchaus nominatim schon angeschaut. Allerdings habe ich die Möglichkeit der Rückgabe der Daten für die Geopisition nicht gefunden bzw. erkennen können. Kannst du mir hierzu weitere Informationen geben wie dies realisierbar ist?
ich habe mich mit Nominatim und XML intensiver beschäftigt. Ich weiß, dass meine Frage wahrscheinlich wenig mit osm/nominatim zu tun hat stelle sie hier aber trotzdem.
Ich habe im oberen Code meine Url aufgerufen und verarbeite die XML anschließend mit simplexml. Mit dem letzten Echo bekomme ich folgende Ergenis zurück: