QGIS API Documentation  master-59fd5e0
QgsRasterFileWriter Class Reference

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

#include <qgsrasterfilewriter.h>

+ Collaboration diagram for QgsRasterFileWriter:

List of all members.

Public Types

enum  Mode { Raw = 0, Image = 1 }
enum  WriterError {
  NoError = 0, SourceProviderError = 1, DestProviderError = 2, CreateDatasourceError = 3,
  WriteError = 4, NoDataConflict = 5
}

Public Member Functions

 QgsRasterFileWriter (const QString &outputUrl)
 ~QgsRasterFileWriter ()
QgsRaster::RasterBuildPyramids buildPyramidsFlag () const
QStringList createOptions () const
int maxTileHeight () const
int maxTileWidth () const
QString outputFormat () const
QString outputProviderKey () const
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, QgsRectangle outputExtent, const QgsCoordinateReferenceSystem &crs, QProgressDialog *p=0)
 Write raster file.

Private Member Functions

 QgsRasterFileWriter ()
void addToVRT (const QString &filename, int band, int xSize, int ySize, int xOffset, int yOffset)
void buildPyramids (const QString &filename)
QgsRasterDataProvidercreatePartProvider (const QgsRectangle &extent, int nCols, int iterCols, int iterRows, int iterLeft, int iterTop, const QString &outputUrl, int fileIndex, int nBands, QGis::DataType type, const QgsCoordinateReferenceSystem &crs)
 Create provider and datasource for a part image (vrt mode)
void createVRT (int xSize, int ySize, const QgsCoordinateReferenceSystem &crs, double *geoTransform, QGis::DataType type, QList< bool > destHasNoDataValueList, QList< double > destNoDataValueList)
 Initialize vrt member variables.
void globalOutputParameters (const QgsRectangle &extent, int nCols, int &nRows, double *geoTransform, double &pixelSize)
 Calculate nRows, geotransform and pixel size for output.
QgsRasterDataProviderinitOutput (int nCols, int nRows, const QgsCoordinateReferenceSystem &crs, double *geoTransform, int nBands, QGis::DataType type, QList< bool > destHasNoDataValueList=QList< bool >(), QList< double > destNoDataValueList=QList< double >())
 Init VRT (for tiled mode) or create global output provider (single-file mode)
QString partFileName (int fileIndex)
QString vrtFileName ()
WriterError writeDataRaster (const QgsRasterPipe *pipe, QgsRasterIterator *iter, int nCols, int nRows, const QgsRectangle &outputExtent, const QgsCoordinateReferenceSystem &crs, QProgressDialog *progressDialog=0)
WriterError writeDataRaster (const QgsRasterPipe *pipe, QgsRasterIterator *iter, int nCols, int nRows, const QgsRectangle &outputExtent, const QgsCoordinateReferenceSystem &crs, QGis::DataType destDataType, QList< bool > destHasNoDataValueList, QList< double > destNoDataValueList, QgsRasterDataProvider *destProvider, QProgressDialog *progressDialog)
WriterError writeImageRaster (QgsRasterIterator *iter, int nCols, int nRows, const QgsRectangle &outputExtent, const QgsCoordinateReferenceSystem &crs, QProgressDialog *progressDialog=0)
bool writeVRT (const QString &file)

Private Attributes

QgsRaster::RasterBuildPyramids mBuildPyramidsFlag
QStringList mCreateOptions
const QgsRasterInterfacemInput
double mMaxTileHeight
double mMaxTileWidth
Mode mMode
QgsCoordinateReferenceSystem mOutputCRS
QString mOutputFormat
QString mOutputProviderKey
QString mOutputUrl
const QgsRasterPipemPipe
QProgressDialog * mProgressDialog
QStringList mPyramidsConfigOptions
QgsRaster::RasterPyramidsFormat mPyramidsFormat
QList< int > mPyramidsList
QString mPyramidsResampling
bool mTiledMode
 False: Write one file, true: create a directory and add the files numbered.
QList< QDomElement > mVRTBands
QDomDocument mVRTDocument

Detailed Description

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

Definition at line 32 of file qgsrasterfilewriter.h.


Member Enumeration Documentation

Enumerator:
Raw 
Image 

Definition at line 35 of file qgsrasterfilewriter.h.

Enumerator:
NoError 
SourceProviderError 
DestProviderError 
CreateDatasourceError 
WriteError 
NoDataConflict 

Definition at line 40 of file qgsrasterfilewriter.h.


Constructor & Destructor Documentation

QgsRasterFileWriter::QgsRasterFileWriter ( const QString &  outputUrl)

