Outils pour utilisateurs

Outils du site


tutoverpass:jour_1_la_requete_elementaire

Ceci est une ancienne révision du document !


Jour #1 – La requête élémentaire

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 :

  • node, way ou rel : le type d'élément recherché
  • entre [ ] : un ou plusieurs filtres sur les tags
  • entre ( ) : d'autres types de filtres

Toute instruction se termine par un point-virgule ;.

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.

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.

node
  [highway=bus_stop]
  [shelter=yes]
  ({{bbox}});
out;

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 :

node
  [highway=bus_stop]
  [shelter]
  ({{bbox}});
out;

Si on ajoute un point d'exclamation avant la clef, seuls les éléments pour lesquels ce tag n'est pas défini sont retournés :

node
  [highway=bus_stop]
  [!shelter]
  ({{bbox}});
out;

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 :

node
  [place=town]
  ["name:br"="Karaez-Plougêr"];
out;

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.

Notez que cette dernière requête contient deux filtres de tags mais aucun filtre géographique. Les filtres de tags sont en effet suffisamment restrictifs pour que le résultat soit de taille raisonnable. Mais ne faites pas ça pour obtenir tous les restaurants de la planète : les serveurs Overpass sont très utilisés et limitent la durée d'exécution d'une requête et le volume du résultat.

Exercices

  • Modifier la requête pour trouver les arrêts de bus accessibles aux personnes à mobilité réduite (PMRs).
  • Modifier la requête pour trouver les arrêts de bus sans information sur leur accessibilité aux PMRs.
  • Écrire une requête qui retourne les parkings à vélo de type arceaux (documentation : https://wiki.openstreetmap.org/wiki/FR:Tag:amenity=bicycle_parking)

© CC-by-sa Carto’Cité

tutoverpass/jour_1_la_requete_elementaire.1589463227.txt.gz · Dernière modification : 2021/01/25 17:12 (modification externe)