<div dir="ltr"><div><div><div><div><div><div>Bonjour,<br><br></div>Je pense que je suis ni le premier ni le dernier à rencontrer ce problème.<br><br></div>Certaines requêtes (API ou overpass) peuvent cibler des objets représentés soit par des nœuds soit par des chemins.<br>
</div>Pour que les chemins aient un sens, on récupère également les nœuds qui les constituent.<br><br></div>On a ainsi dans le résultat de la requête, des nœuds qui correspondent directement à ce qu'on cherche et des nœuds qui servent de support à nos chemins (qui eux correspondent aussi à ce qu'on cherche).<br>
<br></div>Pour extraire de l'information de tout ça (principalement une liste, pas forcément un résultat graphique), il ne faut travailler que sur les nœuds qui correspondent à ce qu'on cherche dans un premier temps, donc user d'XPath par exemple.<br>
<br></div><div>Le problème est que certaines requêtes overpass (typiquement celles qui ciblent plusieurs types de primitives comme celle-ci dessous) sont très difficilement transposables en xpath pour filtrer le document OSM.<br>
<br></div><div>Je souhaite néanmoins ne réaliser qu'une seule requête à l'overpass (on pourrait séparer nodes, ways, links mais je ne cèderai pas à la facilité). J'espère ne pas me fourvoyer dans les hypothèses données ci-dessus, ce qui est encore possible.<br>
<br><br></div><div>Quelqu'un aurait-il une piste pour sortir de ce genre d'embuches ?<br><br><br></div><div>La requête sur laquelle je travaille actuellement (sur oapi-fr)<br>(node<br> ["power"~"sub_station|substation"]<br>
["operator"="ERDF"]<br> ["ref:ERDF:gdo"];<br>way<br> ["power"~"sub_station|substation"]<br> ["operator"="ERDF"]<br> ["ref:ERDF:gdo"]<br>
);<br>(._;>;);<br>out body;<br></div><div><br><br></div><div>Merci par avance.<br><br></div><div><div><div><div><div><div><br clear="all"><div><div><b>François Lacombe</b><br><br>francois dot lacombe At telecom-bretagne dot eu<br>
<a href="http://www.infos-reseaux.com" target="_blank">http://www.infos-reseaux.com</a><br></div>
</div></div></div></div></div></div></div></div>