Overpass turbo query

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”;
way[“shop”=“supermarket”]“name”=“aldi”;
relation[“shop”=“supermarket”]“name”=“aldi”;
);
// 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?

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

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

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?

http://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL#Case_insensitively

Case insensitively

You can also search case insensitively

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

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

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;
way[“shop”=“supermarket”]“name”~“aldi”,i;
relation[“shop”=“supermarket”]“name”~“aldi”,i;
);
// print results
out body;

;
out skel qt;

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

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

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.