Liebe Mitmapper, eine neue Version der Overpass API, Version 0.7.4 steht auf http://overpass-api.de zur Verfügung. Auf der Rambler-Instanz folgt das Update in den nächsten Tagen. Neben zahlreichen behobenen Bugs ist vor allem die Abfrage nach Ways und damit auch Relationen in kleinen Bounding-Boxen effizienter geworden. Damit sollte sich mit dem POI-Overlay-Prototyp http://overpass.apis.dev.openstreetmap.org/ jetzt zügig arbeiten lassen.
An Erweiterungen der Syntax gibt es zwei: Zum einen "global deklarierte Bounding-Boxen"; diese werde ich morgen genauer erläutern, wenn das korrespondierende JOSM-Plugin mirrored_download sich aktualisiert hat. Zum anderen der Differenz-Operator. Er dient dazu, Suchen der Art "alle Objekte die X haben/sind, aber nicht Y haben/sind" zu finden. Zum Beispiel hier alle Nodes, die einen Wert für "maxheight" gesetzt haben, aber nicht Teil einer Straße (d.h. eines ways mit Tag "highway") sind: http://overpass-turbo.eu/s/I6 // Neu in Overpass 0.7.4: Der Differenz-Operator [bbox:50.6,7.0,50.8,7.3]; ( node[maxheight]; // Alle Nodes mit irgendeinem Wert für "maxheight" - (way[highway];>;); // die nicht auf irgendeiner Form von Straße liegen ); out; Für den besonders häufigen Fall, dass es um "hat Tag X, aber nicht Tag Y" geht, empfehle ich weiterhin die bekannte Syntax mit "[...!~...]". Diese arbeitet effizienter als der Differenzoperator es kann. http://overpass-turbo.eu/s/I8 // Neu in Overpass 0.7.4: Der Differenz-Operator // // Wenn es bloß um nicht gesetzte Tags geht, sollten diese lieber // als Bedingung aufgelistet werden und nicht als Differenz-Operator. // Das funktioniert schneller [bbox:50.7,7.0,50.75,7.1]; ( way[highway=residential][name!~'.']; // Ways mit Tag "highway", aber ohne Tag "name". >; ); out; Alle Details zur neuen Version gibt es im Wiki: http://wiki.openstreetmap.org/wiki/Overpass_API/versions Viele Grüße, Roland _______________________________________________ Talk-de mailing list Talk-de@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-de