Outils pour utilisateurs

Outils du site


openstreetmap:overpass:api_la_requete_de_base

Overpass API – La requête de base

Une requête au format QL est composée de 3 sections :

  • les options : format de sortie, limite de durée
  • la requête proprement dite, qui sélectionne des données dans la base
  • la publication, ou impression, du résultat de la requête

En réalité, requêtes et publications du résultat peuvent être mêlées dans une même requête.

Requêtes sur les nodes

La requête de base au format QL est composée de 3 éléments :

  • le type d'élément : node, way ou relation (l'abbréviation rel est comprise)
  • un filtre ou plusieurs sur les tags, entre crochets avec la forme [<clef>=<valeur>]
  • un filtre géographique, entre parenthèses, par exemple un rectangle englobant ou bounding box : (latmin,lonmin,latmax,lonmax) ou encore (sud,ouest,nord,est)

Les filtres sont optionnels. En pratique on ne peut omettre les deux types filtres car cela reviendrait à sélectionner l'ensemble de la base OpenStreetMap. Il est rare - et déconseillé - d'omettre le filtre géographique dans une requête sur un tag fréquent : le résultat serait trop volumineux.

Une requête avec un seul filtre géographique, sans filtre sur les tags, revient à sélectionner toutes les éléments à l'intérieur d'une zone :

node(47.408,-2.628,47.415,-2.614);
out;

Une requête avec un seul filtre sur les tags mais sans filtre géographique s'applique à l'ensemble de la base :

node["craft"="sailmaker"];
out;

En général un requête combine un filtre sur le tag et un filtre géographique :

node["craft"="sailmaker"](42.163,-5.361,51.124,8.020);
out;

L'ordre entre ces deux filtres n'a pas d'importance :

node(42.163,-5.361,51.124,8.020)["craft"="sailmaker"];
out;

Avec Overpass Turbo, le rectangle peut être défini par l'emprise visible de la carte en utilisant la syntaxe ({{bbox}}). Il s'agit en fait de la sélection géographique utilisée par défaut.

Requêtes sur les ways

Une requête sur les ways fonctionne de la même manière :

way["highway"="footway"]({{bbox}});
out;

Cette requête produit bien un résultat dans l'onglet Données, une liste d'éléments de type way. Le way ci-dessous référence deux nodes (balise <nd>) mais ceux-ci ne sont pas inclus dans le résultat.

<way id="45066678">
  <nd ref="571453974"/>
  <nd ref="1557925679"/>
  <tag k="highway" v="footway"/>
  <tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009"/>
</way>

Une solution simple pour produire un résultat suffisamment complet pour être affiché sur la carte consiste à utiliser out geom à la place du simple out :

way["highway"="footway"]({{bbox}});
out geom;

Le way précédent est alors produit avec la position de chaque node :

<way id="45066678">
  <bounds minlat="47.2194912" minlon="-1.5436183" maxlat="47.2195567" maxlon="-1.5432845"/>
  <nd ref="571453974" lat="47.2194912" lon="-1.5432845"/>
  <nd ref="1557925679" lat="47.2195567" lon="-1.5436183"/>
  <tag k="highway" v="footway"/>
  <tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009"/>
</way>

À l'inverse il est possible de ne produire que les tags avec out tags :

way["highway"="footway"]({{bbox}});
out tags;

Cela réduit le volume du résultat de la requête, et peut convenir si la géométrie n'est pas utilisée :

<way id="45066688">
  <tag k="highway" v="footway"/>
  <tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009"/>
</way>

La combinaison out geom tags produit les bounds de chaque élément :

<way id="45066678">
  <bounds minlat="47.2194912" minlon="-1.5436183" maxlat="47.2195567" maxlon="-1.5432845"/>
  <tag k="highway" v="footway"/>
  <tag k="source" v="cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2009"/>
</way>

Avec Overpass Turbo la carte affiche ces rectangles.

Requêtes sur les relations

Même principe pour les relations :

relation["public_transport"="stop_area"](47.21462,-1.54972,47.21774,-1.54513);
out;

Sur cet exemple l'utilisation de out geom tags permet de détecter visuellement les zones d'arrêt anormalement étendues - un bon outil de contrôle qualité.

  • Printable version
  • Export to OpenOffice
  • Export to PDF
  • Add page to book
  • Tools:
openstreetmap/overpass/api_la_requete_de_base.txt · Dernière modification: 2020/01/10 09:56 par admin