QGIS API Documentation  3.20.0-Odense (decaadbb31)
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
QgsRasterFileWriter Class Reference

The raster file writer which allows you to save a raster to a new file. More...

#include <qgsrasterfilewriter.h>

Classes

struct  FilterFormatDetails
 Details of available filters and formats. More...
 

Public Types

enum  Mode { Raw = 0 , Image = 1 }
 
enum  RasterFormatOption { SortRecommended = 1 << 1 }
 Options for sorting and filtering raster formats. More...
 
enum  WriterError {
  NoError = 0 , SourceProviderError = 1 , DestProviderError = 2 , CreateDatasourceError = 3 ,
  WriteError = 4 , NoDataConflict = 5 , WriteCanceled = 6
}
 

Public Member Functions

 QgsRasterFileWriter (const QString &outputUrl)
 
QgsRaster::RasterBuildPyramids buildPyramidsFlag () const
 
QgsRasterDataProvidercreateMultiBandRaster (Qgis::DataType dataType, int width, int height, const QgsRectangle &extent, const QgsCoordinateReferenceSystem &crs, int nBands)
 Create a raster file with given number of bands without initializing the pixel data. More...
 
QgsRasterDataProvidercreateOneBandRaster (Qgis::DataType dataType, int width, int height, const QgsRectangle &extent, const QgsCoordinateReferenceSystem &crs)
 Create a raster file with one band without initializing the pixel data. More...
 
QStringList createOptions () const
 
int maxTileHeight () const
 
int maxTileWidth () const
 
QString outputFormat () const
 
QString outputProviderKey () const
 
QString outputUrl () const
 Returns the output URL for the raster. More...
 
QStringList pyramidsConfigOptions () const
 
QgsRaster::RasterPyramidsFormat pyramidsFormat () const
 
QList< int > pyramidsList () const
 
QString pyramidsResampling () const
 
void setBuildPyramidsFlag (QgsRaster::RasterBuildPyramids f)
 
void setCreateOptions (const QStringList &list)
 
void setMaxTileHeight (int h)
 
void setMaxTileWidth (int w)
 
void setOutputFormat (const QString &format)
 
void setOutputProviderKey (const QString &key)
 
void setPyramidsConfigOptions (const QStringList &list)
 
void setPyramidsFormat (QgsRaster::RasterPyramidsFormat f)
 
void setPyramidsList (const QList< int > &list)
 
void setPyramidsResampling (const QString &str)
 
void setTiledMode (bool t)
 
bool tiledMode () const
 
WriterError writeRaster (const QgsRasterPipe *pipe, int nCols, int nRows, const QgsRectangle &outputExtent, const QgsCoordinateReferenceSystem &crs, const QgsCoordinateTransformContext &transformContext, QgsRasterBlockFeedback *feedback=nullptr)
 Write raster file. More...
 
Q_DECL_DEPRECATED WriterError writeRaster (const QgsRasterPipe *pipe, int nCols, int nRows, const QgsRectangle &outputExtent, const QgsCoordinateReferenceSystem &crs, QgsRasterBlockFeedback *feedback=nullptr)
 Write raster file. More...
 

Static Public Member Functions

static QString driverForExtension (const QString &extension)
 Returns the GDAL driver name for a specified file extension. More...
 
static QStringList extensionsForFormat (const QString &format)
 Returns a list of known file extensions for the given GDAL driver format. More...
 
static QString filterForDriver (const QString &driverName)
 Creates a filter for an GDAL driver key. More...
 
static QList< QgsRasterFileWriter::FilterFormatDetailssupportedFiltersAndFormats (RasterFormatOptions options=SortRecommended)
 Returns a list or pairs, with format filter string as first element and GDAL format key as second element. More...
 
static QStringList supportedFormatExtensions (RasterFormatOptions options=SortRecommended)
 Returns a list of file extensions for supported formats. More...
 

Detailed Description

The raster file writer which allows you to save a raster to a new file.

Definition at line 39 of file qgsrasterfilewriter.h.

Member Enumeration Documentation

◆ Mode

Enumerator
Raw 

Raw data.

Image 

Rendered image.

Definition at line 42 of file qgsrasterfilewriter.h.

◆ RasterFormatOption

Options for sorting and filtering raster formats.

Since
QGIS 3.0
Enumerator
SortRecommended 

Use recommended sort order, with extremely commonly used formats listed first.

Definition at line 62 of file qgsrasterfilewriter.h.

◆ WriterError

Enumerator
NoError 
SourceProviderError 
DestProviderError 
CreateDatasourceError 
WriteError 
NoDataConflict 

Internal error if a value used for 'no data' was found in input.

WriteCanceled 

Writing was manually canceled.

Definition at line 47 of file qgsrasterfilewriter.h.

Constructor & Destructor Documentation

