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

Antwort per Email an