OpenStreetMap

Aller à la navigation Aller à la recherche

OpenStreetMap (OSM) est un projet qui a pour but de constituer une base de données géographiques libre du monde.

Site principal :

Projet dérivé

OpenHistoricalMap :

Wikipédia, l'article :

Un exemple en construction :

Outils dérivés

overpass turbo

Outil permettant de réaliser des requêtes sur le base de données OpenStreetMap :

Mode d'emploi :


Document très utile :

Exemples de scripts

Ci-dessous, un exemple de code permettant d'identifier les éléments ayant la caractéristique "amenity=farm" :

/*
This has been generated by the overpass-turbo wizard.
The original search was:
“"amenity"="farm" global”
*/
[out:json][timeout:25];
// gather results
(
  // query part for: “amenity=farm”
  node["amenity"="farm"];
  way["amenity"="farm"];
  relation["amenity"="farm"];
);
// print results
out body;
>;
out skel qt;

Autre exemple

/*
Liste des routes limitées à 30 km/h
sur la zone de la carte visible
*/

// I - Format des données générées et durée maximum de la requête 
[out:json][timeout:25];

// II - La requête
(
way["highway"]["maxspeed"="50"]({{bbox}});
);

// III - La sortie des résultats 
// III.1 - avec représentation des éléments sur la carte
out body;

// Sortie de tous les résultats
>;
out skel qt;

Autre exemple, uniquement un tableau de résultat : liste des pharmacies sur la commune de Rennes

[out:csv(::"type",::"id", name, admin_level,::"count")];
area[name="Rennes"][boundary];
 rel(area)[boundary][admin_level=7];
 map_to_area;
 foreach->.d(
   (.d;);
   out; 
   (node(area.d)[amenity=pharmacy];
    way(area.d)[amenity=pharmacy];
    relation(area.d)[amenity=pharmacy];
   );
   out;
   out count;
 );

Liste et carte des adresses n'ayant pas de code postal.

[out:json][timeout:25];
(
  node["addr:street"][!"addr:postcode"]({{bbox}});
  way["addr:street"][!"addr:postcode"]({{bbox}});
);
out skel;
out;

Mise en évidence des routes et des vitesses autorisées

[bbox:{{bbox}}];
( way["highway"](if: (is_number(t["maxspeed"]) && t["maxspeed"] <= 90)); 
  >;
);
out;

{{style:
way[highway][maxspeed=30] {
  color:red;
  width:4;
  opacity:.7;
}

way[highway][maxspeed=50] {
  color:green;
  width:4;
  opacity:.7;
}

way[highway][maxspeed=70] {
  color:blue;
  width:4;
  opacity:.7;
}

way[highway][maxspeed=80] {
  color:grey;
  width:4;
  opacity:.9;
}

way[highway][maxspeed=90] {
  color:black;
  width:3;
  opacity:.7;
}
}}

Toutes les contributions d'un utilisateur

[out:json][timeout:25];
(node(user:fylip22)({{bbox}}););
out body;
>;
out skel qt;

Voir aussi