QGIS API Documentation  2.18.21-Las Palmas (9fba24a)
Classes | Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
QgsAlignRaster Class Reference

QgsAlignRaster takes one or more raster layers and warps (resamples) them so they have the same: More...

#include <qgsalignraster.h>

Classes

struct  Item
 Definition of one raster layer for alignment. More...
 
struct  ProgressHandler
 Helper struct to be sub-classed for progress reporting. More...
 
struct  RasterInfo
 Utility class for gathering information about rasters. More...
 

Public Types

typedef QList< ItemList
 
enum  ResampleAlg {
  RA_NearestNeighbour = 0, RA_Bilinear = 1, RA_Cubic = 2, RA_CubicSpline = 3,
  RA_Lanczos = 4, RA_Average = 5, RA_Mode = 6, RA_Max = 8,
  RA_Min = 9, RA_Median = 10, RA_Q1 = 11, RA_Q3 = 12
}
 Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg) More...
 

Public Member Functions

 QgsAlignRaster ()
 
QgsRectangle alignedRasterExtent () const
 Return expected extent of the resulting aligned raster. More...
 
QSize alignedRasterSize () const
 Return expected size of the resulting aligned raster. More...
 
QSizeF cellSize () const
 Get output cell size. More...
 
bool checkInputParameters ()
 Determine destination extent from the input rasters and calculate derived values. More...
 
QgsRectangle clipExtent () const
 Get clipping extent (region of interest). More...
 
QString destinationCRS () const
 Get the output CRS in WKT format. More...
 
void dump () const
 write contents of the object to standard error stream - for debugging More...
 
QString errorMessage () const
 Return error from a previous run() call. More...
 
QPointF gridOffset () const
 
ProgressHandlerprogressHandler () const
 Get associated progress handler. May be nullptr (default) More...
 
List rasters () const
 Get list of rasters that will be aligned. More...
 
bool run ()
 Run the alignment process. More...
 
void setCellSize (double x, double y)
 Set output cell size. More...
 
void setCellSize (QSizeF size)
 Set output cell size. More...
 
void setClipExtent (double xmin, double ymin, double xmax, double ymax)
 Configure clipping extent (region of interest). More...
 
void setClipExtent (const QgsRectangle &extent)
 Configure clipping extent (region of interest). More...
 
void setDestinationCRS (const QString &crsWkt)
 Set the output CRS in WKT format. More...
 
void setGridOffset (QPointF offset)
 
bool setParametersFromRaster (const RasterInfo &rasterInfo, const QString &customCRSWkt=QString(), QSizeF customCellSize=QSizeF(), QPointF customGridOffset=QPointF(-1, -1))
 Set destination CRS, cell size and grid offset from a raster file. More...
 
bool setParametersFromRaster (const QString &filename, const QString &customCRSWkt=QString(), QSizeF customCellSize=QSizeF(), QPointF customGridOffset=QPointF(-1, -1))
 Overridden variant for convenience, taking filename instead RasterInfo object. More...
 
void setProgressHandler (ProgressHandler *progressHandler)
 Assign a progress handler instance. Does not take ownership. nullptr can be passed. More...
 
void setRasters (const List &list)
 Set list of rasters that will be aligned. More...
 
int suggestedReferenceLayer () const
 Return index of the layer which has smallest cell size (returns -1 on error) More...
 

Protected Member Functions

bool createAndWarp (const Item &raster)
 Internal function for processing of one raster (1. create output, 2. do the alignment) More...
 

Static Protected Member Functions

static bool suggestedWarpOutput (const RasterInfo &info, const QString &destWkt, QSizeF *cellSize=nullptr, QPointF *gridOffset=nullptr, QgsRectangle *rect=nullptr)
 Determine suggested output of raster warp to a different CRS. Returns true on success. More...
 

Protected Attributes

double mCellSizeX
 Destination cell size. More...
 
double mCellSizeY
 
double mClipExtent [4]
 Optional clip extent: sets "requested area" which be extended to fit the raster grid. More...
 
QString mCrsWkt
 Destination CRS - stored in well-known text (WKT) format. More...
 
QString mErrorMessage
 Last error message from run() More...
 
double mGeoTransform [6]
 Computed geo-transform. More...
 
double mGridOffsetX
 Destination grid offset - expected to be in interval <0,cellsize) More...
 
double mGridOffsetY
 
ProgressHandlermProgressHandler
 Object that facilitates reporting of progress / cancellation. More...
 
List mRasters
 List of rasters to be aligned (with their output files and other options) More...
 
int mXSize
 Computed raster grid width/height. More...
 
int mYSize
 

Detailed Description

QgsAlignRaster takes one or more raster layers and warps (resamples) them so they have the same:

Note
added in QGIS 2.12

Definition at line 39 of file qgsalignraster.h.

Member Typedef Documentation

◆ List

Definition at line 140 of file qgsalignraster.h.

Member Enumeration Documentation

◆ ResampleAlg