Definition at line 29 of file qgsrasterfilewriter.cpp.

Definition at line 39 of file qgsrasterfilewriter.cpp.


Member Function Documentation

void QgsRasterFileWriter::addToVRT ( const QString &  filename,
int  band,
int  xSize,
int  ySize,
int  xOffset,
int  yOffset 
) [private]

Definition at line 608 of file qgsrasterfilewriter.cpp.

References mVRTBands, and mVRTDocument.

Referenced by writeDataRaster(), and writeImageRaster().

QStringList QgsRasterFileWriter::createOptions ( ) const [inline]

Definition at line 92 of file qgsrasterfilewriter.h.

QgsRasterDataProvider * QgsRasterFileWriter::createPartProvider ( const QgsRectangle extent,
int  nCols,
int  iterCols,
int  iterRows,
int  iterLeft,
int  iterTop,
const QString &  outputUrl,
int  fileIndex,
int  nBands,
QGis::DataType  type,
const QgsCoordinateReferenceSystem crs 
) [private]
void QgsRasterFileWriter::createVRT ( int  xSize,
int  ySize,
const QgsCoordinateReferenceSystem crs,
double *  geoTransform,
QGis::DataType  type,
QList< bool >  destHasNoDataValueList,
QList< double >  destNoDataValueList 
) [private]

Initialize vrt member variables.

Parameters:
xSizewidth of vrt
ySizeheight of vrt
crscoordinate system of vrt
geoTransformoptional array of transformation matrix values
typedatatype of vrt
destHasNoDataValueListtrue if destination has no data value, indexed from 0
destNoDataValueListno data value, indexed from 0

Definition at line 771 of file qgsrasterfilewriter.cpp.

References QgsRasterInterface::bandCount(), QGis::Byte, QGis::CFloat32, QGis::CFloat64, QGis::CInt16, QGis::CInt32, QGis::Float32, QGis::Float64, Image, QGis::Int16, mInput, mMode, mVRTBands, mVRTDocument, Raw, QgsCoordinateReferenceSystem::toWkt(), QGis::UInt16, and QGis::UInt32.

Referenced by initOutput().

void QgsRasterFileWriter::globalOutputParameters ( const QgsRectangle extent,
int  nCols,
int &  nRows,
double *  geoTransform,
double &  pixelSize 
) [private]

Calculate nRows, geotransform and pixel size for output.

Definition at line 922 of file qgsrasterfilewriter.cpp.

References QgsRectangle::height(), QgsRectangle::width(), QgsRectangle::xMinimum(), and QgsRectangle::yMaximum().

Referenced by writeDataRaster(), and writeImageRaster().

QgsRasterDataProvider * QgsRasterFileWriter::initOutput ( int  nCols,
int  nRows,
const QgsCoordinateReferenceSystem crs,
double *  geoTransform,
int  nBands,
QGis::DataType  type,
QList< bool >  destHasNoDataValueList = QList<bool>(),
QList< double >  destNoDataValueList = QList<double>() 
) [private]

Init VRT (for tiled mode) or create global output provider (single-file mode)

Parameters:
nColsnumber of tile columns
nRowsnumber of tile rows
crscoordinate system of vrt
geoTransformoptional array of transformation matrix values
nBandsnumber of bands
typedatatype of vrt
destHasNoDataValueListtrue if destination has no data value, indexed from 0
destNoDataValueListno data value, indexed from 0

Definition at line 893 of file qgsrasterfilewriter.cpp.

References QgsRasterDataProvider::create(), createVRT(), mBuildPyramidsFlag, mCreateOptions, mOutputFormat, mOutputProviderKey, mOutputUrl, mTiledMode, and QgsDebugMsg.

Referenced by writeDataRaster(), and writeImageRaster().

int QgsRasterFileWriter::maxTileHeight ( ) const [inline]

Definition at line 89 of file qgsrasterfilewriter.h.

int QgsRasterFileWriter::maxTileWidth ( ) const [inline]

Definition at line 74 of file qgsrasterfilewriter.h.

QString QgsRasterFileWriter::outputFormat ( ) const [inline]

Definition at line 65 of file qgsrasterfilewriter.h.

QString QgsRasterFileWriter::outputProviderKey ( ) const [inline]

Definition at line 68 of file qgsrasterfilewriter.h.

QString QgsRasterFileWriter::partFileName ( int  fileIndex) [private]

Definition at line 940 of file qgsrasterfilewriter.cpp.

References mOutputUrl.

Referenced by createPartProvider(), writeDataRaster(), and writeImageRaster().

QStringList QgsRasterFileWriter::pyramidsConfigOptions ( ) const [inline]

