x

Overpass turbo query


  1. Overpass turbo query · Aqua123 (Gast) · 03.05.2017 10:19 · [flux]

    Hallo zusammen,

    ich benötige für meine Bachelorarbeit die Standorte von Lebensmitteleinzelhändlern in Karlsruhe. Doch leider scheitere ich momentan an der Abfrage beim Overpass.

    Meine bisherige Überlegung sieht folgendermaßen aus:

    Da ich Lebensmitteleinzelhändler möchte verwende ich die Begriffe "shop=supermarket". Jedoch benötige ich nur Daten von bestimmten, wie z.B. Aldi und Edeka, daher habe ich in der Abfrage "name=Aldi" hinzugefügt.
    Daraus resultiert dann folgendes Ergebnis:
    /*
    This has been generated by the overpass-turbo wizard.
    The original search was:
    “shop= supermarket and name=aldi in karlsruhe”

    • /

    [out:json][timeout:25];
    // fetch area “karlsruhe” to search in
    {{geocodeArea:karlsruhe}}->.searchArea;
    // gather results
    (
    // query part for: “shop=supermarket and name=aldi”
    node["shop"="supermarket"]["name"="aldi"](area.searchArea);
    way["shop"="supermarket"]["name"="aldi"](area.searchArea);
    relation["shop"="supermarket"]["name"="aldi"](area.searchArea);
    );
    // print results
    out body;

    ;

    out skel qt;

    Jedoch bleibt die Karte leer...
    Meine Überlegung war nun, dass der Schlüssel "name" falsch ist?
    Kann mir dabei jemand bitte helfen?


    • Re: Overpass turbo query · hfst (Gast) · 03.05.2017 10:30 · [flux]

      Zumindest bei Aldi, Karlsruhe, Eichelbergstraße ist findet man name=ALDI. Unterscheidet Overpass Groß- und Kleinschreibung?


    • Re: Overpass turbo query · Aqua123 (Gast) · 03.05.2017 10:32 · [flux]

      Oh daran habe ich noch nicht gedacht, wenn ich ALDI schreibe, dann bekomme ich zumindest 4 Treffer, wobei es mehr sein müssten


    • Re: Overpass turbo query · Aqua123 (Gast) · 03.05.2017 10:40 · [flux]

      Mir fällt gerade auf, dass bei manchen noch "Süd" dahinter steht, kann ich in die ABfrage so gestallten, dass er nicht nur nach dem String "Aldi" sucht, sondern nach ALdi% wie bei SQL-Abfragen?


    • Re: Overpass turbo query · fx99 (Gast) · 03.05.2017 10:48 · [flux]

      http://wiki.openstreetmap.org/wiki/Over … ensitively

      Case insensitively

      You can also search case insensitively

      node["name"~"^Foo$",i]; /* finds "foo", "FOO", "fOo", "Foo" etc. */


    • Re: Overpass turbo query · Aqua123 (Gast) · 03.05.2017 10:52 · [flux]

      Dankeschön, ich glaube das hilft mir sehr weiter!
      Ich versuche es mal


    • Re: Overpass turbo query · fx99 (Gast) · 03.05.2017 10:53 · [flux]

      so tut es:
      [out:json][timeout:25];
      // fetch area “karlsruhe” to search in
      {{geocodeArea:Karlsruhe}}->.searchArea;
      // gather results
      (
      // query part for: “shop=supermarket and name=aldi”
      node["shop"="supermarket"]["name"~"aldi",i](area.searchArea);
      way["shop"="supermarket"]["name"~"aldi",i](area.searchArea);
      relation["shop"="supermarket"]["name"~"aldi",i](area.searchArea);
      );
      // print results
      out body;

      ;

      out skel qt;


    • Re: Overpass turbo query · Aqua123 (Gast) · 03.05.2017 10:59 · [flux]

      ja perfekt, nun zeigt es mir alle Aldis an, ich danke euch sehr!


    • Re: Overpass turbo query · Phoenix12 (Gast) · 04.05.2017 11:51 · [flux]

      Hallo Leute,

      ich will nicht gleich ein neues Thema aufmachen.

      Ich habe eine ähnliche Arbeit vor mir nur auf Baden-Württemberg Ebene und bedanke mich schon mal für die Hilfe, da dies mir auch ziemlich weiter geholfen hat.

      Allerdings habe ich noch zwei Fragen:

      1. Was bedeutet bei der Abfrage nach dem Namen dieses ",i" am Schluss und warum macht man es da?

      2. Wenn ich die Abfrage auf ["name"~"^aldi$", i] ändere erhalte ich weniger Aldi's als zuvor. Warum? Dachte es würde dazu führen, dass die Groß- und Kleinschreibung ignoriert wird.

      Grüße


    • Re: Overpass turbo query · poempelfox_forum (Gast) · 06.05.2017 22:41 · [flux]

      Phoenix12 wrote:

      2. Wenn ich die Abfrage auf ["name"~"^aldi$", i] ändere erhalte ich weniger Aldi's als zuvor. Warum? Dachte es würde dazu führen, dass die Groß- und Kleinschreibung ignoriert wird.

      Nein, gross/klein ignorieren macht das ',i'.
      Das ist ein regulaerer Ausdruck, und hinter dem komma kommen die flags, 'i' heisst ueblicherweise 'case Insensitive'.
      Im Ausdruck selbst matcht '^' auf den Anfang des Strings und '$' aufs Ende - '^aldi$' ist also sehr viel restriktiver als 'aldi', denn es matcht nur wenn vor und hinter dem Aldi nichts kommt.