Unifying Extent and Resolution of Rasters Using Processing Framework in QGIS

Posted: January 4, 2014 in GIS
Tags: , , , , ,

My post about modification of extent and resolution of rasters drew quite a bit of attention and I decided to make a small New Year’s present to the community and create a QGIS Processing script to automate the process.

The script was designed to be used within Processing module of QGIS. This script will make two rasters of your choice to have the same spatial extent and pixel resolution so you will be able to use them simultaneously in raster calculator. No interpolation will be made – new pixels will get predefined value. Here is a simple illustration of what it does:

Modifications to rasters A and B

To use my humble gift simply download this archive and unpack files from ‘scripts‘ folder to your …/.qgis2/processing/scripts folder (or whatever folder you configured in Processing settings). At the next start of QGIS you will find a ‘Unify extent and resolution’ script in ‘Processing Toolbox’ in ‘Scripts’ under ‘Raster processing’ category:

If you launch it you will see this dialogue:

Main window

Note that ‘Help’ is available:

Help tab

Lets describe parameters. raster 1and raster 2are rasters that you want to unify. They must have the same CRS. Note that both output rasters will have the same pixel resolution as raster 1′.

‘replace No Data values with’ will provide value to pixels that will be added to rasters and replace original No Data values with the value provided here. Note that in output rasters this value will not be saved as No Data value, but as a regular one. This is done to ease feature calculations that would include both of this rasters, but I’m open to suggestions and if you think that No Data attribute should be assigned I can add corresponding functionality.

Finally you mast provide a path to the folder where the output rasters will be stored in ‘output directory’ field. A ‘_unified’ postfix will be added to the derived rasters file names: ‘raster_1.tif’ -> ‘raster_1_unified.tif’

If CRSs of rasters won’t match each other (and you will bypass built-in check) or  an invalid pass will be provided a warning message will pop up and the execution will be cancelled:

Example of the warning message

When the execution is finished you will be notified and asked if rasters should be added to TOC:

Happy New Year!

P.S. I would like to thank Australian government for making the code they create an open source. Their kindness saved me a couple of hours.

Advertisements
Comments
  1. […] Unifying Extent and Resolution of Rasters Using Processing Framework in QGIS […]

  2. […] Unifying Extent and Resolution of Rasters Using Processing Framework in QGIS […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s