You are not logged in.
- Topics: Active | Unanswered
Announcement
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-01 12:10:12
- AB-inf-x-chg-AB
- Member
- Registered: 2016-12-17
- Posts: 843
Overpass Abfrage (Hauptschlüssel ohne zwei Unterschlüssel)
Hallo Zusammen,
ich hätte gerne die Option einem Hauptschlüssel zu finden bei dem aber zwei Unterschlüssel fehlen.
Zum Beispiel, finde alle Restaurants für die noch keine Öffnungszeiten-Eigenschaft und auch noch keine Eigenschaft für die Küchenart angeben ist.
Im Wizard des overpass-turbo habe ich für dieses Beispiel folgende Syntax eingegeben:
amenity=restaurant and opening_hours!=* and cuisine!=*Die Abfrage sieht dann so aus:
http://overpass-turbo.eu/s/oKQ
Irgendwie wird aber der erste Ausschluss (ohne Öffnungszeit) mit dem zweiten Ausschluss (ohne Küchenart) nicht kombiniert.
Gibt es dafür eine Lösung?
Danke & viele Grüsse
AB
PS: Ist die Betreffzeile des Threads vom Sinn her brauchbar, oder könnte man die Frage mit einer optimaleren Überschrift versehen?
Hier führt der Weg zum anderen Informationskanal (mailing list talk-de@openstreetmap.org):
http://gis.19327.n8.nabble.com/Germany-f5281960.html
Offline
#2 2017-05-01 12:16:21
- mmd
- Member
- Registered: 2010-11-06
- Posts: 2,150
Re: Overpass Abfrage (Hauptschlüssel ohne zwei Unterschlüssel)
Irgendwie wird aber der erste Ausschluss (ohne Öffnungszeit) mit dem zweiten Ausschluss (ohne Küchenart) nicht kombiniert.
Kannst du das mal an einem konkreten Beispiel festmachen und dafür beschreiben, was du erwartest und was du wirklich vorfindest?
Last edited by mmd (2017-05-01 12:18:31)
Offline
#3 2017-05-01 12:17:58
- Harald Hartmann
- Member

- From: 98667 Schönbrunn
- Registered: 2014-04-02
- Posts: 3,123
- Website
Re: Overpass Abfrage (Hauptschlüssel ohne zwei Unterschlüssel)
Hmm, ich glaube da habe ich noch eine Nachfrage zum Verständnis. So wie du es ge-/beschrieben hast und so wie du die Abfrage formuliert hast, passt es doch?!
Zumindest finde ich mit deiner Abfrage alle amenity=restaurant bei denen weder Öffnungszeiten noch Küchenart getaggt sind, also "beides" fehlt.
Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD
Offline
#4 2017-05-01 12:52:50
- AB-inf-x-chg-AB
- Member
- Registered: 2016-12-17
- Posts: 843
Re: Overpass Abfrage (Hauptschlüssel ohne zwei Unterschlüssel)
@Harald, stimmt Du hast recht hier passt es ja :-) Das hatte ich hier gar nicht so im Detail kontrolliert :-(
@mmd, ich hatte aber letztens mal so eine Situation bei der es irgendwie nicht gepasst hat. Es war ein anderer Hauptschlüssel und andere Unter-Eigenschaften im Spiel. Muss mal überlegen, ob ich das wieder zusammenbekomme, oder ggf. dazu noch eine Notiz finde. Das kann aber etwas dauern. Vielleicht war die Logik zuletzt auch etwas anders. Mal sehen, ob ich das später nochmal rekonstruiert bekomme.
Bin ja schon froh, dass es hier beim Restaurant-Beispiel funktioniert.
AB
Hier führt der Weg zum anderen Informationskanal (mailing list talk-de@openstreetmap.org):
http://gis.19327.n8.nabble.com/Germany-f5281960.html
Offline
#5 2017-05-01 12:56:28
- Harald Hartmann
- Member

- From: 98667 Schönbrunn
- Registered: 2014-04-02
- Posts: 3,123
- Website
Re: Overpass Abfrage (Hauptschlüssel ohne zwei Unterschlüssel)
Solange du nichts anderes wolltest, z.B. alle Restaurant wo mindestens eins der beiden Untermerkmale getaggt ist bzw. fehlt*, dann passt's ja.
*
amenity=restaurant and (opening_hours!=* or cuisine!=*)Mein aktives Gebiet: Gemeinde Schleusegrund
Fingerprint meines Schlüssels: 71F7 3CD9 B647 9079 6B88 326E 8B8B 72AE 34F9 5AAD
Offline
#6 2017-05-02 08:40:42
- Graf Westerholt
- Member
- Registered: 2017-01-27
- Posts: 92
Re: Overpass Abfrage (Hauptschlüssel ohne zwei Unterschlüssel)
amenity=restaurant and opening_hours!=* and cuisine!=*
Das wird so ausgewertet, dass alle Anforderungen erfüllt sein müssen. Ich nenne diesen Fall mal einfacher
A und B und CEs werden ja alle POI gefiltert, nach amenity=restaurant. Ist ein POI mit amenity=restaurant getaggt, wäre für diesen POI diese Aussage wahr. Man kann wahr auch mit 1 darstellen, entsprechend falsch mit 0. Für einen POI ohne amenity=restaurant, also z.B. amenity=cafe, wäre die Aussage falsch, amenity=restaurant trifft ja nicht zu.
Damit bei Overpass-Turbo etwas angezeigt wird, muss die Formel A und B und C zu 1 ausgewertet werden können, also A=1, B=1, C=1. Sie sind durch und verbunden, also A muss wahr sein, B muss wahr sein und C muss wahr sein. Bei einem POI, der mit amenity=restaurant und cuisine=* getaggt ist, trifft Formel C nicht zu, da die Anforderung ist, dass cuisine nicht gesetzt ist. Mit gesetzter cuisine=* wird die Aussage cuisine!=* zu 0 ausgewertet, da sie nicht zutrifft. Da C=0 ist, wird der ganze Ausdruck 0, egal was A und B sind.
Beispiel-POI:
amenity=restaurant := 1
cuisine=asia := 0
Dann ist der ganze Ausdruck 0 und der POI wird nicht angezeigt.
amenity=restaurant := 1
opening_hours=Mo-Su,PH 10:00-22:00 := 0
Dann ist der ganze Ausdruck 0 und der POI wird nicht angezeigt.
Die Reihenfolge von A, B und C ist hier egal, C und A und B bzw. B und C und A sind dazu äquivalent.
Bei
amenity=restaurant and (opening_hours!=* or cuisine!=*)ist der Unterschied, dass man or verwendet, also A und (B or C). B or C wird dann wahr, wenn eine der beiden Aussagen wahr ist. Also wenn man statt B und C Werte (0 oder 1) verwendet, ist 0 or 0 = 0 und alle anderen Fälle 1. Das heißt, wenn entweder opening_hours oder cuisine nicht gesetzt ist, wird A oder B wahr. Wenn dann noch amenity=restaurant gesetzt ist, wird die ganze Aussage wahr.
Beispiel-POI:
amenity=restaurant := 1
cuisine=asia := 0
Da opening_hours nicht gesetzt ist, wird die Teilformel (B oder C) wahr, und dann ist A und 1 wahr. Entsprechend mit opening_hours.
https://de.wikibooks.org./wiki/Einführung_in_die_Logik:_Aussagenlogik
Das Wichtigste beim kartografieren: immer das Wiki gut studieren.
Offline