x

[Overpass Turbo]


  1. [Overpass Turbo] · Wetterauer (Gast) · 05.06.2022 13:02 · [flux]

    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?


    • Re: [Overpass Turbo] · fx99 (Gast) · 05.06.2022 15:45 · [flux]

      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.


    • Re: [Overpass Turbo] · Wetterauer (Gast) · 05.06.2022 16:24 · [flux]

      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. 😛


    • Re: [Overpass Turbo] · blaubaer11 (Gast) · 05.06.2022 16:30 · [flux]

      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.


    • Re: [Overpass Turbo] · mmd (Gast) · 05.06.2022 16:37 · [flux]

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


    • Re: [Overpass Turbo] · Wetterauer (Gast) · 05.06.2022 16:45 · [flux]

      mmd wrote:

      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?


    • Re: [Overpass Turbo] · mmd (Gast) · 05.06.2022 16:51 · [flux]

      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.


    • Re: [Overpass Turbo] · FraukeLeo (Gast) · 05.06.2022 18:06 · [flux]

      Ich würde hier etwas großzügig sein 🙂

      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 🙂


    • Re: [Overpass Turbo] · mmd (Gast) · 05.06.2022 19:03 · [flux]

      Also mit einer so aufgeweichten Definition kommen wir aus der Nummer "wir brauchen ein Handbuch für Programmierer" nicht mehr so einfach raus. 😎

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