Outils pour utilisateurs

Outils du site


umap:10_-_je_valorise_les_donnees_openstreetmap_avec_umap

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
umap:10_-_je_valorise_les_donnees_openstreetmap_avec_umap [2018/01/05 09:46] – [3. J'affiche un calque en fonction du niveau de zoom] adminumap:10_-_je_valorise_les_donnees_openstreetmap_avec_umap [2021/02/22 09:34] (Version actuelle) – [Faisons le point] antoine
Ligne 123: Ligne 123:
 ==== 4. J'utilise une requête dynamique ==== ==== 4. J'utilise une requête dynamique ====
  
-Utiliser des données extraites plutôt qu'une requête présente un inconvénient : la mise à jour des données sur OpenStreetMap n'eset pas répercutée sur notre carte. Pour pallier à cela nous vous proposons de modifier le calque montrant les parkings à vélos sous forme de marqueurafin qu'il utilise une requête dynamique.+Utiliser des données extraites plutôt qu'une requête présente un inconvénient : la mise à jour des données sur OpenStreetMap n'est pas répercutée sur notre carte. Pour pallier à cela nous vous proposons de modifier le calque montrant les parkings à vélos sous forme de marqueursde sorte qu'il utilise une requête dynamique.
  
 Une **requête dynamique** permet d'//injecter// dans la requête des //variables// relatives à l'état actuel de la carte uMap. Nous allons utiliser une requête qui s'applique sur la seule partie visible de la carte, définie par un rectangle (ou //bounding box//). Cette requête s'exécutera à chaque zoom ou déplacement de la carte (d'où le terme //dynamique//) et récupérera les parkings à vélos à l'intérieur de ce rectangle. Une **requête dynamique** permet d'//injecter// dans la requête des //variables// relatives à l'état actuel de la carte uMap. Nous allons utiliser une requête qui s'applique sur la seule partie visible de la carte, définie par un rectangle (ou //bounding box//). Cette requête s'exécutera à chaque zoom ou déplacement de la carte (d'où le terme //dynamique//) et récupérera les parkings à vélos à l'intérieur de ce rectangle.
  
 === 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"];
 ); );
Ligne 147: Ligne 147:
  
 === 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.
Ligne 154: Ligne 154:
   - 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>
  
umap/10_-_je_valorise_les_donnees_openstreetmap_avec_umap.1515142001.txt.gz · Dernière modification : 2021/01/25 17:13 (modification externe)