Sunt foarte începător cu pasaj. Trebuie să obțin toate numerele posibile de casă în zonă cu codul zip și o parte de stradă.

De exemplu. Toate casele pentru: 10178 alex

Rezultatul trebuie să fie sau similar cu:

Alex-Wedding-Straße, 10178 Berlin Tunnel Alexanderplatz, 10178 Berlin Alexanderplatz, 10178 Berlin Alexanderplatz 1, 10178 Berlin Kleine Alexanderstraße 1, 10178 Berlin Alexanderstraße 1, 10178 Berlin Alexanderplatz 2, 10178 Berlin 

Am încercat următoarea interogare, dar nu a returnat rezultate.

area[postal_code=10178][boundary=postal_code]->.a; way(area.a)["highway"~"^(primary|secondary|tertiary|residential|living_street)$"]["name"~"^alex.*"]->.street; ( node["addr:housenumber"](area.street); way["addr:housenumber"](area.street); relation["addr:housenumber"](area.street); ); (._;>;);out; 

Ce fac greșit?

Comentarii

  • Doar o presupunere: pasajul nu ar putea considera o stradă / cale o zonă validă în care să caute sau cel puțin nu suficient de mare (doar o linie foarte subțire?). Probabil ați putea filtra după numărul casei și numele străzii node["addr:housenumber"]["addr.street"~~"^alex.*"], în funcție de datele OSM disponibile ' disponibile
  • " cu codul zip dat și o parte a străzii " – deci doriți toate adresele care corespund atât codului dvs. poștal, cât și numele străzii?
  • @Mateusz Konieczny exact Într-adevăr!
  • " mod (area.a) [" autostradă " " nu funcționa așa cum era de așteptat, deoarece străzile nu au zonă. Există " în jurul ", dar acest lucru ar eșua, deoarece ar prinde adresele străzilor din apropiere sau nu ar prinde unele adrese îndepărtate.

Răspuns

Această interogare presupune că

  • doriți toate adresele care corespund ambelor codul dvs. poștal și partea specificată a numelui străzii
  • este preferată insensibilitatea la majuscule (filtrul alex trebuie să se potrivească și cu Alex, AleX etc.)
  • eticheta postal_code este etichetată pe zona cu border = postal_code ( AFAIK nu este adevărat peste tot)
  • adresa utilizează etichete addr: street și addr: housenumber
 area[postal_code=10178][boundary=postal_code]->.code; ( node["addr:housenumber"]["addr:street"~"alex",i](area.code); way["addr:housenumber"]["addr:street"~"alex",i](area.code); relation["addr:housenumber"]["addr:street"~"alex",i](area.code); ); (._;>;);out; 

Comentarii

  • Încerc să obțin ceva similar cu acesta pentru a funcționa pe străzile americane, dar nu pare ', aveți un exemplu?
  • @MichaelLWatson Vă rugăm să legați o nouă întrebare care demonstrează ce nu funcționează și ce ați încercat.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *