QGIS API Documentation  2.14.0-Essen
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
}
 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 38 of file qgsalignraster.h.

Member Typedef Documentation

Definition at line 133 of file qgsalignraster.h.

Member Enumeration Documentation

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

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)

Definition at line 97 of file qgsalignraster.h.

Constructor & Destructor Documentation

QgsAlignRaster::QgsAlignRaster ( )

Definition at line 119 of file qgsalignraster.cpp.

Member Function Documentation

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 353 of file qgsalignraster.cpp.

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 348 of file qgsalignraster.cpp.

QSizeF QgsAlignRaster::cellSize ( ) const
inline

Get output cell size.

Definition at line 164 of file qgsalignraster.h.

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.

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.

bool QgsAlignRaster::createAndWarp ( const Item raster)
protected

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

Definition at line 422 of file qgsalignraster.cpp.

QString QgsAlignRaster::destinationCRS ( ) const
inline

Get the output CRS in WKT format.

Definition at line 169 of file qgsalignraster.h.

void QgsAlignRaster::dump ( void  ) const

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

Definition at line 378 of file qgsalignraster.cpp.

QString QgsAlignRaster::errorMessage ( ) const
inline

Return error from a previous run() call.

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

Definition at line 212 of file qgsalignraster.h.

QPointF QgsAlignRaster::gridOffset ( ) const
inline

Definition at line 157 of file qgsalignraster.h.

ProgressHandler* QgsAlignRaster::progressHandler ( ) const
inline

Get associated progress handler. May be nullptr (default)

Definition at line 149 of file qgsalignraster.h.

List QgsAlignRaster::rasters ( ) const
inline

Get list of rasters that will be aligned.

Definition at line 154 of file qgsalignraster.h.

bool QgsAlignRaster::run ( )

Run the alignment process.

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

Definition at line 359 of file qgsalignraster.cpp.

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

Set output cell size.

Definition at line 160 of file qgsalignraster.h.

void QgsAlignRaster::setCellSize ( QSizeF  size)
inline

Set output cell size.

Definition at line 162 of file qgsalignraster.h.

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.

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.

void QgsAlignRaster::setDestinationCRS ( const QString crsWkt)
inline

Set the output CRS in WKT format.

Definition at line 167 of file qgsalignraster.h.

void QgsAlignRaster::setGridOffset ( QPointF  offset)
inline

Definition at line 156 of file qgsalignraster.h.

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.

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.

void QgsAlignRaster::setProgressHandler ( ProgressHandler progressHandler)
inline

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

Definition at line 147 of file qgsalignraster.h.

void QgsAlignRaster::setRasters ( const List list)
inline

Set list of rasters that will be aligned.

Definition at line 152 of file qgsalignraster.h.

int QgsAlignRaster::suggestedReferenceLayer ( ) const

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

Definition at line 391 of file qgsalignraster.cpp.

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 519 of file qgsalignraster.cpp.

Member Data Documentation

double QgsAlignRaster::mCellSizeX
protected

Destination cell size.

Definition at line 244 of file qgsalignraster.h.

double QgsAlignRaster::mCellSizeY
protected

Definition at line 244 of file qgsalignraster.h.

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 250 of file qgsalignraster.h.

QString QgsAlignRaster::mCrsWkt
protected

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

Definition at line 242 of file qgsalignraster.h.

QString QgsAlignRaster::mErrorMessage
protected

Last error message from run()

Definition at line 236 of file qgsalignraster.h.

double QgsAlignRaster::mGeoTransform[6]
protected

Computed geo-transform.

Definition at line 255 of file qgsalignraster.h.

double QgsAlignRaster::mGridOffsetX
protected

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

Definition at line 246 of file qgsalignraster.h.

double QgsAlignRaster::mGridOffsetY
protected

Definition at line 246 of file qgsalignraster.h.

ProgressHandler* QgsAlignRaster::mProgressHandler
protected

Object that facilitates reporting of progress / cancellation.

Definition at line 233 of file qgsalignraster.h.

List QgsAlignRaster::mRasters
protected

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

Definition at line 239 of file qgsalignraster.h.

int QgsAlignRaster::mXSize
protected

Computed raster grid width/height.

Definition at line 257 of file qgsalignraster.h.

int QgsAlignRaster::mYSize
protected

Definition at line 257 of file qgsalignraster.h.


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