Outils pour utilisateurs

Outils du site


tutoverpass:jour_1_la_requete_elementaire

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tutoverpass:jour_1_la_requete_elementaire [2020/05/14 18:28] admintutoverpass:jour_1_la_requete_elementaire [2023/11/06 13:52] (Version actuelle) – [Jour 1 – La requête élémentaire] charles
Ligne 1: Ligne 1:
-====== Jour #1 – La requête élémentaire ======+====== Jour 1 – La requête élémentaire ======
  
-La requête élémentaire est constituée de deux instructions :+La requête élémentaire est constituée de **deux instructions** :
  
-La //première instruction// **sélectionne** dans la base de données OSM (ou plutôt dans une copie) un **lot de données**. Voici sa syntaxe :+La première instruction consiste à **sélectionner un lot de données** dans la base de données OSM (ou plutôt dans une copie). Voici sa syntaxe :
   * ''node'', ''way'' ou ''rel'' : le type d'élément recherché   * ''node'', ''way'' ou ''rel'' : le type d'élément recherché
   * entre ''[ ]'' : un ou plusieurs filtres sur les tags   * entre ''[ ]'' : un ou plusieurs filtres sur les tags
-  * entre ''( )''d'autres types de filtres +  * entre ''( )''un ou plusieurs filtres de divers types 
-Les autres types de filtres sont souvent des filtres géographiques, comme ''%%{{bbox}}%%'' qui décrit la zone visible sur la carte sur Overpass Turbo. Nous en verrons d'autres.+Les filtres entre parenthèses sont souvent des filtres géographiques, comme ''%%{{bbox}}%%'' qui décrit la zone visible sur la carte sur Overpass Turbo. Nous en verrons d'autres.
  
-La //seconde instruction// consiste à **retourner ce lot de données** comme //résultat de la requête// Overpass. Il s'agit de l'instruction ''out'' dont nous verrons quelques variantes. +La seconde instruction consiste à **retourner ce lot de données** comme //résultat de la requête// Overpass. Il s'agit de l'instruction ''out'' dont nous verrons quelques variantes. 
  
-Par exemple, la requête suivante retourne les arrêts de bus avec un abri. L'instruction de sélection combine deux filtres sur les tags et un filtre géographique : les 3 conditions doivent être remplies. Seuls les nodes qui portent les tags ''highway=bus_stop'' et ''shelter=yes'', et se trouvent dans la zone visible de la carte, sont sélectionnés.+Par exemple, la requête suivante retourne les arrêts de bus avec un abri. L'instruction de sélection combine deux filtres sur les //tags// et un filtre géographique : les 3 conditions doivent être remplies (//ET// logique). Seuls les //nodes// qui portent les //tags// ''highway=bus_stop'' **//ET//** ''shelter=yes'', **//ET//** se trouvent dans la zone visible de la carte, sont sélectionnés.
  
 <code> <code>
Ligne 22: Ligne 22:
  
 <WRAP center round info 80%> <WRAP center round info 80%>
-Une instruction peut être écrite sur une ou plusieurs lignes, cela n'a pas d'importance. Par contre chaque instructioncomme toute instruction Overpass, se termine par un point-virgule : '';''.+Une instruction peut être écrite sur une ou plusieurs lignes, cela n'a pas d'importance. Par contre, toute instruction Overpass, se termine par un point-virgule : '';''Il est même possible de placer plusieurs instructions sur la même ligne, ainsi la requête ci-dessus peut être écrite : 
 +<code> 
 +node[highway=bus_stop][shelter=yes]({{bbox}}); out; 
 +</code>
 </WRAP> </WRAP>
  
-Un filtre de tag peut ne contenir que la clef : sont conservés les éléments pour lequel ce tag **est défini**, //quelle que soit sa valeur// :+Un filtre de tag peut ne contenir que la //clef// : sont conservés les éléments pour lequel ce //tag// **est défini**, //quelle que soit sa valeur// :
  
 <code> <code>
Ligne 44: Ligne 47:
 </code> </code>
  
-Lorsque la clef ou la valeur du filtre contient un espace, un accent ou un caractère spécial, il est nécessaire de placer cette clef et/ou cette valeur **entre quotes**. Exemple avec un nom de lieu en breton :+Lorsque la //clef// ou la //valeur// du filtre contient une espace, un accent ou un caractère spécial, il est nécessaire de placer cette //clef// et/ou cette //valeur// **entre //quotes//**. Exemple avec un nom de lieu en breton :
  
 <code> <code>
Ligne 53: Ligne 56:
 </code> </code>
  
-Les quotes simples et doubles sont possibles, je conseille toutefois les **quotes doubles** qui ne seront pas perturbées par la présence de quotes simples dans les noms. +Les //quotes// simples et doubles sont possibles, je conseille toutefois les **//quotes// doubles** qui ne seront pas perturbées par la présence de //quotes// simples dans les noms. 
  
 <WRAP center round important> <WRAP center round important>
tutoverpass/jour_1_la_requete_elementaire.1589473701.txt.gz · Dernière modification : 2021/01/25 17:12 (modification externe)