I am a data-scientist (an applied economist) and I have often to deal with data that includes spatial attributes.
I am hence interested in using spatial data, rather than producing spatial attributes.
Typical operations are attribute merging for vector data or pixel computations for raster data.
My colleagues use extensively R for these operations. My workflow is however in Python, and I am looking for a high-level python library that would allow me to keep a consistent workflow.
In particular I already managed to integrate data analysis with Python using the pandas library, and I wonder if there is a high level library that integrates the various GIS tools to provide a high-level unified interface. In all cases I am looking for script-based solutions, to work with Jupiter, rather than GUI programs like QGIS.
These are the libraries I have already evaluated and the reasons why they don't fit my needs:
- GeoPandas This is the closest library to my needs, but it is still immature compared with R (e.g. it's not possible to set the legend position in the map, there is no extensive documentation for the API..) and only vector operations are supported (no rasters).
- QGIS Python bynding (PyQGIS) Aside the dependence on user-specific Qgis installation path, the main problem is that it requires to adapt the script to consider GUI specific elements (like the concepts of application, canvas,..) that complicate pure scripting tasks.
- Python/GDAL, Shapely, Matplotlib basemap toolkit, Fiona These are all relatively low-level libraries that do specific tasks that possibly would be used by a higher-level library.