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 :

Autre :

Utilisation

Caractéristiques pour la 3D

Le projet osmbuildings.org :

Avec les coordonnées pour Pommerit-le-Vicomte (au 09/06/2019, il n'y a aucunes données pour la représentation 3D) :

Plusieurs projets tentent d'utiliser les données libres d'Openstreetmap.org pour réaliser des scènes 3D. En conséquence, il est nécessaire de caractériser avec plus de détail les éléments d'Openstreetmap.org et en particulier les bâtiments.

Principes généraux sur le wiki d'openstreetmap.org :

Plusieurs clés sont utilisées :


L'article "Bâtiments 3D simples" sur le wiki d'Openstreetmap.org :

Initiative pour la découverte

Cartopen, association de promotion d'Openstreetmap :

Projet dérivé

Openrouteservice, permet de générer des isochrones (temps et distance) :

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

Bâtiment et nombre de niveaux

/*
Mise en évidence des bâtiments ayant 1 ou 2 niveaux
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["building:levels"="1"]({{bbox}});
way["building:levels"="2"]({{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;

Type "ferme"

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;

Liste des routes limitées à 50

/*
Liste des routes limitées à 50 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