Implementierung für Objekt-Update via REST in PHP?

Natürlich kann man sich den Kram auch eben selber zusammencoden. Changeset auf, Daten rein, Changeset wieder zu. Getesteter Code wäre mir aber eigentlich lieber, wenn ich geänderte oder neue Objekte aus der eigenen PostGIS-Datenbank wieder in die OSM zurückschieben will. Gibts da irgendwas in PHP schon fertig?

Was fertiges ist mir nicht bekannt, aber hier zimmert jemand dran:

https://github.com/pwaring/php-osm-api

Etwas weiter fortgeschritten dies hier:

http://lists.openstreetmap.org/pipermail/dev/2009-December/017793.html

Bitte aber unbedingt bei jeder Art von automatischem Edit diese Wikiseiten beachten:

http://wiki.openstreetmap.org/wiki/Automated_Edits/Code_of_Conduct
http://wiki.openstreetmap.org/wiki/Data_working_group/Mechanical_Edit_Policy

Letzteres ist eine deutlich strengere Version des ersten, die aber noch nicht “verabschiedet” ist. Die wichtigsten Punkte auf Deutsch:

  • Automatische Edits muessen immer vorher mit der Community besprochen werden
  • Sie sind gut zu dokumentieren
  • Wenn sich jemand beschwert, muss man sie wieder zuruecknehmen

Bye
Frederik

Danke, das guck ich mir mal an! Wenn Wheelmap und Amenity-Editor das dürfen dann darf ich das auch. Spart den Umweg über Potlatch und ist ohne Flashkram auch viel schneller ein HTML-Formular für die Sachdaten zu nehmen.

Kurz draufgeguckt: Riesenbimbamborium mit Zend-Framework, kann aber nur Daten laden. Und dann auch nur Nodes. Sowas kann man mit drei Zeilen curl-Aufruf machen. Vielleicht auch besser so für die DB wenn es das nicht fertig gibt.
In Deinem Buch wird osmosis für den Abgleich zwischen PostGIS und der OSM-DB erwähnt, das ist Plan B und guck ich mir auch noch mal an. Wäre eh eleganter.

Sackgasse: Du kommst nicht mit osmosis an die Live-DB ran - und das ist auch gut so.
Dafür gibt es nur -in begründeten Ausnahmefällen - die API. (nicht zu verwechseln mit der XAPI, die nur read-only ist).

Gruss
Walter

Wenn wie der Amenity-Editor eine ordentliche OAuth-Authentifizierung machst, d.h. die Leute, die Dein Webformular benutzen, alle ihren eigenen OSM-Account haben und unter dem wird dann gearbeitet, dann ist das in der Tat kein Problem.

Wenn Du aber alles unter einem Sammelaccount hochladen willst und das vorher nicht gut abklaerst, dann besteht die Gefahr, dass das irgendwann komplett revertiert wird. Also lieber vorher zu viel drueber reden als zu wenig.

Bye
Frederik

Ich sehe regelmäßig Edits von wheelmap_visitor - dort scheint offensichtlich auch ein eigener API-Zugriff zu laufen. Ich meine auch dass es da noch so eine vor einiger Zeit geheisete Gastromap gibt wo das auch so gehandhabt wird.
Mir gehts darum, bei bestimmten Features (POIs) ganz bestimmte fehlende Sachdaten (Tags) in ein Formular ergänzen oder korrigieren zu können.
Das ganze liegt hier auch schon fast fertig auf der Platte, nur fertiger Code den jemand anders wartet nehm ich noch lieber.

Das ist richtig, und es gibt regelmaessig Leute, die verlangen, dass man das (a) untersagt und (b) alles reverted. Der einzige Grund, warum die Wheelmap nicht massiv Aerger deswegen bekommt, ist, dass man dort weder Objekte loeschen noch neu hinzufuegen kann und auch keine beliebigen Eigenschaften oder Werte erfassen, sondern nur ein einziges Tag zu existiernden Objekten auf einen von drei Werten setzen kann. Es ist also selbst bei boesem Willen kaum moeglich, (a) gegen das Copyright von anderen zu verstossen, indem man dort Daten einspielt, oder (b) irgendwelche “Schmierereien” a la “wheelchair=Egon ist doof” in der Datenbank unterzubringen.

Trotz dieser Massnahmen wird immer noch Kritik an den Edits von “wheelmap_visitor” geaeussert, vor allem deswegen, weil die Menschen, die diese Edits machen, fuer uns nicht erreichbar sind.

Daraus, dass einige Leute gegen Regeln verstossen, folgt nicht das Recht aller, das ebenfalls zu tun.

Es ist sehr wahrscheinlich, dass jede weitere Applikation, mit der man anonym Daten bei OSM einkippen kann - auch wenn es nur beschränkt ist wie bei wheelmap - den Druck erhoeht, dass komplett und generell und ohne Ausnahmen zu untersagen.

Meine Empfehlung waere, das ganze wie der Amenity Editor mit einem OAuth-System aufzuziehen; auf diese Weise waerst Du auf jeden Fall zukunftssicher. (Bei der Wheelmap ist das uebrigens auch so - sobald man in den “ich will mehr als nur das wheelmap-Tag auf rot/gruen/gelb setzen”-Modus geht, braucht man einen Account und OAuth.) Das ist zwar ein bisschen mehr Aufwand beim Implementieren und liegt vermutlich noch nicht fertig bei Dir auf der Platte, aber dafuer hat es dann auch Hand und Fuss.

Bye
Frederik

Das seh ich aber auch alles so. Seinerzeit war ich auch erstaunt, dass bei dem AE jeder eben was reintun konnte, mittlerweile ist da auch auch OAuth zur Pflicht geworden. So etwas schickes wie OAuth müsste es auch noch nicht mal sein, Login/Passwort würds bei mir schon tun.
Der zweite Link von Dir führte dann übrigens hierhin: http://git.openstreetmap.nl/index.cgi/phposm.git/tree/ - das ist richtig schick! Das ist schon so abstrahiert dass man mit dem API fast gar nichts mehr zu tun hat. Werd ich mir mal genauer angucken.