Overpass Query liefert Fehler in JOSM (2)

Wieder dieses Thema, da die bisherigen Lösungen von @aTarom und @GerdP hier nicht wirken, Overpass Ergebnis ist OK, JOSM sagt “Keine Daten in diesem Gebiet …”

area["name"="Freising"]->.de;
area[postal_code="85356"]->.plz;
(nwr(area.plz)(area.de)[~"^addr:"~"."]({{bbox}});)
->.QueryIN;

(nwr["addr:street"]({{bbox}});)
->.QueryOUT;
 
// Ergebnis = QueryIN - QueryOUT
(.QueryIN; - .QueryOUT;);

// print results
(._;>;);
out meta;

Dann hast du in JOSM wahrscheinlich das falsche Gebiet (bbox) zum Herunterladen ausgewählt.
Bei mir funktioniert die Abfrage in JOSM.

Danke!

Wie müsste ich die query ändern ((area.searchArea)?), damit JOSM die Fundstellen anzeigt, ohne dass vorher ein Gebiet heruntergeladen wurde?

Vorher muss nichts heruntergeladen werden.

Lösung ohne bbox:

area["name"="Freising"]->.de;
area[postal_code="85356"]->.plz;

(nwr[~"^addr:"~"."](area.plz)(area.de);)
->.QueryIN;

(nwr["addr:street"](area.plz)(area.de);)
->.QueryOUT;
 
// Ergebnis = QueryIN - QueryOUT
(.QueryIN; - .QueryOUT;);

// print results
(._;>;);
out meta;
1 Like

Etwas kürzer:

area["name"="Freising"]->.de;
area[postal_code="85356"]->.plz;

nwr[~"^addr:"~"."][!"addr:street"](area.plz)(area.de);

(._;>;);
out meta;

(area.A)(area.B) ist übrigens die Schnittmenge von A und B.

Unsure why you’re using bbox.
You can filter out addr:street within the call so a Difference calculation isn’t required.

To check: searching the two areas returns objects that are only within both. Is this what you want?

area[name=Freising]->.de;
area[postal_code=85356]->.plz;
nwr(area.plz)(area.de)[~"^addr:"~"."][!"addr:street"]; 
(._;>;);out meta;

rel(pivot.de);
(._;>;);out meta;
rel(pivot.plz);
(._;>;);out meta;