Outils pour utilisateurs

Outils du site


tutoverpass:jour_9_l_instruction_map_to_area

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
tutoverpass:jour_9_l_instruction_map_to_area [2020/08/18 17:55] – créée admintutoverpass:jour_9_l_instruction_map_to_area [2021/02/09 17:14] – [Jour #9 – L'instruction map_to_area] admin
Ligne 3: Ligne 3:
 Un exercice du tuto précédent consistait à trouver les sentiers à l'intérieur du Parc départemental Georges-Valbon. Il n'existe qu'**un seul parc au monde** avec ce nom, la requête est donc simple. Un exercice du tuto précédent consistait à trouver les sentiers à l'intérieur du Parc départemental Georges-Valbon. Il n'existe qu'**un seul parc au monde** avec ce nom, la requête est donc simple.
  
-Mais qu'en est-il si vous cherchez des éléments se trouvant dans le Jardin des Plantes de votre commune. La requête suivante montre qu'il y a dans la base OpenStreetMap 19 parcs nommés "Jardin des Plantes"...+Mais qu'en est-il si vous cherchez des éléments se trouvant dans le Jardin des Plantes de votre commune. La requête suivante montre qu'il y a dans la base OpenStreetMap une vingtaine de parcs nommés "Jardin des Plantes"...
  
 <code> <code>
Ligne 22: Ligne 22:
   (area.nantes)->.parc;   (area.nantes)->.parc;
 way way
-  [highway=footway](area.parc);+  [highway=footway] 
 +  (area.parc);
 out geom; out geom;
 </code> </code>
Ligne 28: Ligne 29:
 Malheureusement la forme ''area(area)'', c'est-à-dire la recherche d'une surface dans une surface, n'est pas supportée par l'API Overpass. Il est nécessaire de chercher les parcs sous forme de ways ou de relations. Or la recherche « à l'intérieur de » nécessite d'utiliser une surface... Malheureusement la forme ''area(area)'', c'est-à-dire la recherche d'une surface dans une surface, n'est pas supportée par l'API Overpass. Il est nécessaire de chercher les parcs sous forme de ways ou de relations. Or la recherche « à l'intérieur de » nécessite d'utiliser une surface...
  
-L'instruction ''map_to_area'' vient à la rescousse. Cette instruction produit un lot de données contenant des surfaces sous forme de area, à partir des données OSM décrivant une surface sous forme de way fermé ou de relation (les autres éléments sont ignorés).+L'instruction ''%%map_to_area%%'' vient à la rescousse. Cette instruction produit un lot de données contenant des surfaces sous forme de area, à partir des données OSM décrivant une surface sous forme de way fermé ou de relation (les autres éléments sont ignorés).
  
 Ainsi dans la requête suivante, l'instruction map_to_area remplace le lot de données courant (qui contient un way) par un lot de données qui contient la surface correspondant au Jardin des Plantes. L'instruction qui suit trouve les chemins piétons à l'intérieur de cette surface. Ainsi dans la requête suivante, l'instruction map_to_area remplace le lot de données courant (qui contient un way) par un lot de données qui contient la surface correspondant au Jardin des Plantes. L'instruction qui suit trouve les chemins piétons à l'intérieur de cette surface.
Ligne 36: Ligne 37:
 way way
   [leisure=park]   [leisure=park]
-  [name="Jardin des Plantes"](area.nantes);+  [name="Jardin des Plantes"] 
 +  (area.nantes);
 map_to_area; map_to_area;
 way way
-  [highway=footway](area);+  [highway=footway] 
 +  (area);
 out geom; out geom;
 </code> </code>
Ligne 48: Ligne 51:
 area["ref:INSEE"=44109]->.nantes; area["ref:INSEE"=44109]->.nantes;
 ( (
-  way[leisure=park] +  way 
-   [name="Jardin des Plantes"](area.nantes); +    [leisure=park] 
-  rel[leisure=park] +    [name="Jardin des Plantes"] 
-   [name="Jardin des Plantes"](area.nantes);+    (area.nantes); 
 +  rel 
 +    [leisure=park] 
 +    [name="Jardin des Plantes"] 
 +    (area.nantes);
 )->.parcs_wr; )->.parcs_wr;
 .parcs_wr map_to_area -> .parcs_a; .parcs_wr map_to_area -> .parcs_a;
-way[highway=footway](area.parcs_a);+way 
 +  [highway=footway] 
 +  (area.parcs_a);
 out geom; out geom;
 </code> </code>
  
-Notez l'utilisation de variables autour de l'instruction map_to_area, qui prend le lot de données .parcs_wr, trouve les surfaces correspondantes, et place le résultat (avec %%->%%) dans le lot de données .parcs_a. L'utilisation de ces deux variables n'est pas nécessaire ici, mais permet d'expliciter les lots de données en les nommant plutôt que d'utiliser le concept un peu abstrait de « lot de données courant ».+Notez l'utilisation de variables autour de l'instruction ''%%map_to_area%%'', qui prend le lot de données ''%%.parcs_wr%%'', trouve les surfaces correspondantes, et place le résultat (avec ''%%->%%'') dans le lot de données ''%%.parcs_a%%''. L'utilisation de ces deux variables n'est pas nécessaire ici, mais permet d'expliciter les lots de données en les nommant plutôt que d'utiliser le concept un peu abstrait de « lot de données courant ».
  
 ===== Exercices ===== ===== Exercices =====
tutoverpass/jour_9_l_instruction_map_to_area.txt · Dernière modification : 2021/02/09 17:14 de admin