====== Jour 3 – Requêtes sur les surfaces ======
Les surfaces peuvent être représentées soit par des chemins fermés soit par des relations, qui permettent de représenter des surfaces trouées ou disjointes.
L'instruction ''out geom'' fonctionne sur les //relations// comme sur les //ways//, de même que la récursion.
Pour trouver les parcs on peut donc écrire soit :
way[leisure=park]({{bbox}});
out geom;
rel[leisure=park]({{bbox}});
out geom;
Soit :
way[leisure=park]({{bbox}});
out; >; out skel;
rel[leisure=park]({{bbox}});
out; >; out skel;
Notez que l'on peut écrire plusieurs instructions sur la même ligne, mais n'oubliez pas le point-virgule à la fin de chacune.
Mais il y a mieux pour raccourcir notre requête. **L'instruction ''nwr''** permet en une instruction de chercher les //nodes//, //ways// et //relations//, en y appliquant les mêmes filtres :
nwr[leisure=park]({{bbox}});
out; >; out skel;
Ou encore :
nwr[leisure=park]({{bbox}});
out geom;
Cette instruction est très pratique, car de nombreux éléments peuvent être représentés par un point ou par une surface, donc par un //node//, un //way// ou une //relation//.
Une autre variante de l'instruction ''out'' – **''out center''** – permet d'homogénéiser le résultat en convertissant les lignes et surfaces en points. Notez que cette instruction retourne pour chaque élément le centre de son rectangle englobant (//bounding box//), qui peut se trouver à l'extérieur de la surface dont il est issu.
nwr[leisure=park]({{bbox}});
out center;
===== Exercices =====
* Trouvez les supermarchés et les épiceries.
* Trouvez les bâtiments ayant un nom.
* Trouvez les chemins piétons et les rues piétonnes.
© CC-by-sa Carto’Cité