Forum OSM France

Overpass: tag ni sur le chemin ni sur une relation parente

Salut,
J’aurais besoin d’un coup de main sur overpass API. Je recherche
Les way [piste:type"] = nordic
ET qui n’ont pas de tag [!« piste:grooming »]
ET qui, si ils sont membres d’une d’une relation, celle-ci n’a pas de tag [!« piste:grooming »] non plus.

La requête suivante est pas mal, mais ne donne pas les ways qui ne sont pas membres d’une relation.

[out:json][timeout:90];

rel["piste:type"="nordic"][!"piste:grooming"]({{bbox}});
way(r);
way._["piste:type"="nordic"][!"piste:grooming"];

out geom;

Alors, je propose:

[out:json][timeout:90];

way["piste:type"="nordic"][!"piste:grooming"]({{bbox}}) -> .nogroomingway;

rel(bw.nogroomingway)["piste:type"="nordic"]["piste:grooming"] -> .groomingrel;
way(r.groomingrel) -> .groomingway;

(.nogroomingway; - .groomingway;);

out geom;

nogroomingway sont tous les ways sans ‹ piste:grooming ›. Dans l’étape suivante, je détermine les ways qui héritent un « piste:grooming » de la relation dont ils sont membres. Et enfin, je calcule la différence des deux sets.

1 Like

Top, ça m’a l’air tout bien !
Je vais tenter de battre le rappel cet été pour mieux mapper les pistes de ski de fond.
Parce que c’est bien d’avoir plein de données, mais autant qu’elles soient de qualité, et les pratiques par défaut sont différentes d’un continent à l’autre.

Le balisage est encore présent en été ?

Parfois oui, très souvent non (désolé pour les chasseurs de poteaux :grinning: !).