◆ QgsRasterFileWriter()

QgsRasterFileWriter::QgsRasterFileWriter ( const QString &  outputUrl)

Definition at line 65 of file qgsrasterfilewriter.cpp.

Member Function Documentation

◆ buildPyramidsFlag()

QgsRaster::RasterBuildPyramids QgsRasterFileWriter::buildPyramidsFlag ( ) const
inline

Definition at line 146 of file qgsrasterfilewriter.h.

◆ createMultiBandRaster()

QgsRasterDataProvider * QgsRasterFileWriter::createMultiBandRaster ( Qgis::DataType  dataType,
int  width,
int  height,
const QgsRectangle extent,
const QgsCoordinateReferenceSystem crs,
int  nBands 
)

Create a raster file with given number of bands without initializing the pixel data.

Returned provider may be used to initialize the raster using writeBlock() calls. Ownership of the returned provider is passed to the caller.

Returns
Instance of data provider in editing mode (on success) or nullptr on error.
Note
Does not work with tiled mode enabled.
Since
QGIS 3.0

Definition at line 53 of file qgsrasterfilewriter.cpp.

◆ createOneBandRaster()

QgsRasterDataProvider * QgsRasterFileWriter::createOneBandRaster ( Qgis::DataType  dataType,
int  width,
int  height,
const QgsRectangle extent,
const QgsCoordinateReferenceSystem crs 
)

Create a raster file with one band without initializing the pixel data.

Returned provider may be used to initialize the raster using writeBlock() calls. Ownership of the returned provider is passed to the caller.

Returns
Instance of data provider in editing mode (on success) or nullptr on error.
Note
Does not work with tiled mode enabled.
Since
QGIS 3.0

Definition at line 41 of file qgsrasterfilewriter.cpp.

◆ createOptions()

QStringList QgsRasterFileWriter::createOptions ( ) const
inline

Definition at line 162 of file qgsrasterfilewriter.h.

◆ driverForExtension()

QString QgsRasterFileWriter::driverForExtension ( const QString &  extension)
static

Returns the GDAL driver name for a specified file extension.

E.g. the driver name for the ".tif" extension is "GTiff". If no suitable drivers are found then an empty string is returned.

Note that this method works for all GDAL drivers, including those without create support (and which are not supported by QgsRasterFileWriter).

Since
QGIS 3.0

Definition at line 1064 of file qgsrasterfilewriter.cpp.

◆ extensionsForFormat()

QStringList QgsRasterFileWriter::extensionsForFormat ( const QString &  format)
static

Returns a list of known file extensions for the given GDAL driver format.

E.g. returns "tif", "tiff" for the format "GTiff".

If no matching format driver is found an empty list will be returned.

Note that this method works for all GDAL drivers, including those without create support (and which are not supported by QgsRasterFileWriter).

Since
QGIS 3.0

Definition at line 1099 of file qgsrasterfilewriter.cpp.

◆ filterForDriver()

QString QgsRasterFileWriter::filterForDriver ( const QString &  driverName)
static

Creates a filter for an GDAL driver key.

Definition at line 1113 of file qgsrasterfilewriter.cpp.

◆ maxTileHeight()

int QgsRasterFileWriter::maxTileHeight ( ) const
inline

Definition at line 159 of file qgsrasterfilewriter.h.

◆ maxTileWidth()

int QgsRasterFileWriter::maxTileWidth ( ) const
inline

Definition at line 144 of file qgsrasterfilewriter.h.

◆ outputFormat()

QString QgsRasterFileWriter::outputFormat ( ) const
inline

Definition at line 135 of file qgsrasterfilewriter.h.

◆ outputProviderKey()

QString QgsRasterFileWriter::outputProviderKey ( ) const
inline

Definition at line 138 of file qgsrasterfilewriter.h.

◆ outputUrl()

QString QgsRasterFileWriter::outputUrl ( ) const
inline

Returns the output URL for the raster.

Since
QGIS 3.0

Definition at line 132 of file qgsrasterfilewriter.h.

◆ pyramidsConfigOptions()

QStringList QgsRasterFileWriter::pyramidsConfigOptions ( ) const
inline

Definition at line 165 of file qgsrasterfilewriter.h.

◆ pyramidsFormat()

QgsRaster::RasterPyramidsFormat QgsRasterFileWriter::pyramidsFormat ( ) const
inline

Definition at line 155 of file qgsrasterfilewriter.h.

◆ pyramidsList()

QList< int > QgsRasterFileWriter::pyramidsList ( ) const
inline

Definition at line 149 of file qgsrasterfilewriter.h.

◆ pyramidsResampling()

QString QgsRasterFileWriter::pyramidsResampling ( ) const
inline

Definition at line 152 of file qgsrasterfilewriter.h.

