Beispiel für eine Overpass-Abfrage

Seit Jahren nicht bearbeitete Objekte (out meta)

Mit out meta kommt jedes Ergebnis mit Version, Zeit und Benutzer seiner letzten Bearbeitung. Beispiel: Läden in Bern, die seit 2020 niemand bearbeitet hat.

Verlaufsabfragen gehören zu den Tarifen Medium und Large. Das Ergebnis unten läuft für diese Seite auf unserem Server.

Mit out meta; kommt jedes Element mit seiner Versionsnummer, der Zeit der letzten Bearbeitung, dem Benutzer, der sie gemacht hat, und dem Changeset. timestamp() macht die Zeit in Filtern verwendbar.

Diese Abfrage findet die Läden in Bern, die seit 2020 niemand bearbeitet hat: eine Liste für einen Rundgang, um zu prüfen, ob es sie noch gibt.

Die Abfrage

[out:json][timeout:60];
area["name"="Bern"]["admin_level"="8"]["wikidata"="Q70"]->.a;
nwr["shop"](area.a)(if:date(timestamp())<date("2020-01-01"));
out center meta;

Ausführen

Die Abfrage läuft…

Live-Ergebnis von overpass.ch, bis zu 12 Stunden zwischengespeichert. Kartendaten © OpenStreetMap-Mitwirkende (ODbL).

So funktioniert es

  1. Ein anderer Ort namens Bern hat ebenfalls admin_level 8. ["wikidata"="Q70"] wählt die Schweizer Bundesstadt.
  2. timestamp() ist die Zeit der letzten Bearbeitung. date(…) macht aus einer Zeit eine Zahl, damit sich zwei Zeiten vergleichen lassen.
  3. (if:date(timestamp())<date("2020-01-01")) behält die Läden, die zuletzt vor 2020 bearbeitet wurden.
  4. out center meta; ergänzt jedes Ergebnis um Version, Zeit und Benutzer; die Tabelle zeigt sie.

Varianten

  • Nach einem Rundgang hält ein Tag check_date mit dem Datum des Besuchs fest, dass es den Laden noch gibt.
  • Von einem Benutzer bearbeitet: (user:"…"). In einem Zeitraum geändert: (changed:"2025-01-01T00:00:00Z","2025-02-01T00:00:00Z"). Halten Sie den Zeitraum kurz: Über ein Jahr ging changed selbst bei einem kleinen Rahmen der Speicher aus.
  • Jede Version eines einzelnen Objekts: siehe alle Versionen eines Objekts.

Aus Ihrem Code ausführen

curl https://api.overpass.ch/v1/IHR_API_SCHLÜSSEL/interpreter \
  --data-urlencode 'data@query.overpassql'

Speichern Sie die Abfrage als query.overpassql. Sie funktioniert genauso in Overpass Turbo, QGIS und JOSM.

Weitere Beispiele

Alle Beispiele →