Ajout de contrôle de calque
Folium est une bibliothèque Python qui facilite la création de cartes interactives basées sur Leaflet.js. Lorsque plusieurs couches d’objets géographiques sont ajoutées à une carte — telles que des marqueurs, des polygones, ou des couches de tuiles — il devient essentiel de permettre à l’utilisateur de choisir quelles couches afficher ou masquer.
L’ajout d’un contrôle de calque (Layer Control) offre une interface intuitive permettant d’activer ou de désactiver dynamiquement ces différentes couches. Cette fonctionnalité améliore grandement l’interactivité et la personnalisation des cartes, en offrant une meilleure visibilité et une expérience utilisateur plus riche.
Cette capacité est particulièrement utile dans les projets de cartographie avancée, où les utilisateurs doivent analyser plusieurs ensembles de données spatiales en même temps, et souhaitent facilement filtrer ou comparer ces informations.
Fonctions :
-
folium.LayerControl()
La fonction folium.LayerControl() permet d'ajouter un contrôle de calques à une carte Folium. Cela permet à l'utilisateur d'afficher ou de masquer différents types de données sur la carte, tels que des marqueurs, des polygones, des couches de tuiles, etc.
Importation :
import folium
Attributs :
Paramètre Type Description Valeur par défaut position
str Position du contrôle des couches sur la carte. Les options disponibles sont : 'topright', 'topleft', 'bottomright', 'bottomleft'. 'topright'
collapsed
bool Détermine si le contrôle des couches est réduit ou non par défaut. True
Exemple de code :
import folium # Création de la carte centrée sur Paris m = folium.Map(location=[48.8566, 2.3522], zoom_start=5) # Ajout de deux couches différentes tile_layer = folium.TileLayer('Stamen Terrain').add_to(m) marker_layer = folium.Marker([48.8566, 2.3522], popup='Paris').add_to(m) # Ajout du contrôle des calques pour permettre à l'utilisateur de sélectionner les couches à afficher folium.LayerControl().add_to(m) # Affichage de la carte m
Explication du code :
-
Création de la carte : La carte est centrée sur Paris avec un niveau de zoom de 5.
-
Ajout de couches :
-
Couches de tuiles : On ajoute une couche de tuiles (ici, "Stamen Terrain") avec la fonction
folium.TileLayer()
. -
Marqueur : On ajoute un marqueur à Paris avec un popup.
-
-
Contrôle des calques : La fonction
folium.LayerControl()
est ajoutée à la carte pour permettre à l'utilisateur de choisir quelles couches afficher ou masquer (ici, la couche de tuiles et le marqueur). -
Affichage de la carte : La carte interactive est affichée avec les éléments ajoutés et le contrôle des calques.
Remarque importante :
-
Position du contrôle : Le contrôle des calques peut être déplacé en modifiant l'attribut
position
. Par exemple, pour le mettre en bas à gauche, vous pouvez utiliserposition='bottomleft'
. -
Fonctionnalité : Le contrôle des calques peut gérer à la fois les couches de tuiles (comme celles de
folium.TileLayer()
) et les autres éléments ajoutés à la carte, comme les marqueurs et les polygones.
-