osm_id vs. place_id

Hallo!

Ich möchte meine vorhandene Location-Datenbank mit einem Feld erweitern. Dieses soll die Id enthalten, die die entsprechende Location auf OSM hat.
Damit könnte ich dann Änderungen, die auf OSM passieren bei mir in der Datenbank nachziehen.

Nun habe ich gesehen, dass es je nach Abfrage-API eine
“node id” → http://api.openstreetmap.org/api/0.6/nodes?nodes=307367745,24924135
aber auch eine
“place_id” und “osm_id” → http://nominatim.openstreetmap.org/search?q=cafe+darmstadt&format=xml&polygon=0&addressdetails=1

zurückgeliefert werden.

Welche der Ids kennzeichnen denn eine Location auf OSM eineindeutig?

Ich suche auch noch einen schnellen Weg, wie ich die Locations, die ich schon in der DB habe, bei OSM wiederfinde um damit die OSM-Id herauszubekommen. Zu allen Locations habe ich zwar die Geokoordinaten, aber diese sind von mir selbst aufgenommen und dürften wohl in keinem Fall mit den genauen Geokoordinaten von OSM übereinstimmen. Hat jemand einen Tipp, wie ich da ansetzen könnte?

Vielen Dank,
Andi

Hi,

in der OSM-Datenbank sind die Dinge durch eine ID gekennzeichnet und können Knoten, Wege und Relationen sein. Es gibt für alles drei eigene IDs, es könnte also gleichzeitig einen Knoten Nr. 123 und einen Weg Nr. 123 und eine Relation Nr. 123 geben. Eindeutig ist ein Objekt also durch seine Art und seine Id.

Die place_id die Du bei Nominatim siehst ist was internes von Nominatim. Die haben ja das Problem, dass sie nicht einfach die IDs der Nodes übernehmen können, weil sie ja sowohl Wege (eine Kneipe als Gebäudeumriss) als auch Knoten (eine Kneipe als POI) abfragen müssen. Relationen haben die auch oft, weil Gemeindegrenzen oft so vorliegen und beim Suchen wichtig sind.

Welche Art von Datenbank hast Du denn? Ich würde nach “alle derartigen Locations im Umkreis von 30m um diese Position” suchen, das sollte eigentlich jede DB irgendwie können.

Grüße, Max