Definition at line 95 of file qgsrasterfilewriter.h.

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

Definition at line 79 of file qgsrasterfilewriter.h.

QString QgsRasterFileWriter::pyramidsResampling ( ) const [inline]

Definition at line 82 of file qgsrasterfilewriter.h.

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

Definition at line 91 of file qgsrasterfilewriter.h.

void QgsRasterFileWriter::setMaxTileHeight ( int  h) [inline]

Definition at line 88 of file qgsrasterfilewriter.h.

void QgsRasterFileWriter::setMaxTileWidth ( int  w) [inline]

Definition at line 73 of file qgsrasterfilewriter.h.

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

Definition at line 64 of file qgsrasterfilewriter.h.

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

Definition at line 67 of file qgsrasterfilewriter.h.

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

Definition at line 94 of file qgsrasterfilewriter.h.

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

Definition at line 80 of file qgsrasterfilewriter.h.

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

Definition at line 83 of file qgsrasterfilewriter.h.

void QgsRasterFileWriter::setTiledMode ( bool  t) [inline]

Definition at line 70 of file qgsrasterfilewriter.h.

bool QgsRasterFileWriter::tiledMode ( ) const [inline]

Definition at line 71 of file qgsrasterfilewriter.h.

QString QgsRasterFileWriter::vrtFileName ( ) [private]

Definition at line 947 of file qgsrasterfilewriter.cpp.

References mOutputUrl.

Referenced by writeDataRaster(), and writeImageRaster().

QgsRasterFileWriter::WriterError QgsRasterFileWriter::writeRaster ( const QgsRasterPipe pipe,
int  nCols,
int  nRows,
QgsRectangle  outputExtent,
const QgsCoordinateReferenceSystem crs,
QProgressDialog *  p = 0 
)

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
pdialog to show progress in

Definition at line 49 of file qgsrasterfilewriter.cpp.

References CreateDatasourceError, QgsRasterInterface::dataType(), Image, QgsRasterPipe::last(), mInput, mMode, mOutputUrl, mPipe, mProgressDialog, mTiledMode, QgsDebugMsg, Raw, SourceProviderError, QgsRasterInterface::srcInput(), QgsRasterBlock::typeIsColor(), writeDataRaster(), and writeImageRaster().

bool QgsRasterFileWriter::writeVRT ( const QString &  file) [private]

Definition at line 850 of file qgsrasterfilewriter.cpp.

References mVRTDocument.

Referenced by writeDataRaster(), and writeImageRaster().


Member Data Documentation

QStringList QgsRasterFileWriter::mCreateOptions [private]

Definition at line 164 of file qgsrasterfilewriter.h.

Referenced by createPartProvider(), and initOutput().

Definition at line 184 of file qgsrasterfilewriter.h.

Referenced by createVRT(), and writeRaster().

Definition at line 170 of file qgsrasterfilewriter.h.

Referenced by writeDataRaster(), and writeImageRaster().

Definition at line 169 of file qgsrasterfilewriter.h.

Referenced by writeDataRaster(), and writeImageRaster().

Definition at line 160 of file qgsrasterfilewriter.h.

Referenced by createVRT(), and writeRaster().

Definition at line 163 of file qgsrasterfilewriter.h.

Referenced by createPartProvider(), and initOutput().

Definition at line 162 of file qgsrasterfilewriter.h.

Referenced by buildPyramids(), createPartProvider(), and initOutput().

Definition at line 183 of file qgsrasterfilewriter.h.

Referenced by writeRaster().

QProgressDialog* QgsRasterFileWriter::mProgressDialog [private]

Definition at line 181 of file qgsrasterfilewriter.h.

Referenced by writeRaster().

Definition at line 176 of file qgsrasterfilewriter.h.

Referenced by buildPyramids().

QList< int > QgsRasterFileWriter::mPyramidsList [private]

Definition at line 172 of file qgsrasterfilewriter.h.

Referenced by buildPyramids().

Definition at line 173 of file qgsrasterfilewriter.h.

Referenced by buildPyramids().

False: Write one file, true: create a directory and add the files numbered.

Definition at line 168 of file qgsrasterfilewriter.h.

Referenced by initOutput(), writeDataRaster(), writeImageRaster(), and writeRaster().

QList<QDomElement> QgsRasterFileWriter::mVRTBands [private]

Definition at line 179 of file qgsrasterfilewriter.h.

Referenced by addToVRT(), and createVRT().

QDomDocument QgsRasterFileWriter::mVRTDocument [private]

Definition at line 178 of file qgsrasterfilewriter.h.

Referenced by addToVRT(), createVRT(), and writeVRT().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines