r-barnes / richdem

High-performance Terrain and Hydrology Analysis
GNU General Public License v3.0
271 stars 69 forks source link

Allow usage of rasterio instead of GDAL's python bindings for loading/saving of files #63

Closed tgrandje closed 6 months ago

tgrandje commented 1 year ago

Add possibility to use rasterio rather than GDAL's python bindings: GDAL's python bindings can be gruesome to install, especially on windows) ; rasterio includes it's own API and a GDAL distribution (whereas GDAL python package does not).

GDAL's python bindings (= GDAL python package, refered further to as 'gdal') and rasterio are not compatible; more can be found there. As gdal initializes the context at the first call of the module, I chose to test the presence of rasterio first.

(Sorry for the diff-file format; it will be difficult to read because I moved all exceptions messages at the start of LoadGDAL, instead of duplicating these in rasterio's and gdal's sections...)

r-barnes commented 6 months ago

@tgrandje - Thanks! Rather than using the big try-except blocks, it would have been better to put the contents of said blocks into their own functions in order to make the logic of the try-except clearer. I'll accept this and make that change myself.