Beispiel für eine Overpass-Abfrage

Alle Versionen eines Objekts (timeline)

Die Versionen eines Elements mit timeline auflisten und jede mit retro abrufen: Tags, Position, Zeit und Benutzer. Beispiel: der Gipfel des Matterhorns.

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

timeline liefert einen Eintrag pro Version eines Elements, mit der Zeit, zu der sie entstand und ersetzt wurde. retro führt Anweisungen an einem anderen Datum aus. Zusammen ergeben sie jede Version mit ihren Tags.

Diese Abfrage listet die Versionen des Nodes auf dem Gipfel des Matterhorns.

Die Abfrage

[out:json][timeout:60];
timeline(node, 26863664);
for (t["created"]) {
  retro (_.val) {
    node(26863664);
    out 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. timeline(node, 26863664) erzeugt pro Version ein timeline-Element mit den Tags refversion, created und expired.
  2. for (t["created"]) geht die Versionen durch; _.val ist die Zeit, zu der die Version entstand.
  3. retro (_.val) { … } führt den Block zu dieser Zeit aus; node(26863664) liefert also die Version dieses Zeitpunkts.
  4. out meta; gibt sie mit Versionsnummer, Zeit, Benutzer und Changeset aus.
  5. Die Geschichte beginnt mit der Version, die am 12. September 2012 aktuell war, hier Version 16 von 2011. Seither wurde der Name 2015 zu Cervino geändert und zwei Wochen später zurück, und im Juli und August 2023 wurde der russische Name neunmal entfernt und wieder ergänzt.

Varianten

  • Nur die Liste der Versionen: timeline(node, 26863664); out; ist klein und schnell.
  • Wer es zuletzt bearbeitet hat: node(26863664); out meta;.
  • Ways und Relationen funktionieren gleich: timeline(way, …) und timeline(relation, …). Die ID steht in der Adresse des Objekts auf openstreetmap.org.

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 →