Je « suis très débutant avec un viaduc. Jai besoin dobtenir tous les numéros de maison possibles dans la zone avec un code postal et une partie donnés de rue.

Par exemple. Toutes les maisons pour: 10178 alex

Le résultat doit être ou similaire à:

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 

Jai essayé la requête suivante, mais elle na renvoyé aucun résultat.

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; 

Quest-ce que je fais mal?

Commentaires

  • Juste une supposition: le viaduc peut ne pas considérer une rue / un chemin comme une zone valide pour rechercher, ou du moins pas assez grand (juste une ligne très fine?). Vous pourriez probablement filtrer par numéro de maison et par nom de rue node["addr:housenumber"]["addr.street"~~"^alex.*"], en fonction des données OSM disponibles '
  • " avec le code postal donné et une partie de la rue " – vous voulez donc toutes les adresses qui correspondent à votre code postal et le nom de la rue?
  • @Mateusz Konieczny exact ly!
  • " way (area.a) [" autoroute " " ne fonctionnait pas comme prévu car les rues nont pas de zone. Il y a " autour de " mais cela échouerait également car il attraperait les adresses des rues à proximité ou ne capturerait pas certaines adresses loin.

Réponse

Cette requête suppose que

  • vous voulez que toutes les adresses correspondent aux deux votre code postal et la partie spécifiée du nom de la rue
  • linsensibilité à la casse est préférable (le filtre alex doit également correspondre à Alex, AleX, etc.)
  • La balise postal_code est balisée sur la zone avec boundary = postal_code ( AFAIK pas vrai partout)
  • ladresse utilise les balises addr: street et 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; 

Commentaires

  • Jessaie de faire fonctionner quelque chose de similaire dans les rues américaines, mais cela ne semble pas ', avez-vous un exemple?
  • @MichaelLWatson Veuillez créer un lien vers une nouvelle question qui montre ce qui ne fonctionne pas et ce que vous avez essayé.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *