Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
umap:10_-_je_valorise_les_donnees_openstreetmap_avec_umap [2018/01/05 09:47] – [4. J'utilise une requête dynamique] admin | umap:10_-_je_valorise_les_donnees_openstreetmap_avec_umap [2021/02/22 09:34] (Version actuelle) – [Faisons le point] antoine |
---|
| |
=== Simplifier la requête Overpass === | === Simplifier la requête Overpass === |
| |
<WRAP group> | <WRAP group> |
| <WRAP half column> |
Pour faciliter l'opération nous commençons par simplifier la requête Overpass. Les points importants sont : | Pour faciliter l'opération nous commençons par simplifier la requête Overpass. Les points importants sont : |
<WRAP half column> | - placer la clause **''%%[bbox:{{bbox}}]%%''** en entête de requête pour que ce paramètre ne soit présent qu'une seule fois |
- placer la clause ''%%[bbox:{{bbox}}]%%'' en entête de requête pour que ce paramètre ne soit présent qu'une seule fois | - remplacer la production du résultat par la clause **''out center;''** qui permet de convertir chaque //way// (fermé ou pas) en un point |
- remplacer la production du résultat par la clause ''out center;'' qui permet de convertir chaque //way// (fermé ou pas) en un point | |
</WRAP> | </WRAP> |
<WRAP half column> | <WRAP half column> |
<code> | <code> |
[out:xml][bbox:{{bbox}}]; | [out:xml][bbox:{{bbox}}]; |
(node["amenity"="bicycle_parking"]; | ( |
| node["amenity"="bicycle_parking"]; |
way["amenity"="bicycle_parking"]; | way["amenity"="bicycle_parking"]; |
); | ); |
| |
=== Adapter et exporter la requête === | === Adapter et exporter la requête === |
{{ :umap:umap_donnees_dynamiques.png?nolink|}} | {{ :umap:requete_dynamique.png?nolink|}} |
L'opération est délicate, et exige sang froid et concentration : | L'opération est délicate, et exige sang froid et concentration : |
- remplacez ''%%{{box}}%%'' par ''%%{south},{west},{north},{east}%%'' : il s'agit de 4 variables qu'uMap remplacera, lors de l'exécution de la requête, par les valeurs définissant l'emprise de la carte. | - remplacez ''%%{{box}}%%'' par ''%%{south},{west},{north},{east}%%'' : il s'agit de 4 variables qu'uMap remplacera, lors de l'exécution de la requête, par les valeurs définissant l'emprise de la carte. |
- copiez la requête modifiée et collez le texte dans le champ URL de l'onglet **Données distantes** | - copiez la requête modifiée et collez le texte dans le champ URL de l'onglet **Données distantes** |
- activez l'option **Dynamique** et définissez le zoom à partir duquel le calque est affiché | - activez l'option **Dynamique** et définissez le zoom à partir duquel le calque est affiché |
- l'option **Avec proxy** doit être désactivée | - <wrap hi>selon le serveur Overpass utilisé, l'option **Avec proxy** doit être activée ou désactivée</wrap> (voir ci-dessous) |
| |
Par commodité la requête modifiée est reprise ci-dessous, où elle peut être copiée par un triple-clic : | Par commodité la requête modifiée est reprise ci-dessous, où elle peut être copiée par un triple-clic : |
<code> | <code> |
http://overpass-api.de/api/interpreter?data=[out:xml][bbox:{south},{west},{north},{east}];node["amenity"="bicycle_parking"];way["amenity"="bicycle_parking"];);out center; | http://overpass-api.de/api/interpreter?data=[out:xml][bbox:{south},{west},{north},{east}];(node["amenity"="bicycle_parking"];way["amenity"="bicycle_parking"];);out center; |
</code> | </code> |
| |
<WRAP center round tip 80%> | <WRAP center round tip 50%> |
N'hésitez pas à utiliser un autre serveur Overpass en libre service, dont la liste est disponible dans les **Paramètres généraux** de Overpass Turbo, par exemple https://overpass.kumi.systems/api/. | N'hésitez pas à utiliser un autre serveur Overpass en libre service, dont la liste est disponible dans les **Paramètres généraux** de Overpass Turbo, par exemple ''https://overpass.kumi.systems/''. Attention ce dernier exige d'**activer** l'option **Avec proxy**, alors que le serveur ''http://overpass-api.de/'' nécessite que l'option soit **désactivée**. |
</WRAP> | </WRAP> |
| |
<WRAP center round important 80%> | <WRAP center round important 50%> |
N'utilisez pas la variable {bbox} car elle sera remplacée par des coordonnées dont l'ordre (W,S,N,E) n'est pas celui attendu par Overpass (S,W,N,E) ! | N'utilisez pas la variable {bbox} car elle sera remplacée par des coordonnées dont l'ordre (W,S,N,E) n'est pas celui attendu par Overpass (S,W,N,E) ! |
</WRAP> | </WRAP> |
| |
| Vous pouvez manipuler ci-dessous la carte produite par l'ensemble de ce tutoriel. Zoomez jusqu'à ce que les parkings à vélos apparaissent et déplacez la carte pour constater l'aspect dynamique des requêtes. |
| ---- |
| <HTML> |
| <iframe width="100%" height="400px" frameBorder="0" src="https://umap.openstreetmap.fr/fr/map/le-velo-a-nantes_189194?scaleControl=false&miniMap=false&scrollWheelZoom=false&zoomControl=true&allowEdit=false&moreControl=false&searchControl=null&tilelayersControl=null&embedControl=null&datalayersControl=false&onLoadPanel=undefined&captionBar=false"></iframe><p><a href="http://umap.openstreetmap.fr/fr/map/le-velo-a-nantes_189194">Voir en plein écran</a></p> |
| </HTML> |
| |
===== Faisons le point ===== | ===== Faisons le point ===== |
| |
Voici la carte ainsi créée. | Nous avons vu comment créer une carte montrant les données OpenStreetMap à jour, à l'aide de requêtes Overpass. Seule la couche montrant la densité des stationnements sous forme de //heatmap// nécessitera de renouveler l'extraction des données de temps en temps. |
| |
<HTML> | <WRAP center round info 80%> |
<iframe width="100%" height="400px" frameBorder="0" src="http://umap.openstreetmap.fr/fr/map/le-velo-a-nantes_189194?scaleControl=false&miniMap=false&scrollWheelZoom=false&zoomControl=true&allowEdit=false&moreControl=false&searchControl=null&tilelayersControl=null&embedControl=null&datalayersControl=true&onLoadPanel=undefined&captionBar=false"></iframe><p><a href="http://umap.openstreetmap.fr/fr/map/le-velo-a-nantes_189194">Voir en plein écran</a></p> | Les serveurs Overpass utilisés dans ce tutoriel sont des serveurs en libre service <wrap em>mis à disposition gracieusement</wrap>. Ces serveurs sont très sollicités aussi il convient de les utiliser avec modération. |
</HTML> | |
| |
| <wrap em>Si vous produisez une carte destinée à un grand nombre de consultations</wrap>, préférez l'utilisation de données statiques, importées dans uMap ou stockées sur un serveur. Merci ! |
| |
| Si vous utilisez Github, ce [[https://hackmd.io/OkwpRqQ7QXC3p8C0jfTUGQ?view|court tutoriel]] en anglais explique comment utiliser un //workflow// pour exécuter une requête Overpass et placer le résultat en cache. |
| </WRAP> |
| |