[gelöst] [overpass] exklusives UND

Ich glaube ich habe Tomaten auf den Augen … ich suche das exklusive UND, d.h. ich will nach Nodes suchen, welche addr* UND building, aber KEINE anderen weiteren Tags mehr haben.

Das geht m.E. (nur) mit den “tag count”-Filtern:

node({{bbox}})[name](if:count_tags() == 1);
out geom;

Siehe wiki: https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_API_by_Example#Nodes_with_exactly_one_specific_tag

Die Antwort passt nicht so recht, da nicht klar ist, wieviele addr*-Tags existieren, d.h. mit reinem Zählen kommt man nicht wirklich weit.

M.E. geht das nur mit negative Lookahead, was wiederum nicht offiziell unterstützt wird. Probier mal, ob folgendes Beispiel funktioniert: http://overpass-turbo.eu/s/vTH. Es filtert die Ways mit ausschließlich addr* und nur building* heraus.

Das müsste man noch etwas nachjustieren, damit da nur building erkannt wird, ohne building:use und ähnliches. http://overpass-turbo.eu/s/vTJ ist mir noch zu kompliziert…

Mehr Infos: https://github.com/drolbr/Overpass-API/issues/332#issuecomment-284742800

Danke, das ist schon ziemlich genau das was ich gesucht habe … nur eben mit Nodes, siehe auch das beschriebene “Problem” unter Anzahl Gebäude in Deutschland. So etwas “großflächiges” macht sich in MapRoulette Challenges nicht unbedingt gut, da ja die Tasks zufallsmäßig irgendwo anders hinspringen.

Nachtrag: aber letztendlich ist es auch immer noch nicht das richtige, weil eigentlich müsste man für die Aufgabenstellung ja nach einem building-Node innerhalb eines building-Ways suchen.