overpass-Turbo: Ergebnisse nach Änderungs- bzw Erstelldatum eingrenzen

Hallo,
ist es möglich eine Abfrage mit overpass-turbo auf Ergebnisse einzugrenzen die ab einen bestimmten Zeitpunkt geändert bzw. neu erstellt wurden?
Als Beispiel: Ich erstelle eine Abfrage die als Ergebnis sämtliche Briefkästen im gewählten Bereich in csv ergibt. Ich würde aber gerne nicht alle Briefkästen aufgelistet bekommen, sondern nur die, die in den letzten x-Tagen oder seit dem 01. März 2018 geändert oder hinzugefügt wurden.
Geht das und wenn ja, wie müsste ich die angehängte Beispiel-Abfrage ändern?

Vielen Dank für eure Hilfe.

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“amenity=post_box”
*/
[out:csv(::type,“name”,::type,“ref”,::lat,::lon,::id)][timeout:100];
// gather results
(
// query part for: “amenity=post_box”
node"amenity"=“post_box”;
way"amenity"=“post_box”;
relation"amenity"=“post_box”;
);
// print results
out body;

;
out skel qt;

Am besten baust du vor jedem ({{bbox}}) noch ein (newer: … ) ein, so wie hier beschrieben: https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#newer

Übrigens: Für CSV würde ich statt:


// print results
out body;
>;
out skel qt;

eher ein:


out center;

nehmen, sonst kommen da für Ways und Relations zu viele Zeilen mit beschränktem Nutzen zurück.

Hallo mmd,

leider hab ich da was falsch gemacht. Das Einkopieren von " newer… " brachte nur Fehlermeldungen.
Könntest Du mir vielleicht mal die Zeichenfolge (gerne auch mit dem zweiten Tipp) in mein Beispiel einfügen.

node._(newer:“2012-09-14T07:00:00Z”);

Danke schön.

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“amenity=post_box”
*/
[out:csv(::type,“name”,::type,“ref”,::lat,::lon,::id)][timeout:100];
// gather results
(
// query part for: “amenity=post_box”
node"amenity"=“post_box”;
way"amenity"=“post_box”;
relation"amenity"=“post_box”;
);
// print results
out body;

;
out skel qt;

Hier ein anderes Beispiel mit newer:

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“user:"wheelmap_visitor"”
*/
[out:json][timeout:25];
// gather results
(
  // query part for: “user:wheelmap_visitor”
  node(user:"wheelmap_visitor")(newer:"2017-08-18T07:00:00Z")({{bbox}});
  way(user:"wheelmap_visitor")(newer:"2017-08-18T07:00:00Z")({{bbox}});
  relation(user:"wheelmap_visitor")(newer:"2017-08-18T07:00:00Z")({{bbox}});
);
// print results
out body;
>;
out skel qt;

Grüße

Ich hatte schon befürchtet, dass das “node._” in der Doku verwirrend ist… das kann man einfach weglassen


[out:csv(::type, ::timestamp, "name", "ref",::lat, ::lon, ::id)][timeout:100];
(
  node["amenity"="post_box"](newer:"2018-03-01T00:00:00Z")({{bbox}});
  way["amenity"="post_box"](newer:"2018-03-01T00:00:00Z")({{bbox}});
  relation["amenity"="post_box"](newer:"2018-03-01T00:00:00Z")({{bbox}});
);
out center meta;

Danke schön,
das hilft mir richtig weiter :wink:

Ein Problem dabei ist gemein: wenn man alle Punkte eines Weges von Hintertupfingen nach Tokio verschiebt, dann ist das keine Änderung des Weges … nur eine Änderung der Punkte.

…eine Frage hätte ich dann doch noch. Kann ich das Änderungs- bzw. Erstelldatum des Node auch abfragen und in der csv-Ergebnisliste anzeigen lassen und wenn ja wie?

Sollte dabei

[out:csv(::type, ::timestamp, "name", "ref",::lat, ::lon, ::id)][timeout:100];
(
  node["amenity"="post_box"](newer:"2018-03-01T00:00:00Z")({{bbox}});
  way["amenity"="post_box"](newer:"2018-03-01T00:00:00Z")({{bbox}});
  relation["amenity"="post_box"](newer:"2018-03-01T00:00:00Z")({{bbox}});
);
out center meta;

(::timestamp) schon herauskommen.

Hallo fx99,
danke für die Hilfe. Da war ich bei meinen Versuchen gar nicht so weit vom richtigen Weg entfernt. Deine Abfrage klappt genauso wie ich es mir vorstelle und bringt dieses Ergebnis:

@type name ref @lat @lon @id @timestamp
node 51.1171178 7.3978749 304688945 2012-03-03T21:37:05Z
node 51.1166259 7.3926558 304689041 2014-03-09T14:43:24Z
node 51.1148469 7.3961256 529936339 2014-04-12T08:46:46Z
node 51.1132602 7.3852318 529939193 2012-03-03T23:19:36Z

Füge ich hingegen :: timestamp in eine andere Abfrage ein bleibt die Ergebnisspalte leer.
Hier ein Beispiel für eine Abfrage:

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“amenity=post_box in Velbert”
*/
[out:csv(::type, ::timestamp, “name”, “ref”,::lat, ::lon, ::id)][timeout:100];
// fetch area “Velbert” to search in
{{geocodeArea:Velbert}}->.searchArea;
// gather results
(
// query part for: “amenity=post_box”
node"amenity"=“post_box”;
way"amenity"=“post_box”;
relation"amenity"=“post_box”;
);
// print results
out body;

;
out skel qt;

bringt dann folgendes (gekürztes) Ergebnis: Die Spalte für timestamp bleibt leer.

@type @timestamp name ref @lat @lon @id
node 51.3317206 7.0530839 305437863
node 51.3472114 7.0143054 357160139
node 51.3488467 7.0922387 364519515
node 51.3387600 7.0897179 364522606
node 51.3183874 7.1342057 364639026
node 51.3287033 7.0614361 370056877
node 51.3651871 7.1072681 372878315
node 51.3730552 7.1356737 372886693
node 51.3656751 7.1189051 443359712
node 51.3139560 7.0669360 459832277
node 51.3520145 7.1132411 528219719
node 51.3319438 7.0453154 608523770
node 51.3020322 7.0906673 622123322

Ich hab mir alles mehrfach angesehen, weiß aber immer noch nicht wo mein Denkfehler liegt :confused:

“meta” in “out center meta;” oder Ähnlichem ist der Schlüssel.
timestamp gehört zu den Metadaten und wird nur mit “meta” ausgegeben.

Juhu,
das war´s. Vielen Dank und schönes Wochenende