5 packages Python pour l'analyse des données géospatiales
Cet article traite de l'importance de l'analyse géospatiale et présente cinq packages Python essentiels pour gérer et visualiser efficacement des informations précieuses à partir de données géospatiales.
2. Feuille
Convient pour : Les nuages de points
Folium est une bibliothèque Python permettant de créer des cartes interactives avec des marqueurs, des fenêtres contextuelles, des choroplèthes et d'autres visualisations géospatiales. Il s'intègre à la bibliothèque JavaScript Leaflet et permet d'exporter des cartes au format HTML. Il peut être combiné avec Geopandas et Cartopy et gère de grands ensembles de données à l'aide de Map Tiles. Folium excelle dans la simplicité, l'esthétique et l'intégration avec d'autres bibliothèques géospatiales. Cependant, pour l'analyse et la manipulation géospatiales avancées, Folium peut avoir des limites.
Par exemple, Folium pourrait être utilisé dans la chaîne d'approvisionnement et la logistique pour visualiser les réseaux de distribution, optimiser les itinéraires et surveiller les lieux d'expédition.
Nous pouvons installer Folium avec la commande suivante :
pip install folium
Tracer avec Folium
Imprimons un exemple de carte interactive centrée sur [0, 0] avec un marqueur placé au même endroit avec les lignes de code suivantes :
import folium
# Generate a Folium map with center coordinates (0, 0)
map = folium.Map(location=[0, 0], zoom_start=2)
# Locate the coordinates 0, 0
folium.Marker([0, 0]).add_to(map)
# Display the map
map
Cette carte peut être personnalisée davantage en ajoutant des marqueurs, des couches ou des options de style basées sur des données géospatiales spécifiques.
3. dépliant ipyle
Convient pour : Nuages de points, interactifs
Le package ipyleaflet permet la création facile de cartes interactives en Python, en particulier dans les blocs-notes Jupyter, permettant aux utilisateurs de générer et de partager des cartes interactives avec divers fonds de carte, marqueurs et autres opérations géospatiales. Construit sur la bibliothèque JavaScript de leaflet, ipyleaflet prend en charge les couches GeoJSON et WMS, les styles CSS et JavaScript et les calculs géospatiaux. Bien qu'ipyleaflet excelle dans les widgets interactifs, il n'est peut-être pas idéal pour les projets purement basés sur Python en raison de sa dépendance JavaScript.
Par exemple, ipyleaflet peut être appliqué à la surveillance environnementale pour visualiser les données des capteurs, surveiller la qualité de l'air et évaluer les changements environnementaux en temps réel.
Pour installer ipyleaflet, nous utilisons la commande pip :
pip install ipyleaflet
Tracer avec ipyleaflet
Créons une carte interactive avec un marqueur placé aux coordonnées (40.7128, -74.0060) pour représenter un point d'intérêt de New York en utilisant le code ci-dessous :
from ipyleaflet import Map, Marker
# Create the map
m = Map(center=(40.7128, -74.0060), zoom=12)
# Add the market
marker = Marker(location=(40.7128, -74.0060))
m.add_layer(marker)
Voici une sortie pour le code :
4. Rasterio
Convient pour : Données raster
Rasterio est une puissante bibliothèque Python permettant de travailler avec des données raster géospatiales, offrant des performances efficaces et un large éventail d'opérations telles que le recadrage, la reprojection et le rééchantillonnage. Il prend en charge divers formats raster et s'intègre bien à d'autres bibliothèques géospatiales, bien qu'il présente des limites dans la gestion des données vectorielles et des tâches d'analyse complexes. Néanmoins, Rasterio est un outil essentiel pour une manipulation et un traitement efficaces des données raster en Python.
Par exemple, rasterio peut être utilisé dans des tâches telles que la lecture et l'écriture d'images satellite, l'analyse de terrain, l'extraction de données à partir de modèles numériques d'élévation et la réalisation d'analyses de télédétection.
!pip install rasterio
La fonction rasterio.open() ouvre le fichier et la méthode read() lit l'image sous forme de tableau numpy. Enfin, la fonction plt.imshow() de Matplotlib est utilisée pour afficher l'image, et plt.show() affiche le tracé dans la sortie.
Traçage avec rasterio
import rasterio
from rasterio.plot import show
Nous utilisons la bibliothèque rasterio pour ouvrir et visualiser une image raster à partir du fichier 'sample.tif' de l'ensemble de données 'Images GeoTIFF haute résolution de données climatiques' sur kaggle, affichant le canal rouge (l'un des canaux de couleur de l'image) comme sous-intrigue avec une carte de couleurs Reds, et l'image originale (comprenant plusieurs canaux de couleur) comme une autre sous-intrigue avec une carte de couleurs viridis. D'autres canaux de couleur, tels que le vert et le bleu, peuvent également être visualisés en utilisant cette approche.
src = rasterio.open('/content/sample.tif')
plt.figure(figsize=(15,10))
fig, (axr, axg) = plt.subplots(1,2, figsize=(15,7))
show((src, 1), ax=axr, cmap='Reds', title='red channel')
show((src), ax=axg, cmap='viridis', title='original image')
plt.show()
L'analyse de canaux de couleur spécifiques tels que le rouge, le bleu et le vert dans l'analyse géospatiale est effectuée pour se concentrer ou extraire des informations précieuses liées à des attributs, caractéristiques ou caractéristiques spécifiques représentés par ces composants de couleur de l'image. Les exemples pourraient inclure la santé de la végétation en télédétection, les indices de végétation ou les plans d’eau, etc.
5. Géolocalisation
Convient pour : données vectorielles, interactives
Geoplot est une bibliothèque Python conviviale permettant de créer rapidement des visualisations géospatiales visuellement attrayantes, notamment des cartes choroplèthes et des nuages de points. Il s'intègre parfaitement aux bibliothèques de manipulation de données populaires telles que Pandas et prend en charge plusieurs projections cartographiques. Cependant, Geoplot présente des limites en ce qui concerne la prise en charge des cartes interactives et une gamme de types de tracés plus restreinte que les bibliothèques géospatiales spécialisées. Néanmoins, il reste utile pour une visualisation rapide des données géospatiales et pour obtenir un aperçu des modèles spatiaux.
!pip install geoplot
Traçage avec géolocalisation
Nous allons tracer une visualisation de carte choroplèthe à l'aide de Geoplot, où nous sélectionnons les pays asiatiques à partir d'un fichier de formes mondial basé sur l'attribut "continent", attribuons l'intensité de la couleur en fonction de l'attribut "pop_est" et traçons la carte en utilisant la couleur "icefire". carte avec une légende avec une taille de chiffre de 10 par 5.
import geoplot
#Plotting population for Asia
asia = world.query("continent == 'Asia'")
geoplot.choropleth(asia, hue = "pop_est", cmap = "icefire",legend=True, figsize = (10, 5));
Par exemple, le package Geoplot peut créer des cartes choroplèthes pour visualiser la densité de population, tracer des schémas spatiaux d'incidents criminels, afficher la répartition des facteurs environnementaux et analyser la propagation des maladies sur la base de données géographiques.
Conclusion
En conclusion, les packages géospatiaux Python aident à analyser efficacement les informations basées sur la localisation. Chacun des packages discutés a ses forces et ses faiblesses, mais ensemble, ils peuvent former une puissante suite d'outils Python lorsque vous travaillez avec des données géospatiales. Ainsi, pour les débutants ou les professionnels SIG chevronnés, ces packages sont précieux pour analyser, visualiser et manipuler les données géospatiales de manière nouvelle et innovante.
Vous pouvez trouver le code de cet article sur mon référentiel GitHub ici.
Si vous avez trouvé cet article intéressant, connectez-vous avec moi sur LinkedIn et Twitter. N'oubliez pas de me suivre sur Kaggle, où vous pourrez accéder à mes projets d'apprentissage automatique et d'apprentissage profond, à mes cahiers et à mes visualisations de données captivantes.