Sou um iniciante com viaduto. Preciso obter todos os números de casa possíveis na área com determinado CEP e uma parte da rua.

Por exemplo. Todas as casas para: 10178 alex

O resultado deve ser ou semelhante a:

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 

Eu tentei a próxima consulta, mas ela não retornou resultados.

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; 

O que estou fazendo de errado?

Comentários

  • Apenas um palpite: viaduto pode não considerar uma rua / via uma área válida para pesquisar, ou pelo menos não grande o suficiente (apenas uma linha muito fina?). Você provavelmente poderia filtrar por housenumber e streetname node["addr:housenumber"]["addr.street"~~"^alex.*"], dependendo dos dados OSM que ' estão disponíveis
  • " com determinado CEP e parte da rua " – então você deseja todos os endereços que correspondam ao seu CEP e o nome da rua?
  • @Mateusz Konieczny exato ly!
  • " caminho (area.a) [" rodovia " " não estava funcionando como esperado porque as ruas não têm área. Existe " em torno de ", mas isso também falharia, pois pegaria endereços de ruas próximas ou não pegaria alguns endereços distantes.

Resposta

Esta consulta assume que

  • você deseja todos os endereços que correspondam a ambos seu CEP e parte especificada do nome da rua
  • é preferível não diferenciar maiúsculas de minúsculas (o filtro alex deve corresponder também a Alex, AleX etc.)
  • a tag postal_code está marcada na área com boundary = postal_code ( AFAIK não é verdadeiro em todos os lugares)
  • o endereço está usando as tags addr: street e 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; 

Comentários

  • Estou tentando fazer algo semelhante a isso funcionar nas ruas americanas, mas não ' parece funcionar, você tem um exemplo?
  • @MichaelLWatson Por favor, link para uma nova pergunta que demonstra o que não está funcionando e o que você tentou.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *