0

I would like to do some basic operations over some downloaded raster files (tiff) and include the process in a package, but I don't want the users of my package to install GDAL, neither rasterio.

In the process I basically download every band of a multiband raster separately, and need to merge all into one single raster tiff. I know it can be done with the mentioned packages, but I need a pure python solution for this simple task. I was thinking in scikit-image but I am not sure how it will be for handling geographic information, mainly CRS.

  • What you describe is simple image manipulation? A raster dataset is not much different from a multidimensional array, so you can use whatever image library you prefer. CRS information is just metadata that is either stored in the header or in extra files, so shouldn't be troubled by it. If you have concerns about speed or specific tasks, more specific suggestions can be given. – Senshi Sep 27 '18 at 16:47
  • How about PIL/Pillow pythonware.com/products/pil? – user30184 Sep 27 '18 at 17:12
  • skimage likely leans on numpy, so there goes your pure python. I would recommend looking into freezing packages e.g. with pyinstaller so you can lean on the existing functionality of those purpose-built libraries – mikewatt Sep 27 '18 at 19:38
  • Thank you all. I guess all band must be in the same projection in order to use a simple image manipulation library – Rodrigo E. Principe Sep 28 '18 at 2:37
  • 2
    Neither scikit-image (written in Cython) or PIL/pillow (written in C) are pure python. I don't know of a pure python geotiff/raster package, but if you did find one, I would bet that it has at least one or two binary dependencies (i.e numpy or libtiff). – user2856 Sep 28 '18 at 2:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.