« OpenStreetMap » : différence entre les versions
Aller à la navigation
Aller à la recherche
| Ligne 94 : | Ligne 94 : | ||
out skel; | out skel; | ||
out; | out; | ||
</pre> | |||
Mise en évidence des routes et des vitesses autorisées | |||
<pre> | |||
[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; | |||
} | |||
}} | |||
</pre> | </pre> | ||
Version du 20 décembre 2018 à 01:39
OpenStreetMap (OSM) est un projet qui a pour but de constituer une base de données géographiques libre du monde.
Site principal :
Outils dérivés
- http://map.meurisse.org : pour calculer des distances
- http://map.project-osrm.org : calcul d'itinéraire
- http://www.openrunner.com/
overpass turbo
Outil permettant de réaliser des requêtes sur le base de données OpenStreetMap :
Mode d'emploi :
- https://wiki.openstreetmap.org/wiki/FR:Overpass_turbo
- https://wiki.openstreetmap.org/wiki/FR:Overpass_API/Overpass_QL
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;