I'm using gdal lib for Python in a Jupyter Notebook environment.

I'd like to retrieve the resolution of a raster to use it in a gdal.warp call.

At the moment I do the following :

src = gdal.Open(mask)
ulx, xres, xskew, uly, yskew, yres  = src.GetGeoTransform()

but I get too much information. Is there a way to only retreive xres and yres?

  • 1
    because I really don't like to instantiate useless variables. I try to clarify and organize a working code ;-) – Pierrick Rambaud Jul 17 '20 at 9:35
  • 1
    Not adding as an answer as it's ugly, but you could use slice notation: xres, yres = src.GetGeoTransform()[1:6:4] – user2856 Jul 17 '20 at 10:06

Google says no. But a "workaround" could be to use operator.itemgetter:

import gdal, operator
src = gdal.Open(mask)
xres, yres = operator.itemgetter(1,5)(src.GetGeoTransform())

If you only want to avoid the unused variables use this code:

import gdal
src = gdal.Open(mask)
_, xres, _, _, _, yres  = src.GetGeoTransform()

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.