Jag är mycket nybörjare med överpass. Jag måste få alla möjliga husnummer i området med given zip och en del av gatan.

Till exempel. Alla hus för: 10178 alex

Resultatet ska vara eller likna:

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 

Jag försökte nästa fråga, men den gav inga resultat.

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; 

Vad gör jag fel?

Kommentarer

  • Bara en gissning: Overpass anser kanske inte att en gata / väg är ett giltigt område att söka i, eller åtminstone inte tillräckligt stort (bara en mycket tunn linje?). Du kan antagligen filtrera efter husnummer och gatunamn node["addr:housenumber"]["addr.street"~~"^alex.*"], beroende på OSM-data som ' är tillgängliga
  • " med angiven postnummer och en del av gatan " – så du vill ha alla adresser som matchar både ditt postnummer och gatunamnet?
  • @Mateusz Konieczny exakt ly!
  • " väg (area.a) [" motorväg " " fungerade inte som förväntat eftersom gator inte har något område. Det finns " runt " men det skulle också misslyckas eftersom det skulle fånga adresser på närliggande gator eller inte fånga några adresser långt borta.

Svar

Denna fråga antar att

  • du vill ha alla adresser som matchar båda ditt postnummer och angiven del av gatunamnet
  • skiftlägeskänslighet är att föredra (alexfilter ska också matcha Alex, AleX etc)
  • post_kod tagg är märkt på område med gräns = postnummer_ ( AFAIK är inte sant överallt)
  • adressen använder addr: street och addr: housenumber-taggar
 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; 

Kommentarer

  • Jag försöker få något liknande detta att fungera på amerikanska gator men det verkar inte ', har du ett exempel?
  • @MichaelLWatson Länk till en ny fråga som visar vad som inte fungerar och vad du försökte.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *