Geopandas est un projet open source entièrement intégré à la librairie pandas gérant des fonctions pour intégrer et analyser de la donnée dans des chaînes de traitement Python. Geopandas permet la manipulation des objets spatiaux dans presque tous les formats vecteur (ESRI Shapefile, GeoJSON, KML…). En plus des manipulations géométriques, toutes les fonctionnalités statistiques de pandas peuvent être utilisées.
Quels sont les avantages de la librairie ?
Geopandas n’est pas forcément le choix de prédilection quand il s’agit de la manipulation des données spatiales. Les SIG et autres logiciels bureautiques semblent plus simples, plus efficaces et plus rapides que des lignes de code sur Python. Pourtant, la librairie présente des avantages non négligeables.
Elle permet de centraliser les chaînes de traitement en un seul algorithme. Il est courant sous SIG d’avoir à exporter des données suite à une série de traitements puis de la réimporter pour pouvoir appliquer de nouveaux traitements à ces mêmes données. L’avantage de tout centraliser en un algorithme est la possibilité d’importer et exporter les données une seule fois, l’algorithme se chargeant de stocker les résultats des traitements dans des variables. Ces variables offrent la possibilité de gérer toutes les données temporaires sans avoir à les exporter.
En plus de centraliser les chaînes de traitement, Geopandas et Python en général permettent l’automatisation de ces derniers. L’automatisation des traitements est également possible sous SIG (Model Builder pour ArcGIS, le modeleur graphique de QGIS), mais les outils d’automatisation des SIG ne sont pas aussi complet que ce qu’il est possible de faire avec Python (bien que ce manque peut être pallié par l’utilisation de Python dans ArcGIS et QGIS). La création de fonctions enchaînant plusieurs instructions selon des paramètres en entrée et le stockage de ces fonctions dans des modules auxquels on peut faire appel dans d’autres projets permet d’automatiser presque tout ce que l’on peut faire avec Geopandas.
Le seul point faible de l’outil est la représentation graphique des données. Geopandas est relativement limité en représentation cartographique, mais ce manque peut totalement être comblé par d’autres librairies ou bibliothèques Python ou par un logiciel de Dessin Assisté par Ordinateur (DAO).
L’avenir de la librairie
Les évolutions qui pourraient être bénéfiques pour la librairie concernent principalement son intégration dans les logiciels SIG. QGIS et ArcGIS intègrent entièrement le langage Python dans leur fonctionnement.
Le principe de centralisation des chaînes de traitement est déjà possible dans QGIS et ArcGIS par l’utilisation des différentes briques logiciels écrites en python (principe même de la programmation orientée objet). Ces briques sont intégrables via PyQGIS (API) pour QGIS et l’API Python d’ArcGIS. Geopandas n’a donc pas en tant que tel un grand apport pour les deux logiciels SIG. Pourtant l’intérêt majeur de l’intégration de la librairie dans les deux logiciels réside dans le principe même du langage Python : sa portabilité. En effet, un script écrit selon l’API ArcGIS ne fonctionnera pas sous QGIS et inversement. Geopandas étant créée pour fonctionner entièrement dans un environnement Python, sa syntaxe est très portative et permettrait aux développeurs et aux géomaticiens d’écrire des scripts fonctionnant sous n’importe quelle plateforme et n’importe quel logiciel (ce qui sous-entend que ces logiciels intègrent la librairie comme une dépendance ou une extension).
La librairie tend en tous les cas à se développer dans les prochaines années. La version actuelle est la 0.6.0, et toutes contributions est la bienvenue.
Sources
http://geopandas.org/
https://portailsig.org/content/python-geopandas-ou-le-pandas-spatial.html