Ajout d’objet GeoJson
Folium est une bibliothèque Python qui facilite la création de cartes interactives en s’appuyant sur Leaflet.js. L’une de ses fonctionnalités puissantes est la capacité d’intégrer des objets GeoJSON, un format standard pour représenter des données géospatiales vectorielles telles que des points, des lignes, des polygones, et leurs attributs associés.
L’ajout d’objets GeoJSON permet de visualiser des formes géographiques complexes, comme des frontières, des zones administratives, des réseaux routiers, ou toute autre donnée spatiale structurée. Folium simplifie l’importation, le style, et l’interaction avec ces données, en offrant des options pour personnaliser l’apparence et les comportements des couches GeoJSON.
Cette fonctionnalité est particulièrement utile dans les domaines de la cartographie, de l’analyse spatiale, et de la visualisation de données territoriales, permettant de rendre les cartes interactives et informatives.
Fonctions :
-
folium.GeoJson()
La fonction folium.GeoJson() permet d'ajouter un objet GeoJSON à une carte Folium. GeoJSON est un format standard pour représenter des données géospatiales, permettant de décrire des objets géométriques tels que des points, des lignes, des polygones, etc. Cette fonction permet d'intégrer facilement des données géospatiales sous forme de GeoJSON à une carte interactive.
Importation :
import foliumAttributs :
Paramètre Type Description Valeur par défaut geojsondict ou str Les données GeoJSON à afficher sur la carte. Cela peut être un dictionnaire Python ou une chaîne JSON. Nonenamestr Nom de la couche GeoJSON pour identifier cette couche dans le contrôle des calques. ''popupstr ou folium.Popup Popup à afficher lorsque l'utilisateur clique sur un élément de la couche GeoJSON. Nonestyle_functionfunction Fonction utilisée pour définir le style des éléments GeoJSON (par exemple, la couleur des polygones). NoneExemple de code :
import folium # Création de la carte centrée sur Paris m = folium.Map(location=[48.8566, 2.3522], zoom_start=12) # Exemple de données GeoJSON (un simple polygone représentant un carré) geojson_data = { "type": "FeatureCollection", "features": [ { "type": "Feature", "geometry": { "type": "Polygon", "coordinates": [ [ [2.3522, 48.8566], [2.3572, 48.8566], [2.3572, 48.8606], [2.3522, 48.8606], [2.3522, 48.8566] ] ] }, "properties": { "name": "Square in Paris" } } ] } # Ajout du GeoJSON à la carte folium.GeoJson(geojson_data, name="Mon GeoJSON", popup="Cliquez ici pour plus d'infos").add_to(m) # Affichage de la carte m
Explication du code :
import foliumimporte la bibliothèque folium, qui permet de créer des cartes interactives en Python.Création de la carte centrée sur Paris
La fonction
folium.Map()crée une carte centrée sur la latitude 48.8566 et la longitude 2.3522 (Paris) avec un niveau de zoom de 12. La variablemreprésente cette carte.Exemple de données GeoJSON (un simple polygone représentant un carré)
Les données
geojson_datasont sous format GeoJSON. Il s'agit d'un polygone représentant un carré. Le polygone est défini par une série de coordonnées géographiques (longitude, latitude), formant un carré autour de Paris. La propriéténameest un attribut lié à ce polygone, ici intitulé "Square in Paris".Ajout du GeoJSON à la carte
La méthode
folium.GeoJson()permet d'ajouter les données GeoJSON à la carte. L'argumentname="Mon GeoJSON"définit un nom pour cette couche, etpopup="Cliquez ici pour plus d'infos"définit le texte qui s'affichera lorsqu'on cliquera sur le polygone.La méthode
add_to(m)ajoute ensuite ce GeoJSON à la cartem.Affichage de la carte
En appelant simplement
mà la fin du code, la carte interactive avec le GeoJSON sera affichée dans l'environnement d'exécution, permettant à l'utilisateur d'interagir avec elle.