Requête overpass -> pas le résultat attendu

Avec cette requête overpass turbo je cherche à extraire à la fois les objets « aeroway »=« aerodrome » et « disused:aeroway »=« aerodrome » mais manifestement le résultat ne sort pas les disused:aeroway sauf un Way: ‪Ancienne Base Aérienne de Chaumont-Semoutiers‬ (‪42019463‬) | OpenStreetMap

Qu’est-ce qui coince dans cette requête ?
Merci !

salut c’est plus simple de nous indiquer l’objet que la requête overpass ne renvoie pas, et pas celui qui est renvoyé !

j’ai regardé, en mettant way[] au lieu de way(area)[] ça fonctionne.
Il faut aussi récupérer le node.
en étant bien bourrin depuis le wizard ça donne ceci :

[out:json][timeout:25];

(
  node["disused:aeroway"="aerodrome"]({{bbox}});
  way["disused:aeroway"="aerodrome"]({{bbox}});
  relation["disused:aeroway"="aerodrome"]({{bbox}});
  node["aeroway"="aerodrome"]({{bbox}});
  way["aeroway"="aerodrome"]({{bbox}});
  relation["aeroway"="aerodrome"]({{bbox}});
);

out body;
>;
out skel qt;
2 « J'aime »

Sauf que je souhaite limiter la requête sur le Grand Est d’où le area.

Les objets manquants sont :

J’ai trouvé avec cette syntaxe :

[out:json][timeout:25];
area[« name »=« Grand Est »]->.region;
(
way(area.region)[« disused:aeroway »=« aerodrome »];
way(area.region)[« aeroway »=« aerodrome »];
);
out geom;

Salut Romain,

Comme il y a 8 nœuds avec ces tags dans la Région « Grand Est », voici une proposition qui les intègre :

[out:xml];
area["name"="Grand Est"]->.region;
(
nwr(area.region)["aeroway"="aerodrome"];
nwr(area.region)["disused:aeroway"="aerodrome"];
);
out geom;

J’ai remplacé way par nwr (node + way + relation).

(sinon, pour le partage de codes, c’est plus lisible avec la balise « texte préformaté » de l’éditeur du message, et ça évite les problèmes de guillemets «  » " :slight_smile: )

Edit :
Par contre, j’aimerais bien qu’un expert m’explique la différence entre area["name"="Grand Est"]->.region; et area[name="Grand Est"]; car effectivement, certains objets ne viennent qu’avec la 1ere solution (area.region)

1 « J'aime »

Merci Sylvain, je n’avais pas pensé qu’il pouvait y avoir aussi des noeuds.

Une supposition sur la différence entre l’utilisation du area direct et le area.region. Dans le premier cas on utilise le area implicite qui est celui de l’objet courant. Donc pour le aeroway=aerodrome ça marche car l’objet implicite est celui défini par le area[name=Grand Est]. Par contre pour la ligne avec le disused l’objet implicite est maintenant celui renvoyé par la ligne précédente. Et donc l’emprise couverte par les aeroway=aerodrome, c’est à dire pas l’emprise définie au départ. Par contre quand on la stocke dans une variable, on a bien l’emprise souhaitée qui est utilisée partout !

Merci pour l’explication @Ptigrouick :smiley: