You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#1 2017-05-03 10:19:25

Aqua123
Member
Registered: 2017-05-03
Posts: 5

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"](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?

Offline

#2 2017-05-03 10:30:36

hfst
Member
Registered: 2013-08-31
Posts: 709

Re: Overpass turbo query

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

Offline

#3 2017-05-03 10:32:43

Aqua123
Member
Registered: 2017-05-03
Posts: 5

Re: Overpass turbo query

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

Offline

#4 2017-05-03 10:40:33

Aqua123
Member
Registered: 2017-05-03
Posts: 5

Re: Overpass turbo query

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?

Offline

#5 2017-05-03 10:48:14

fx99
Member
From: Baden-Württemberg
Registered: 2009-06-02
Posts: 1,930

Re: Overpass turbo query

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. */

Offline

#6 2017-05-03 10:52:17

Aqua123
Member
Registered: 2017-05-03
Posts: 5

Re: Overpass turbo query

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

Offline

#7 2017-05-03 10:53:38

fx99
Member
From: Baden-Württemberg
Registered: 2009-06-02
Posts: 1,930

Re: Overpass turbo query

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;

Last edited by fx99 (2017-05-03 10:54:05)

Offline

#8 2017-05-03 10:59:48

Aqua123
Member
Registered: 2017-05-03
Posts: 5

Re: Overpass turbo query

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

Offline

#9 2017-05-04 11:51:14

Phoenix12
New Member
Registered: 2017-05-04
Posts: 1

Re: Overpass turbo query

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

Offline

#10 2017-05-06 22:41:52

poempelfox_forum
Member
Registered: 2014-12-20
Posts: 64

Re: Overpass turbo query

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.

Offline

Board footer

Powered by FluxBB