Deze week was ik bij GoDataDriven in Amsterdam voor de cursus Data Science met Python. In de cursus was er veel aandacht voor Pandas. Met Pandas wordt het manipuleren en analyseren van gegevens in Python een stuk eenvoudiger!

Ik nam mij voor om informatievragen in de komende periode zo veel mogelijk te beantwoorden met behulp van Python. Dan beklijft de cursus beter. Omdat ik bij de provincie vooral werk met geografische gegevens, wil ik ook GeoPandas gaan gebruiken.

GeoPandas is an open source project to make working with geospatial data in python easier.
GeoPandas extends the datatypes used by pandas to allow spatial operations on geometric types.

Het installeren van GeoPandas op mijn Windows laptop bleek nog niet zo eenvoudig. GeoPandas is afhankelijk van een aantal andere packages waaronder GDAL, Fiona, pyproj, RTree en Shapely. Het installeren van deze dependencies was de moeilijkheid.

Voor het installeren van GeoPandas volgde ik de stappen in het artikel Using geopandas on Windows van Geoff Boeing. Ik gebruik de Anaconda Python distributie. Daarom probeerde ik eerst om GeoPandas te installeren met de conda package manager:

conda install -c conda-forge geopandas

Ik kreeg de volgende waarschuwing en besloot de installatie af te breken:
WARNING: The conda.compat module is deprecated and will be removed in a future release.

Daarna volgde ik de instructies onder Installing geopandas and its dependencies manually. Ik probeerde de installatie uit te voeren met behulp van de pip package manager en wheels. Wheel is een installatieformaat waarbij het niet meer nodig is om code lokaal te compileren. Dat is vooraf al gebeurd.

Helaas had dit ook niet het gewenste resultaat. Dit testte ik in Jupyter met de volgende code:

from osgeo import gdal, ogr, osr         
from fiona.ogrext import Iterator, ItemsIterator, KeysIterator         
from geopandas import GeoDataFrame         
gdal.VersionInfo()       

GDAL (versie 3.0.0) was goed geïnstalleerd, Fiona en GeoPandas niet. Het importeren van Fiona gaf namelijk een foutmelding: ImportError: DLL load failed: The specified module could not be found.
Fiona is afhankelijk van GDAL, en GeoPandas weer van Fiona. Als Fiona niet goed geïnstalleerd is, werkt GeoPandas ook niet.

Het is uiteindelijk toch gelukt om GeoPandas te installeren. Dit zijn de stappen die daarvoor nodig waren:

  1. Deïnstalleren van Anaconda.
  2. Installeren van de nieuwste versie van Anaconda.
  3. Opstarten van Anaconda Powershell Prompt met beheerrechten (Run as Administrator).
  4. Uitvoeren van conda update conda.
  5. Uitvoeren van conda install -c conda-forge geopandas.

Als ik in Jupyter dezelfde code uitvoer als eerder, krijg ik geen foutmelding meer.

Het versienummer van GDAL is nu 2.0.3. Blijkbaar installeert conda een oudere versie van GDAL. Misschien was de hogere versie van GDAL in het wheel van Christoph Gohlke het probleem?

Hoe dan ook, ik kan aan de slag!