Getting the cell size of a raster layer

The first key element of a geospatial raster is the width and height, in pixels. The second key element is the ground distance of each pixel, also called the pixel size. Once you know the cell size and a coordinate somewhere on the image (usually the upper-left corner), you can begin using remote sensing tools on the image. In this recipe, we'll query the cell size of a raster.

Getting ready

Once again, we will use the SatImage raster available at https://geospatialpython.googlecode.com/files/SatImage.zip.

Place this raster in your /qgis_data/rasters directory.

How to do it...

We will load the raster as a layer and then use the QgsRasterLayer API to get the cell size for the x and y axis. To do this, we need to perform the following steps:

  1. Start QGIS.
  2. From the Plugins menu, select Python Console.
  3. Load the layer and validate it:
    rasterLyr = QgsRasterLayer("/qgis_data/rasters/satimage.tif", "Sat Image")
    rasterLyr.isValid()
    
  4. Now, call the x distance method, which should return 0.00029932313140079714:
    rasterLyr.rasterUnitsPerPixelX()
    
  5. Then, call the y distance, which should be 0.00029932313140079714:
    rasterLyr.rasterUnitsPerPixelY()
    

How it works...

GDAL provides this information, which is passed through to the layer API. Note that while the x and y values are essentially the same in this case, it is entirely possible for the x and y distances to be different—especially if an image is projected or warped in some way.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset