Én nagyon kezdő vagyok felüljáróval. Minden lehetséges házszámot meg kell kapnom a területen, adott cipzárral és egy részével utca.

Például. Minden ház a következőhöz: 10178 alex

Az eredménynek hasonlónak kell lennie:

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 

Próbáltam a következő lekérdezést, de az nem adott eredményt.

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 csinálok rosszul?

Megjegyzések

  • Csak tipp: A felüljáró nem tekintheti az utcát / utat érvényes területnek, ahol kereshet, vagy legalábbis nem elég nagy (csak nagyon vékony vonal?). Valószínűleg házszám és utcanév szerint szűrhet node["addr:housenumber"]["addr.street"~~"^alex.*"], attól függően, hogy mely OSM adatok állnak rendelkezésre ' s
  • " megadott zip-el és az utca egy részével " – tehát minden olyan címet szeretne megadni, amely egyezik az irányítószámmal és az utcanevet?
  • @ Konieczny Mateusz pontos ly!
  • " way (area.a) [" autópálya " " nem a várt módon működött, mivel az utcáknak nincs területe. " van az " körül, de ez is kudarcot vallana, mivel elkapná a közeli utcák címeit, vagy nem fogna el néhányat messze.

Válasz

Ez a lekérdezés azt feltételezi, hogy

  • minden olyan címet szeretne, amely megfelel mindkettőnek az irányítószámát és az utcanév meghatározott részét
  • előnyben részesítendő a kis- és nagybetűk közötti érzéketlenség (az alex szűrőnek meg kell egyeznie az Alex, AleX stb.)
  • a postal_code címkét a határon = postal_code ( Az AFAIK nem mindenhol igaz)
  • a cím az addr: street és az addr: housenumber címkéket használja
 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; 

Megjegyzések

  • Megpróbálom elérni, hogy valami hasonló működjön az amerikai utcákon, de úgy tűnik, hogy ' nem, van-e rá példád?
  • @MichaelLWatson Kérjük, linkeljen egy új kérdésre, amely bemutatja, mi nem működik és mit próbált.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük