Meillo hat geschrieben: 17.10.2024 19:18:29
Es waere leichter fuer uns wenn du uns den kompletten Befehl inklusive Variableninhalt gibst ...
Hier ist die Overpass-Abfrage (aktualisiert und "aufgeräumt"). Bei Bedarf "Ausführen" klicken, um die Datenliste zu sehen; die schaut auszugweise o aus:
Code: Alles auswählen
@user|@uid|@timestamp|@changeset|@version
mya9999|600261|2015-01-27T13:56:59Z|28442739|1
mya9999|600261|2015-01-27T13:56:59Z|28442739|1
BeKri|14390|2016-04-11T09:05:05Z|38469952|1
Oberpfälzer|1244807|2017-05-23T19:34:55Z|48926468|1
...
Die URL für den CSV-Download erhält man auf der Overpass-Seite > Button "Export" > "Daten" > "Rohdaten direkt von Overpass API" (URL auslesen).
Das liefert
CODE1:
Code: Alles auswählen
https://overpass-api.de/api/interpreter?data=%2F%2F%20Overpass%20f%C3%BCr%20OSM-user%20in%20Region%20%28BoundingBox%29%0A%0A%5Bout%3Acsv%28%3A%3A%27user%27%2C%3A%3A%27uid%27%2C%3A%3A%27timestamp%27%2C%3A%3A%27changeset%27%2C%3A%3A%27version%27%3Btrue%3B%20%22%7C%22%29%5D%0A%5Bmaxsize%3A2147483648%5D%20%20%20%2F%2F%202%20GB%20statt%20Standard%20512%20MB%0A%5Btimeout%3A2500%5D%3B%0A%28%0Anwr%5B~%22%5Ebuilding%22~%22.%22%5D%2849.3%2C%2012.6%2C%2049.31%2C%2012.61%29%3B%0A%29%3B%0A%2F%2F%20print%20results%0Aout%20meta%3B%20%2F%2F%20this%20will%20get%20you%20the%20metadata%0A
Mein BASH-Script holt diese Daten per curl-Befehl in lokale Dateien für unterschiedliche Keys
und areas
Die Keys und areas sind als Variable im Script hinterlegt.
Für die URL möchte weitere Variablen mit "lesbaren" Inhalt anlegen, also statt vorstehendem Block
CODE1
den folgenden Block
CODE2:
Code: Alles auswählen
https://overpass-api.de/api/interpreter?data=// Overpass für OSM-user in Region (BoundingBox)
[out:csv(::'user',::'uid',::'timestamp',::'changeset',::'version';true; "|")]
[maxsize:2147483648] // 2 GB statt Standard 512 MB
[timeout:2500];
(
nwr[~"^building"~"."](49.3, 12.6, 49.31, 12.61);
);
// print results
out meta; // this will get you the metadata
Nun mit dieser Vorlage:
4A4B hat geschrieben: 17.10.2024 18:14:31
OK, mit der Option --url-query ist der Aufruf semantisch passender und tut auch das gleiche wie in meinem obigen Beispiel-Code:
Code: Alles auswählen
data='[maxsize:2147483648] // 2 GB'
curl --url-query data="$data" https://example.com/
Code: Alles auswählen
OverpassString="https://overpass-api.de/api/interpreter?data=// Overpass für OSM-user in Region (BoundingBox)
[out:csv(::'user',::'uid',::'timestamp',::'changeset',::'version';true; "|")]
[maxsize:2147483648] // 2 GB statt Standard 512 MB
[timeout:2500];
(
nwr[~"^building"~"."](49.3, 12.6, 49.31, 12.61);
);
// print results
out meta; // this will get you the metadata"
curl --url-query data="$OverpassString" --get --output "/mnt/Daten/Overpass.txt" https://overpass-api.de/api/interpreter
und ich erhalte wieder das
hier beschriebene (Nicht-)Ergebnis) ...