Resampling algorithm to be used (equivalent to GDAL's enum GDALResampleAlg)

Note
RA_Max, RA_Min, RA_Median, RA_Q1 and RA_Q3 are available on GDAL >= 2.0 builds only
Enumerator
RA_NearestNeighbour 

Nearest neighbour (select on one input pixel)

RA_Bilinear 

Bilinear (2x2 kernel)

RA_Cubic 

Cubic Convolution Approximation (4x4 kernel)

RA_CubicSpline 

Cubic B-Spline Approximation (4x4 kernel)

RA_Lanczos 

Lanczos windowed sinc interpolation (6x6 kernel)

RA_Average 

Average (computes the average of all non-NODATA contributing pixels)

RA_Mode 

Mode (selects the value which appears most often of all the sampled points)

RA_Max 

Maximum (selects the maximum of all non-NODATA contributing pixels)

RA_Min 

Minimum (selects the minimum of all non-NODATA contributing pixels)

RA_Median 

Median (selects the median of all non-NODATA contributing pixels)

RA_Q1 

First quartile (selects the first quartile of all non-NODATA contributing pixels)

RA_Q3 

Third quartile (selects the third quartile of all non-NODATA contributing pixels)

Definition at line 99 of file qgsalignraster.h.

Constructor & Destructor Documentation

◆ QgsAlignRaster()

QgsAlignRaster::QgsAlignRaster ( )

Definition at line 119 of file qgsalignraster.cpp.

Member Function Documentation

◆ alignedRasterExtent()

QgsRectangle QgsAlignRaster::alignedRasterExtent ( ) const

Return expected extent of the resulting aligned raster.

Note
first need to run checkInputParameters() which returns with success

Definition at line 352 of file qgsalignraster.cpp.

◆ alignedRasterSize()

QSize QgsAlignRaster::alignedRasterSize ( ) const

Return expected size of the resulting aligned raster.

Note
first need to run checkInputParameters() which returns with success

Definition at line 347 of file qgsalignraster.cpp.

◆ cellSize()

QSizeF QgsAlignRaster::cellSize ( ) const
inline

Get output cell size.

Definition at line 171 of file qgsalignraster.h.

◆ checkInputParameters()

bool QgsAlignRaster::checkInputParameters ( )

Determine destination extent from the input rasters and calculate derived values.

Returns
true on success, sets error on error (see errorMessage())

Definition at line 239 of file qgsalignraster.cpp.

◆ clipExtent()

QgsRectangle QgsAlignRaster::clipExtent ( ) const

Get clipping extent (region of interest).

No extra clipping is done if the rectangle is null

Definition at line 147 of file qgsalignraster.cpp.

◆ createAndWarp()

bool QgsAlignRaster::createAndWarp ( const Item raster)
protected

Internal function for processing of one raster (1. create output, 2. do the alignment)

Definition at line 421 of file qgsalignraster.cpp.

◆ destinationCRS()

QString QgsAlignRaster::destinationCRS ( ) const
inline

Get the output CRS in WKT format.

Definition at line 176 of file qgsalignraster.h.

◆ dump()

void QgsAlignRaster::dump ( ) const

write contents of the object to standard error stream - for debugging

Definition at line 377 of file qgsalignraster.cpp.

◆ errorMessage()

QString QgsAlignRaster::errorMessage ( ) const
inline

Return error from a previous run() call.

Error message is empty if run() succeeded (returned true)

Definition at line 219 of file qgsalignraster.h.

◆ gridOffset()

QPointF QgsAlignRaster::gridOffset ( ) const
inline

Definition at line 164 of file qgsalignraster.h.

◆ progressHandler()

ProgressHandler* QgsAlignRaster::progressHandler ( ) const
inline

Get associated progress handler. May be nullptr (default)

Definition at line 156 of file qgsalignraster.h.

◆ rasters()

List QgsAlignRaster::rasters ( ) const
inline

Get list of rasters that will be aligned.

Definition at line 161 of file qgsalignraster.h.

◆ run()

bool QgsAlignRaster::run ( )

Run the alignment process.

Returns
true on success, sets error on error (see errorMessage())

Definition at line 358 of file qgsalignraster.cpp.

◆ setCellSize() [1/2]

void QgsAlignRaster::setCellSize ( double  x,
double  y 
)
inline

Set output cell size.

Definition at line 167 of file qgsalignraster.h.

◆ setCellSize() [2/2]

void QgsAlignRaster::setCellSize ( QSizeF  size)
inline

Set output cell size.

Definition at line 169 of file qgsalignraster.h.

◆ setClipExtent() [1/2]

void QgsAlignRaster::setClipExtent ( double  xmin,
double  ymin,
double  xmax,
double  ymax 
)

Configure clipping extent (region of interest).

No extra clipping is done if the rectangle is null

Definition at line 133 of file qgsalignraster.cpp.

◆ setClipExtent() [2/2]

void QgsAlignRaster::setClipExtent ( const QgsRectangle extent)

Configure clipping extent (region of interest).

No extra clipping is done if the rectangle is null

Definition at line 141 of file qgsalignraster.cpp.

◆ setDestinationCRS()

void QgsAlignRaster::setDestinationCRS ( const QString crsWkt)
inline

Set the output CRS in WKT format.

Definition at line 174 of file qgsalignraster.h.

◆ setGridOffset()

void QgsAlignRaster::setGridOffset ( QPointF  offset)
inline

Definition at line 163 of file qgsalignraster.h.

◆ setParametersFromRaster() [1/2]

bool QgsAlignRaster::setParametersFromRaster ( const RasterInfo rasterInfo,
const QString customCRSWkt = QString(),
QSizeF  customCellSize = QSizeF(),
QPointF  customGridOffset = QPointF( -1, -1 ) 
)

Set destination CRS, cell size and grid offset from a raster file.

The user may provide custom values for some of the parameters - in such case only the remaining parameters are calculated.

If default CRS is used, the parameters are set according to the raster file's geo-transform. If a custom CRS is provided, suggested reprojection is calculated first (using GDAL) in order to determine suitable defaults for cell size and grid offset.

Returns
true on success (may fail if it is not possible to reproject raster to given CRS)

Definition at line 159 of file qgsalignraster.cpp.

◆ setParametersFromRaster() [2/2]

bool QgsAlignRaster::setParametersFromRaster ( const QString filename,
const QString customCRSWkt = QString(),
QSizeF  customCellSize = QSizeF(),
QPointF  customGridOffset = QPointF( -1, -1 ) 
)

Overridden variant for convenience, taking filename instead RasterInfo object.

See the other variant for details.

Definition at line 154 of file qgsalignraster.cpp.

◆ setProgressHandler()

void QgsAlignRaster::setProgressHandler ( ProgressHandler progressHandler)
inline

Assign a progress handler instance. Does not take ownership. nullptr can be passed.

Definition at line 154 of file qgsalignraster.h.

◆ setRasters()

void QgsAlignRaster::setRasters ( const List list)
inline

Set list of rasters that will be aligned.

Definition at line 159 of file qgsalignraster.h.

◆ suggestedReferenceLayer()

int QgsAlignRaster::suggestedReferenceLayer ( ) const

Return index of the layer which has smallest cell size (returns -1 on error)

Definition at line 390 of file qgsalignraster.cpp.

◆ suggestedWarpOutput()

bool QgsAlignRaster::suggestedWarpOutput ( const RasterInfo info,
const QString destWkt,
QSizeF cellSize = nullptr,
QPointF gridOffset = nullptr,
QgsRectangle rect = nullptr 
)
staticprotected

Determine suggested output of raster warp to a different CRS. Returns true on success.

Definition at line 518 of file qgsalignraster.cpp.

Member Data Documentation

◆ mCellSizeX

double QgsAlignRaster::mCellSizeX
protected

Destination cell size.

Definition at line 251 of file qgsalignraster.h.

◆ mCellSizeY

double QgsAlignRaster::mCellSizeY
protected

Definition at line 251 of file qgsalignraster.h.

◆ mClipExtent

double QgsAlignRaster::mClipExtent[4]
protected

Optional clip extent: sets "requested area" which be extended to fit the raster grid.

Clipping not done if all coords are zeroes.

Definition at line 257 of file qgsalignraster.h.

◆ mCrsWkt

QString QgsAlignRaster::mCrsWkt
protected

Destination CRS - stored in well-known text (WKT) format.

Definition at line 249 of file qgsalignraster.h.

◆ mErrorMessage

QString QgsAlignRaster::mErrorMessage
protected

Last error message from run()

Definition at line 243 of file qgsalignraster.h.

◆ mGeoTransform

double QgsAlignRaster::mGeoTransform[6]
protected

Computed geo-transform.

Definition at line 262 of file qgsalignraster.h.

◆ mGridOffsetX

double QgsAlignRaster::mGridOffsetX
protected

Destination grid offset - expected to be in interval <0,cellsize)

Definition at line 253 of file qgsalignraster.h.

◆ mGridOffsetY

double QgsAlignRaster::mGridOffsetY
protected

Definition at line 253 of file qgsalignraster.h.

◆ mProgressHandler

ProgressHandler* QgsAlignRaster::mProgressHandler
protected

Object that facilitates reporting of progress / cancellation.

Definition at line 240 of file qgsalignraster.h.

◆ mRasters

List QgsAlignRaster::mRasters
protected

List of rasters to be aligned (with their output files and other options)

Definition at line 246 of file qgsalignraster.h.

◆ mXSize

int QgsAlignRaster::mXSize
protected

Computed raster grid width/height.

Definition at line 264 of file qgsalignraster.h.

◆ mYSize

int QgsAlignRaster::mYSize
protected

Definition at line 264 of file qgsalignraster.h.


The documentation for this class was generated from the following files: