ich habe einen Parser in php geschrieben, der Adressen per Nominatim in Geo-Koordinaten umsetzt. Hat prima funktioniert. Damit ich die Scriptlaufzeit bei vielen Adressen nicht überschreite, ruft sich das Script immer wieder selber auf. Dann habe ich eine Testdatenbank genommen und versucht, je 10 Sekunden 30 Adressen über Nominatim abzufragen. Das hat bis ca. 1000 Adressen funktioniert und anschließend erhalte ich (bei laufendem Script, also ganz sicher ohne Änderungen im Script) keinen Rückgabewert mehr bei Nominatim.
Gibt es da irgendeine Begrenzung, in die ich hinein gelaufen bin?
Jups. Habs ausprobiert. Script läuft von anderem Server einwandfrei.
Und wie komme ich von der Nomanitim-Spamlist weider runter? Oder geht das automatisch nach n Stunden oder so?
Gar nicht, denke ich. Wegen Leuten wie dir, die unsere Server missbrauchen, braucht die.OSMF Spenden.
Derzeit läuft eine Spendenkampgne. Geh auf donate.openstreetmap.org, spende 250 Euro und bitte im öffentlichen Spendenkommentar um Entschuldigung und gib dort deine IP-Adressen an
Der Nominatim-Server hat genug zu tun mit den Anfragen aus dem normalen Betrieb, da ist es nicht erwünscht, dass Leute in Massen per Skript ihre Adresslisten geokodieren. Damit verbraucht man zu viele zentrale Server-Ressourcen. Aber Nominatim ist ja Open Source, d.h. man kann sich die Software selber installieren, einen Datensatz herunterladen und importieren, und dann geocodieren, bis einem schummrig wird http://wiki.openstreetmap.org/wiki/Nominatim/Installation
, d.h. je nach Anwendungsfall kann Kolibri schon eventuell die zentrale Instanz nutzen, wenn sie ihren Client repariert. Oder das Wiki ist an der Stelle falsch und muss angepasst werden.
…und könntet ihr bitte zu OSM-Anfängern freundlich sein? Anfänger heißen Anfänger, weil sie grade mit etwas anfangen. Das impliziert, dass man eventuell noch nicht das ganze Wiki durchgelesen hat
Kostenlos heißt nicht ohne Limit. Siehe Google & Co. Die sind auch (erstmal) kostenlos, haben aber auch Nutzungsbedingungen. Nach denen sollte man immer suchen, wenn man eine API anzapft. Ansonsten kriegt man halt eine ziemlich auf den Deckel.
Ich persönlich habe nur ein beschränktes Mitleid mit Leuten, die unsere Dienste missbrauchen. Newbie hin oder her.
Btw, es gibt Ideen, eine Art Bot-Abwehr-Schild zu entwickln, dessen Erkennungsregeln von den verschiedenen Betreibern kostenloser OSM-basierter Dienste gespeist werden. Sprich, wenn einer die Nominatim-API ärgern würde, würde seine IP bei Betreibern anderer Dienste auf der Greylist landen (d.h. prophylaktisch gedrosselt werden). Das ist aber bloß eine vage Idee, die auf Konferenzen schon durch den Raum gegeistert ist, von einer Implementierung weiß ich noch nichts. Sozusagen eine Vorstrafenregister für Bots.
Wenn jemand anfragt, weil sie etwas “für der Prof” machen soll, dabei sich an Georeferenzierung rantastet (“Das Ganze müßte nicht einmal wirklich laufen, ich würde nur gerne den Weg dahin beschreiben. (also reine Theorie, das würde schon reichen)”) und danach Nominatim in die Knie zwingt, kann ich auch schon mal knatschig werden.
Insbesonders da ich meine “Arbeiten für den Prof” später in einem mir damals unbekannten Drittmittel-Projekt wiedergefunden habe.
Also, nachdem meine gebannte IP jetzt weider frei ist, mache ich den Fehler nicht mehr. Ich wußte es einfach nicht besser.
Worauf ich eigentlich hinaus wollte, war, eine Karte darzustellen, die Marker innerhalb von einem Kreis mit einem Radius setzt.
Kreis und Radius setzen geht. Marker setzen auch.
Was mir fehlte, waren
Viele Koordinaten (deshalb dachte ich, es wäre einfach, eine Adress-DB in Koordinaten umzuwandeln)
Der Rest, also die Programmierung “Welche Punkte befinden sich in dem Radius”
Hintergrund, warum ich das überhaupt machen wollte, ist die Frage, welche Vorteile können bei der Benutzung von Geodaten webbasierte Systeme bieten. Ich finde, daß gerade das dezentrale Erfassen von Geodaten (welches ich durch die Geocodierung der DB simmulieren wollte) ein großer Vorteil ist.