◆ setBuildPyramidsFlag()

void QgsRasterFileWriter::setBuildPyramidsFlag ( QgsRaster::RasterBuildPyramids  f)
inline

Definition at line 147 of file qgsrasterfilewriter.h.

◆ setCreateOptions()

void QgsRasterFileWriter::setCreateOptions ( const QStringList &  list)
inline

Definition at line 161 of file qgsrasterfilewriter.h.

◆ setMaxTileHeight()

void QgsRasterFileWriter::setMaxTileHeight ( int  h)
inline

Definition at line 158 of file qgsrasterfilewriter.h.

◆ setMaxTileWidth()

void QgsRasterFileWriter::setMaxTileWidth ( int  w)
inline

Definition at line 143 of file qgsrasterfilewriter.h.

◆ setOutputFormat()

void QgsRasterFileWriter::setOutputFormat ( const QString &  format)
inline

Definition at line 134 of file qgsrasterfilewriter.h.

◆ setOutputProviderKey()

void QgsRasterFileWriter::setOutputProviderKey ( const QString &  key)
inline

Definition at line 137 of file qgsrasterfilewriter.h.

◆ setPyramidsConfigOptions()

void QgsRasterFileWriter::setPyramidsConfigOptions ( const QStringList &  list)
inline

Definition at line 164 of file qgsrasterfilewriter.h.

◆ setPyramidsFormat()

void QgsRasterFileWriter::setPyramidsFormat ( QgsRaster::RasterPyramidsFormat  f)
inline

Definition at line 156 of file qgsrasterfilewriter.h.

◆ setPyramidsList()

void QgsRasterFileWriter::setPyramidsList ( const QList< int > &  list)
inline

Definition at line 150 of file qgsrasterfilewriter.h.

◆ setPyramidsResampling()

void QgsRasterFileWriter::setPyramidsResampling ( const QString &  str)
inline

Definition at line 153 of file qgsrasterfilewriter.h.

◆ setTiledMode()

void QgsRasterFileWriter::setTiledMode ( bool  t)
inline

Definition at line 140 of file qgsrasterfilewriter.h.

◆ supportedFiltersAndFormats()

QList< QgsRasterFileWriter::FilterFormatDetails > QgsRasterFileWriter::supportedFiltersAndFormats ( RasterFormatOptions  options = SortRecommended)
static

Returns a list or pairs, with format filter string as first element and GDAL format key as second element.

Relies on GDAL_DMD_EXTENSIONS metadata, if it is empty corresponding driver will be skipped even if supported.

The options argument can be used to control the sorting and filtering of returned formats.

See also
supportedFormatExtensions()

Definition at line 1137 of file qgsrasterfilewriter.cpp.

◆ supportedFormatExtensions()

QStringList QgsRasterFileWriter::supportedFormatExtensions ( RasterFormatOptions  options = SortRecommended)
static

Returns a list of file extensions for supported formats.

The options argument can be used to control the sorting and filtering of returned formats.

See also
supportedFiltersAndFormats()
Since
QGIS 3.0

Definition at line 1204 of file qgsrasterfilewriter.cpp.

◆ tiledMode()

bool QgsRasterFileWriter::tiledMode ( ) const
inline

Definition at line 141 of file qgsrasterfilewriter.h.

◆ writeRaster() [1/2]

QgsRasterFileWriter::WriterError QgsRasterFileWriter::writeRaster ( const QgsRasterPipe pipe,
int  nCols,
int  nRows,
const QgsRectangle outputExtent,
const QgsCoordinateReferenceSystem crs,
const QgsCoordinateTransformContext transformContext,
QgsRasterBlockFeedback feedback = nullptr 
)

Write raster file.

Parameters
piperaster pipe
nColsnumber of output columns
nRowsnumber of output rows (or -1 to automatically calculate row number to have square pixels)
outputExtentextent to output
crscrs to reproject to
transformContextcoordinate transform context
feedbackoptional feedback object for progress reports
Since
QGIS 3.8

Definition at line 84 of file qgsrasterfilewriter.cpp.

◆ writeRaster() [2/2]

QgsRasterFileWriter::WriterError QgsRasterFileWriter::writeRaster ( const QgsRasterPipe pipe,
int  nCols,
int  nRows,
const QgsRectangle outputExtent,
const QgsCoordinateReferenceSystem crs,
QgsRasterBlockFeedback feedback = nullptr 
)

Write raster file.

Parameters
piperaster pipe
nColsnumber of output columns
nRowsnumber of output rows (or -1 to automatically calculate row number to have square pixels)
outputExtentextent to output
crscrs to reproject to
feedbackoptional feedback object for progress reports
Deprecated:
since QGIS 3.8, use version with transformContext instead

Definition at line 78 of file qgsrasterfilewriter.cpp.


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