[Overpass Turbo]

Und die nächste Frage:

Viele meiner Abfragen sehr so ähnlich aus:

{{geocodeArea:Wetteraukreis}}->.searchArea;


(
  node[shop=supermarket](area.searchArea);
  node [food=regional_produce](area.searchArea);

);

out meta;
>;
out meta qt;

Machmal ergibt es sich aber, dass ich keine definierte Area habe, sonder mit {{bbox}} arbeiten möchte. Bei 2 Abfragen kann man das schnell editieren. Es wäre aber einfacher, wenn man das so umschalten könnte:



// {{geocodeArea:Wetteraukreis}}->.searchArea;
{{bbox}}->.searchArea;


So wie oben ist es aber falsch. Gibt es eine funktionierende Variante?

Ist wahrscheinlich nicht genau was Du haben willst, tut aber etwas Ähnliches:

[out:json][timeout:25]
// [bbox:{{bbox}}]
;
{{geocodeArea:Deutschland}}->.searchArea;
{{geocodeArea:Kirchzarten}}->.searchArea;
(
  way["highway"="cycleway"](area.searchArea);
);
// print results
out body;
>; out skel qt;

Entweder die Zeile [bbox:{{bbox}}] oder die Zeile {{geocodeArea:Kirchzarten}}->.searchArea; auskommentieren,
dann wirkt jeweils die andere.

Eigentlich habe ich genau das gesucht.
Gibt es eigentlich außer dem Wiki ein brauchbares Handbuch für Programmierer. Overpass ist jetzt die nte Programmiersprache die ich verwende. Und sie scheint ziemlich mächtig zu sein. Aber immer wenn ich etwas Spezielles suche (siehe oben), stehe ich wie der Ochs vorm Berge und finde keine Lösung. Irgendwie schade und auch frustrierend.

Aber für diese Lösung DANKE und bis zur nächsten Frage. :stuck_out_tongue:

Hallo,
ich gehe einen anderen Weg. Ich speichere jede meiner Abfragen einfach unter meinem osm.org-Konto.
Da Du Deine Abfrage jetzt sowieso einmal anpassen musst kannst Du hier beide Versionen speichern und sparst Dir den Arbeitsschritt des wechselseitigen auskommentierens bei den nächsten Nutzungen.

Ich denke, wir bleiben am besten dabei, dass Overpass QL eine Abfragesprache ist und sich nicht (primär) an Programmierer richtet.

Dann muss Du mir mal deine Definition von Programmier erklären. Werde Overpass Turbo programmiert ist für mich ein Programmierer.
Und was ist der Unterschied zwischen Abfragesprache und Programmiersprache?

Das wäre der Unterschied zwischen https://de.wikipedia.org/wiki/Datenbanksprache bzw. https://de.wikipedia.org/wiki/Abfragesprache und https://de.wikipedia.org/wiki/General_Purpose_Language

Overpass QL ist definitiv nicht turing-vollständig, und fällt damit aus der letztgenannten Kategorie heraus.

Overpass Turbo ist auch keine Sprache, das ist nur der Name für das Web Frontend. Die Abfragesprache heißt wie schon erwähnt “Overpass QL”. Genug Klugscheiß für heute. Ich bin raus.

Ich würde hier etwas großzügig sein :slight_smile:

Im engeren Sinne wird natürlich unterschieden zwischen Programmiersprachen (in denen man komplexe Probleme verarbeiten und aus beliebigen Eingaben nach frei formulierbaren Regeln beliebige Ausgaben erzeugen kann, das Stichwort der Turing-Vollständigkeit wurde schon erwähnt) und den “einfacheren” Sprachen wie Abfragesprachen, die eine Datenbankabfrage formulieren und Daten selektieren können, aber z.B. mit dem Satz des Pythagoras überfordert wären; Auszeichnungssprachen (z.B. HTML), die gar kein Programm im Sinne einer rechnerischen Datenverarbeitung ermöglichen, sondern nur eine semantische Gliederung eines gegebenen Inhalts darstellen, und so weiter.

Für einen (nicht abwertend gemeint) normalen Computer-Anwender ist alles “programmieren”, was über Klicken hinausgeht. Also wo man Code zu schreiben und sich an eine Syntax zu halten hat und Fehler produzieren kann, über die man sich dann ärgert. Ja, das ist kein Programmieren im wissenschaftlichen Sinn, aber es wird als solches empfunden :slight_smile:

Also mit einer so aufgeweichten Definition kommen wir aus der Nummer “wir brauchen ein Handbuch für Programmierer” nicht mehr so einfach raus. :sunglasses:

Immerhin gibt es schon ein Benutzerhandbuch https://dev.overpass-api.de/overpass-doc/de/index.html - vielleicht hilft das weiter fürs erste.