Overpass-Turbo-Fragen

Hallo,

ich habe vor Jahren schon mal bei OSM mitgearbeitet, weiß aber mein Konto nicht mehr. Also habe ich mich neu angemeldet, hier diese Frage zu Overpass Turbo zu stellen. Ich würde gerne wissen, wie ich folgende Sachen herausbekomme:

a) alle power=substation die gleichzeitig landuse=residential tragen
b) alle landuse=industrial die einen Namen tragen (name=) von einem bestimmten User (z.B. http://www.openstreetmap.org/user/Nehaj))
c) landuses einer bestimmten Art (z.B. orchard) in einem Landkreis, die seit ihrer Anlage nicht verändert wurden (noch v1 sind)

Vielen Dank im Voraus! Wenn ich diese Frage am falschen Ort gestellt habe, dann sagt mir bitte, wo sie hingehören würde.

https://www.mapbox.com/osm-query/ habe ich schon ausprobiert, allerdings bekomme ich immer ein “Oops! Something went wrong…”

Grüße,
Jochen

Hallo,


/*
This has been generated by the overpass-turbo wizard.
The original search was:
“landuse=residential and power=substation”
*/
[out:json][timeout:25];
// gather results
(
  // query part for: “landuse=residential and power=substation”
  node["landuse"="residential"]["power"="substation"]({{bbox}});
  way["landuse"="residential"]["power"="substation"]({{bbox}});
  relation["landuse"="residential"]["power"="substation"]({{bbox}});
);
// print results
out body;
>;
out skel qt;

Gefunden indem ich im Overpass Turbo-Wizard “landuse=residential and power=substation” eingegeben habe.

Das ist wohl noch in der Implementierung; https://github.com/drolbr/Overpass-API/issues/219

b)

[out:json][timeout:25];

  way["landuse"="industrial"]
    ({{bbox}})
    (user:DEINUSER)
    ;

out body;
>;
out skel qt;

Edit: das bringt allerdings nur Objekte, die der User zuletzt angefasst hat.

Vielen Dank für a + b!

Es wäre gut, wenn Query by object version number irgendwann eingeführt wird.

Wobei bisher noch komplett offen ist, was überhaupt damit erreicht werden soll. Will ich (a) nur Objekte, die zu einem bestimmten Zeitpunkt eine bestimmte Version haben, oder (b) eine bestimmte Version eines Objektes, unabhängig vom Zeitpunkt. Das ist ein großer Unterschied.

Für (a) gibt es auch noch folgendes Issue: https://github.com/drolbr/Overpass-API/issues/367

Wie macht man eigentlich globale Abfragen (ohne bbox)?

Die Abfrage von gormo funktioniert online sehr gut, nur wenn ich sie in JOSM eingebe bekomme ich einen Fehler:

parse error: ] expected - power found.
[out:xml][timeout:50][bbox:{{bbox}}];
(
  node["landuse"="residential"]["power"="substation"];
  way["landuse"="residential"]["power"="substation"];
  relation["landuse"="residential"]["power"="substation"];
);
(._;>;);
out meta;

funktioniert, nur musste ich meine IP wechseln, um nicht mehr “rate_limited. Please check /api/status for the quota of your IP address.” zu bekommen

Globale Abfrage indem du die BBOX weglässt. Aber das ist bei vielen Sachen keine gute Idee, weil es zu viele Daten liefert.

…und komme nicht in die Versuchung, damit mechanische Edits zu machen / großräumig was zu ändern, ohne vorher zu diskutieren was und ob das sinnvoll ist.