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
    Résultat du code

    Explication du code :

    1. Création de la carte : La carte est centrée sur Paris avec un niveau de zoom de 5.

    2. 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.

    3. 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).

    4. 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 utiliser position='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.