Olen ”hyvin aloittelija, jolla on ylikulkusilta. Minun täytyy saada kaikki mahdolliset talonumerot alueelle annetulla postinumerolla ja osa kadun.

Esimerkiksi. Kaikki talot alueelle: 10178 alex

Tuloksen tulisi olla tai samanlainen kuin:

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 

Yritin seuraavaa kyselyä, mutta se ei tuottanut tuloksia.

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; 

Mitä teen väärin?

kommentit

  • vain arvaus: Ylikulkusilta ei ehkä pidä katua / tietä kelvollisena alueena hakemiseen tai ainakaan riittävän iso (vain hyvin ohut viiva?). Voit todennäköisesti suodattaa talonumeron ja kadunnimen perusteella node["addr:housenumber"]["addr.street"~~"^alex.*"] sen OSM-datan mukaan, joka ' on käytettävissä
  • " annetulla postinumerolla ja osalla katua " – joten haluat kaikkien osoitteiden, jotka vastaavat sekä postinumeroasi että kadun nimi?
  • @Mateusz Konieczny tarkka ly!
  • " tapa (alue.a) [" moottoritie " " ei toiminut odotetulla tavalla, koska kaduilla ei ole aluetta. " ympärillä on ", mutta se myös epäonnistuu, koska se tarttuisi läheisten katujen osoitteisiin tai ei tarttuisi joihinkin osoitteisiin kaukana.

vastaus

Tämä kysely olettaa, että

  • haluat kaikkien osoitteiden, jotka vastaavat molempia postinumero ja määritetty kadun nimen osa
  • kirjainkoon erottelu on suositeltavaa (alex-suodattimen on vastattava myös Alexia, AleX: ää jne.)
  • postin_kooditunniste on merkitty alueelle, jolla on border = postin_koodi ( AFAIK ei ole totta kaikkialla)
  • osoite käyttää tunnisteita addr: street ja 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; 

Kommentit

  • Yritän saada jotain vastaavaa toimimaan amerikkalaisilla kaduilla, mutta ei näytä ', onko sinulla esimerkkiä?
  • @MichaelLWatson Linkitä uuteen kysymykseen, joka osoittaa, mikä ei toimi ja mitä yritit.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *