QGIS API Documentation  2.2.0-Valmiera
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Signals | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
QgsRasterDataProvider Class Reference

Base class for raster data providers. More...

#include <qgsrasterdataprovider.h>

Inheritance diagram for QgsRasterDataProvider:
Inheritance graph
[legend]
Collaboration diagram for QgsRasterDataProvider:
Collaboration graph
[legend]

Signals

void progress (int theType, double theProgress, QString theMessage)
 Emit a signal to notify of the progress event.
void progressUpdate (int theProgress)
- Signals inherited from QgsDataProvider
void fullExtentCalculated ()
 This is emitted whenever the worker thread has fully calculated the PostGIS extents for this layer, and its event has been received by this provider.
void dataChanged ()
 This is emitted whenever an asynchronous operation has finished and the data should be redrawn.
void dataChanged (int changed)
 This is emitted whenever data or metadata (e.g.

Public Member Functions

 QgsRasterDataProvider ()
 QgsRasterDataProvider (const QString &uri)
virtual ~QgsRasterDataProvider ()
virtual QgsRasterInterfaceclone () const =0
 Clone itself, create deep copy.
bool setInput (QgsRasterInterface *input)
 Set input.
virtual QImage * draw (const QgsRectangle &viewExtent, int pixelWidth, int pixelHeight)=0
 Renders the layer as an image.
virtual QgsRectangle extent ()=0
 Get the extent of the data source.
virtual QGis::DataType dataType (int bandNo) const =0
 Returns data type for the band specified by number.
virtual QGis::DataType srcDataType (int bandNo) const =0
 Returns source data type for the band specified by number, source data type may be shorter than dataType.
virtual int colorInterpretation (int theBandNo) const
 Returns data type for the band specified by number.
QString colorName (int colorInterpretation) const
virtual bool reload ()
 Reload data (data could change)
virtual QString colorInterpretationName (int theBandNo) const
virtual QgsRasterBlockblock (int theBandNo, const QgsRectangle &theExtent, int theWidth, int theHeight)
 Read block of data using given extent and size.
virtual bool srcHasNoDataValue (int bandNo) const
virtual bool useSrcNoDataValue (int bandNo) const
 Get source nodata value usage.
virtual void setUseSrcNoDataValue (int bandNo, bool use)
 Set source nodata value usage.
virtual double srcNoDataValue (int bandNo) const
 Value representing no data value.
virtual void setUserNoDataValue (int bandNo, QgsRasterRangeList noData)
virtual QgsRasterRangeList userNoDataValues (int bandNo) const
 Get list of user no data value ranges.
virtual QList
< QgsColorRampShader::ColorRampItem
colorTable (int bandNo) const
virtual QStringList subLayers () const
 Returns the sublayers of this layer - useful for providers that manage their own layers, such as WMS.
virtual QImage getLegendGraphic (double scale=0, bool forceRefresh=false)
 Returns the legend rendered as pixmap useful for that layer that need to get legend layer remotly as WMS.
virtual QString buildPyramids (const QList< QgsRasterPyramid > &thePyramidList, const QString &theResamplingMethod="NEAREST", QgsRaster::RasterPyramidsFormat theFormat=QgsRaster::PyramidsGTiff, const QStringList &theConfigOptions=QStringList())
 Create pyramid overviews.
virtual QList< QgsRasterPyramidbuildPyramidList (QList< int > overviewList=QList< int >())
 Accessor for ths raster layers pyramid list.
bool hasPyramids ()
 Returns true if raster has at least one populated histogram.
virtual QString metadata ()=0
 Get metadata in a format suitable for feeding directly into a subset of the GUI raster properties "Metadata" tab.
virtual QgsRasterIdentifyResult identify (const QgsPoint &thePoint, QgsRaster::IdentifyFormat theFormat, const QgsRectangle &theExtent=QgsRectangle(), int theWidth=0, int theHeight=0)
 Identify raster value(s) found on the point position.
virtual QString lastErrorTitle ()=0
 Returns the caption error text for the last error in this provider.
virtual QString lastError ()=0
 Returns the verbose error text for the last error in this provider.
virtual QString lastErrorFormat ()
 Returns the format of the error text for the last error in this provider.
int dpi () const
 Returns the dpi of the output device.
void setDpi (int dpi)
 Sets the output device resolution.
virtual QDateTime timestamp () const
 Time stamp of data source in the moment when data/metadata were loaded by provider.
virtual QDateTime dataTimestamp () const
 Current time stamp of data source.
virtual bool write (void *data, int band, int width, int height, int xOffset, int yOffset)
 Writes into the provider datasource.
virtual bool setNoDataValue (int bandNo, double noDataValue)
 Set no data value on created dataset.
virtual bool remove ()
 Returns the formats supported by create()
virtual QString validateCreationOptions (const QStringList &createOptions, QString format)
 Validates creation options for a specific dataset and destination format.
virtual QString validatePyramidsConfigOptions (QgsRaster::RasterPyramidsFormat pyramidsFormat, const QStringList &theConfigOptions, const QString &fileFormat)
 Validates pyramid creation options for a specific dataset and destination format.
- Public Member Functions inherited from QgsDataProvider
 QgsDataProvider (QString const &uri="")
virtual ~QgsDataProvider ()
 We need this so the subclass destructors get called.
virtual
QgsCoordinateReferenceSystem 
crs ()=0
virtual void setDataSourceUri (const QString &uri)
 Set the data source specification.
virtual QString dataSourceUri () const
 Get the data source specification.
virtual bool isValid ()=0
 Returns true if this is a valid layer.
virtual void updateExtents ()
 Update the extents of the layer.
virtual bool setSubsetString (QString subset, bool updateFeatureCount=true)
 Set the subset string used to create a subset of features in the layer.
virtual bool supportsSubsetString ()
 provider supports setting of subset strings
virtual QString subsetString ()
 Returns the subset definition string (typically sql) currently in use by the layer and used by the provider to limit the feature set.
virtual QStringList subLayerStyles () const
 Sub-layer styles for each sub-layer handled by this provider, in order from bottom to top.
virtual uint subLayerCount () const
 return the number of layers for the current data source
virtual void setLayerOrder (const QStringList &layers)
 Reorder the list of layer names to be rendered by this provider (in order from bottom to top)
virtual void setSubLayerVisibility (const QString &name, bool vis)
 Set the visibility of the given sublayer name.
virtual QString name () const =0
 return a provider name
virtual QString description () const =0
 return description
virtual QString fileVectorFilters () const
 return vector file filter string
virtual QString fileRasterFilters () const
 return raster file filter string
virtual void reloadData ()
 Reloads the data from the source.
virtual QgsError error () const
 Get current status error.
- Public Member Functions inherited from QgsRasterInterface
 QgsRasterInterface (QgsRasterInterface *input=0)
virtual ~QgsRasterInterface ()
virtual int capabilities () const
 Returns a bitmask containing the supported capabilities.
QString capabilitiesString () const
 Returns the above in friendly format.
int dataTypeSize (int bandNo)
virtual int bandCount () const =0
 Get number of bands.
virtual int xBlockSize () const
 Get block size.
virtual int yBlockSize () const
virtual int xSize () const
 Get raster size.
virtual int ySize () const
virtual QString generateBandName (int theBandNumber) const
 helper function to create zero padded band names
virtual QgsRasterInterfaceinput () const
 Current input.
virtual bool on () const
 Is on/off.
virtual void setOn (bool on)
 Set on/off.
virtual const QgsRasterInterfacesrcInput () const
 Get source / raw input, the first in pipe, usually provider.
virtual QgsRasterInterfacesrcInput ()
virtual QgsRasterBandStats bandStatistics (int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0)
 Get band statistics.
virtual bool hasStatistics (int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0)
 Returns true if histogram is available (cached, already calculated).
virtual QgsRasterHistogram histogram (int theBandNo, int theBinCount=0, double theMinimum=std::numeric_limits< double >::quiet_NaN(), double theMaximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0, bool theIncludeOutOfRange=false)
 Get histogram.
virtual bool hasHistogram (int theBandNo, int theBinCount, double theMinimum=std::numeric_limits< double >::quiet_NaN(), double theMaximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0, bool theIncludeOutOfRange=false)
 Returns true if histogram is available (cached, already calculated), the parameters are the same as in histogram()
virtual void cumulativeCut (int theBandNo, double theLowerCount, double theUpperCount, double &theLowerValue, double &theUpperValue, const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0)
 Find values for cumulative pixel count cut.
virtual void writeXML (QDomDocument &doc, QDomElement &parentElem) const
 Write base class members to xml.
virtual void readXML (const QDomElement &filterElem)
 Sets base class members from xml.

Static Public Member Functions

static QgsRasterDataProvidercreate (const QString &providerKey, const QString &uri, const QString &format, int nBands, QGis::DataType type, int width, int height, double *geoTransform, const QgsCoordinateReferenceSystem &crs, QStringList createOptions=QStringList())
 Creates a new dataset with mDataSourceURI.
static QList< QPair< QString,
QString > > 
pyramidResamplingMethods (QString providerKey)
 Returns a list of pyramid resampling method name and label pairs for given provider.
static QString identifyFormatName (QgsRaster::IdentifyFormat format)
static QgsRaster::IdentifyFormat identifyFormatFromName (QString formatName)
static QString identifyFormatLabel (QgsRaster::IdentifyFormat format)
static Capability identifyFormatToCapability (QgsRaster::IdentifyFormat format)

Protected Member Functions

virtual void readBlock (int bandNo, int xBlock, int yBlock, void *data)
 Read block of data.
virtual void readBlock (int bandNo, QgsRectangle const &viewExtent, int width, int height, void *data)
 Read block of data using give extent and size.
bool userNoDataValuesContains (int bandNo, double value) const
 Returns true if user no data contains value.
- Protected Member Functions inherited from QgsDataProvider
void appendError (const QgsErrorMessage &theMessage)
 Add error message.
void setError (const QgsError &theError)
 Set error message.
- Protected Member Functions inherited from QgsRasterInterface
void initHistogram (QgsRasterHistogram &theHistogram, int theBandNo, int theBinCount=0, double theMinimum=std::numeric_limits< double >::quiet_NaN(), double theMaximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &theExtent=QgsRectangle(), int theSampleSize=0, bool theIncludeOutOfRange=false)
 Fill in histogram defaults if not specified.
void initStatistics (QgsRasterBandStats &theStatistics, int theBandNo, int theStats=QgsRasterBandStats::All, const QgsRectangle &theExtent=QgsRectangle(), int theBinCount=0)
 Fill in statistics defaults if not specified.

Static Protected Member Functions

static QStringList cStringList2Q_ (char **stringList)
static QString makeTableCell (const QString &value)
static QString makeTableCells (const QStringList &values)
static void initPyramidResamplingDefs ()

Protected Attributes

int mDpi
 Dots per inch.
QList< double > mSrcNoDataValue
 Source no data value is available and is set to be used or internal no data is available.
QList< bool > mSrcHasNoDataValue
 Source no data value exists.
QList< bool > mUseSrcNoDataValue
 Use source nodata value.
QList< QgsRasterRangeListmUserNoDataValue
 List of lists of user defined additional no data values for each band, indexed from 0.
QgsRectangle mExtent
- Protected Attributes inherited from QgsDataProvider
QDateTime mTimestamp
 Timestamp of data in the moment when the data were loaded by provider.
QgsError mError
 Error.
- Protected Attributes inherited from QgsRasterInterface
QgsRasterInterfacemInput
QList< QgsRasterBandStatsmStatistics
 List of cached statistics, all bands mixed.
QList< QgsRasterHistogrammHistograms
 List of cached histograms, all bands mixed.
bool mOn

Static Protected Attributes

static QStringList mPyramidResamplingListGdal
static QgsStringMap mPyramidResamplingMapGdal

Additional Inherited Members

- Public Types inherited from QgsDataProvider
enum  DataCapability {
  NoDataCapabilities = 0, File = 1, Dir = 1 << 1, Database = 1 << 2,
  Net = 1 << 3
}
- Public Types inherited from QgsRasterInterface
enum  Capability {
  NoCapabilities = 0, Size = 1 << 1, Create = 1 << 2, Remove = 1 << 3,
  BuildPyramids = 1 << 4, Identify = 1 << 5, IdentifyValue = 1 << 6, IdentifyText = 1 << 7,
  IdentifyHtml = 1 << 8, IdentifyFeature = 1 << 9
}
 If you add to this, please also add to capabilitiesString() More...

Detailed Description

Base class for raster data providers.

Definition at line 53 of file qgsrasterdataprovider.h.

Constructor & Destructor Documentation

QgsRasterDataProvider::QgsRasterDataProvider ( )

Definition at line 216 of file qgsrasterdataprovider.cpp.

QgsRasterDataProvider::QgsRasterDataProvider ( const QString &  uri)

Definition at line 222 of file qgsrasterdataprovider.cpp.

virtual QgsRasterDataProvider::~QgsRasterDataProvider ( )
inlinevirtual

Definition at line 62 of file qgsrasterdataprovider.h.

Member Function Documentation

QgsRasterBlock * QgsRasterDataProvider::block ( int  theBandNo,
const QgsRectangle theExtent,
int  theWidth,
int  theHeight 
)
virtual
virtual QList<QgsRasterPyramid> QgsRasterDataProvider::buildPyramidList ( QList< int >  overviewList = QList<int>())
inlinevirtual

Accessor for ths raster layers pyramid list.

Parameters
overviewListused to construct the pyramid list (optional), when empty the list is defined by the provider. A pyramid list defines the POTENTIAL pyramids that can be in a raster. To know which of the pyramid layers ACTUALLY exists you need to look at the existsFlag member in each struct stored in the list.

Definition at line 223 of file qgsrasterdataprovider.h.

Referenced by QgsRasterFileWriter::buildPyramids(), hasPyramids(), and QgsRasterLayerSaveAsDialog::populatePyramidsLevels().

virtual QString QgsRasterDataProvider::buildPyramids ( const QList< QgsRasterPyramid > &  thePyramidList,
const QString &  theResamplingMethod = "NEAREST",
QgsRaster::RasterPyramidsFormat  theFormat = QgsRaster::PyramidsGTiff,
const QStringList &  theConfigOptions = QStringList() 
)
inlinevirtual

Create pyramid overviews.

Definition at line 206 of file qgsrasterdataprovider.h.

Referenced by QgsRasterFileWriter::buildPyramids().

virtual QgsRasterInterface* QgsRasterDataProvider::clone ( ) const
pure virtual

Clone itself, create deep copy.

Implements QgsRasterInterface.

virtual int QgsRasterDataProvider::colorInterpretation ( int  theBandNo) const
inlinevirtual

Returns data type for the band specified by number.

Definition at line 90 of file qgsrasterdataprovider.h.

References QgsRaster::UndefinedColorInterpretation.

Referenced by QgsRasterLayer::paletteAsPixmap(), and QgsRasterLayer::setDataProvider().

virtual QString QgsRasterDataProvider::colorInterpretationName ( int  theBandNo) const
inlinevirtual

Definition at line 159 of file qgsrasterdataprovider.h.

Referenced by QgsRasterRendererWidget::displayBandName().

QString QgsRasterDataProvider::colorName ( int  colorInterpretation) const
inline
virtual QList<QgsColorRampShader::ColorRampItem> QgsRasterDataProvider::colorTable ( int  bandNo) const
inlinevirtual
QgsRasterDataProvider * QgsRasterDataProvider::create ( const QString &  providerKey,
const QString &  uri,
const QString &  format,
int  nBands,
QGis::DataType  type,
int  width,
int  height,
double *  geoTransform,
const QgsCoordinateReferenceSystem crs,
QStringList  createOptions = QStringList() 
)
static
QStringList QgsRasterDataProvider::cStringList2Q_ ( char **  stringList)
staticprotected

Definition at line 235 of file qgsrasterdataprovider.cpp.

virtual QDateTime QgsRasterDataProvider::dataTimestamp ( ) const
inlinevirtual

Current time stamp of data source.

Reimplemented from QgsDataProvider.

Definition at line 301 of file qgsrasterdataprovider.h.

Referenced by QgsRasterLayer::update().

virtual QGis::DataType QgsRasterDataProvider::dataType ( int  bandNo) const
pure virtual
int QgsRasterDataProvider::dpi ( ) const
inline

Returns the dpi of the output device.

Note
: this method was added in version 1.2

Definition at line 291 of file qgsrasterdataprovider.h.

virtual QImage* QgsRasterDataProvider::draw ( const QgsRectangle viewExtent,
int  pixelWidth,
int  pixelHeight 
)
pure virtual

Renders the layer as an image.

Note
When render caching (/qgis/enable_render_caching) is on the wms provider doesn't wait for the reply of the getmap request or all tiles replies and can return incomplete images. Temporarily disable render caching if you require the complete wms image in the first call.
virtual QgsRectangle QgsRasterDataProvider::extent ( )
pure virtual
virtual QImage QgsRasterDataProvider::getLegendGraphic ( double  scale = 0,
bool  forceRefresh = false 
)
inlinevirtual

Returns the legend rendered as pixmap useful for that layer that need to get legend layer remotly as WMS.

Definition at line 198 of file qgsrasterdataprovider.h.

Referenced by QgsLegendModel::addRasterLayerItems().

bool QgsRasterDataProvider::hasPyramids ( )

Returns true if raster has at least one populated histogram.

Definition at line 371 of file qgsrasterdataprovider.cpp.

References buildPyramidList().

QgsRasterIdentifyResult QgsRasterDataProvider::identify ( const QgsPoint thePoint,
QgsRaster::IdentifyFormat  theFormat,
const QgsRectangle theExtent = QgsRectangle(),
int  theWidth = 0,
int  theHeight = 0 
)
virtual

Identify raster value(s) found on the point position.

The context parameters theExtent, theWidth and theHeigh are important to identify on the same zoom level as a displayed map and to do effective caching (WCS). If context params are not specified the highest resolution is used. capabilities() may be used to test if format is supported by provider. Values are set to 'no data' or empty string if point is outside data source extent.

Note
The arbitraryness of the returned document is enforced by WMS standards up to at least v1.3.0
Parameters
thePointcoordinates in data source CRS
theFormatresult format
theExtentcontext extent
theWidthcontext width
theHeightcontext height
Returns
QgsRaster::IdentifyFormatValue: map of values for each band, keys are band numbers (from 1). QgsRaster::IdentifyFormatFeature: map of QgsRasterFeatureList for each sublayer (WMS) - TODO: it is not consistent with QgsRaster::IdentifyFormatValue. QgsRaster::IdentifyFormatHtml: map of HTML strings for each sublayer (WMS). Empty if failed or there are no results (TODO: better error reporting).

Definition at line 278 of file qgsrasterdataprovider.cpp.

References QgsRasterInterface::bandCount(), block(), QgsRasterInterface::capabilities(), ERR, extent(), QgsRectangle::height(), QgsRaster::IdentifyFormatValue, QgsRasterInterface::IdentifyValue, QgsRectangle::isEmpty(), QgsDebugMsg, QgsRasterInterface::Size, tr, QgsRasterBlock::value(), QgsRectangle::width(), QgsPoint::x(), QgsRectangle::xMinimum(), QgsRasterInterface::xSize(), QgsPoint::y(), QgsRectangle::yMaximum(), and QgsRasterInterface::ySize().

Referenced by QgsMapToolIdentify::identifyRasterLayer().

QgsRaster::IdentifyFormat QgsRasterDataProvider::identifyFormatFromName ( QString  formatName)
static
QString QgsRasterDataProvider::identifyFormatLabel ( QgsRaster::IdentifyFormat  format)
static
QString QgsRasterDataProvider::identifyFormatName ( QgsRaster::IdentifyFormat  format)
static
QgsRasterInterface::Capability QgsRasterDataProvider::identifyFormatToCapability ( QgsRaster::IdentifyFormat  format)
static
static void QgsRasterDataProvider::initPyramidResamplingDefs ( )
staticprotected
virtual QString QgsRasterDataProvider::lastError ( )
pure virtual

Returns the verbose error text for the last error in this provider.

If an operation returns 0 (e.g. draw()), this function returns the text of the error associated with the failure. Interactive users of this provider can then, for example, call a QMessageBox to display the contents.

QString QgsRasterDataProvider::lastErrorFormat ( )
virtual

Returns the format of the error text for the last error in this provider.

Note
added in 1.6

Definition at line 343 of file qgsrasterdataprovider.cpp.

virtual QString QgsRasterDataProvider::lastErrorTitle ( )
pure virtual

Returns the caption error text for the last error in this provider.

If an operation returns 0 (e.g. draw()), this function returns the text of the error associated with the failure. Interactive users of this provider can then, for example, call a QMessageBox to display the contents.

QString QgsRasterDataProvider::makeTableCell ( const QString &  value)
staticprotected

Definition at line 249 of file qgsrasterdataprovider.cpp.

Referenced by makeTableCells().

QString QgsRasterDataProvider::makeTableCells ( const QStringList &  values)
staticprotected

Definition at line 255 of file qgsrasterdataprovider.cpp.

References makeTableCell().

QString QgsRasterDataProvider::metadata ( )
pure virtual

Get metadata in a format suitable for feeding directly into a subset of the GUI raster properties "Metadata" tab.

Definition at line 271 of file qgsrasterdataprovider.cpp.

Referenced by QgsRasterLayer::metadata().

void QgsRasterDataProvider::progress ( int  theType,
double  theProgress,
QString  theMessage 
)
signal

Emit a signal to notify of the progress event.

Emitted theProgress is in percents (0.0-100.0)

void QgsRasterDataProvider::progressUpdate ( int  theProgress)
signal
QList< QPair< QString, QString > > QgsRasterDataProvider::pyramidResamplingMethods ( QString  providerKey)
static

Returns a list of pyramid resampling method name and label pairs for given provider.

Definition at line 349 of file qgsrasterdataprovider.cpp.

References cast_to_fptr, QgsProviderRegistry::function(), QgsProviderRegistry::instance(), and QgsDebugMsg.

Referenced by QgsRasterPyramidsOptionsWidget::updateUi().

virtual void QgsRasterDataProvider::readBlock ( int  bandNo,
int  xBlock,
int  yBlock,
void *  data 
)
inlineprotectedvirtual

Read block of data.

Note
not available in python bindings

Definition at line 368 of file qgsrasterdataprovider.h.

Referenced by block().

virtual void QgsRasterDataProvider::readBlock ( int  bandNo,
QgsRectangle const &  viewExtent,
int  width,
int  height,
void *  data 
)
inlineprotectedvirtual

Read block of data using give extent and size.

Note
not available in python bindings

Definition at line 373 of file qgsrasterdataprovider.h.

virtual bool QgsRasterDataProvider::reload ( )
inlinevirtual

Reload data (data could change)

Definition at line 157 of file qgsrasterdataprovider.h.

virtual bool QgsRasterDataProvider::remove ( )
inlinevirtual

Returns the formats supported by create()

Remove dataset

Definition at line 336 of file qgsrasterdataprovider.h.

Referenced by QgsRasterFileWriter::writeDataRaster().

void QgsRasterDataProvider::setDpi ( int  dpi)
inline

Sets the output device resolution.

Note
: this method was added in version 1.2

Definition at line 295 of file qgsrasterdataprovider.h.

Referenced by QgsRasterLayer::draw().

bool QgsRasterDataProvider::setInput ( QgsRasterInterface input)
inlinevirtual

Set input.

Returns true if set correctly, false if cannot use that input

Reimplemented from QgsRasterInterface.

Definition at line 67 of file qgsrasterdataprovider.h.

virtual bool QgsRasterDataProvider::setNoDataValue ( int  bandNo,
double  noDataValue 
)
inlinevirtual

Set no data value on created dataset.

Parameters
bandNoband number
noDataValueno data value

Definition at line 329 of file qgsrasterdataprovider.h.

Referenced by QgsRasterFileWriter::writeDataRaster().

void QgsRasterDataProvider::setUserNoDataValue ( int  bandNo,
QgsRasterRangeList  noData 
)
virtual
void QgsRasterDataProvider::setUseSrcNoDataValue ( int  bandNo,
bool  use 
)
virtual

Set source nodata value usage.

Definition at line 34 of file qgsrasterdataprovider.cpp.

References mUseSrcNoDataValue.

Referenced by QgsRasterLayer::readXml().

virtual QGis::DataType QgsRasterDataProvider::srcDataType ( int  bandNo) const
pure virtual

Returns source data type for the band specified by number, source data type may be shorter than dataType.

Reimplemented from QgsRasterInterface.

Referenced by QgsRasterLayerSaveAsDialog::addNoDataRow(), QgsRasterLayer::metadata(), QgsRasterHistogramWidget::refreshHistogram(), QgsRasterChecker::runTest(), and QgsRasterFileWriter::writeDataRaster().

virtual bool QgsRasterDataProvider::srcHasNoDataValue ( int  bandNo) const
inlinevirtual
virtual double QgsRasterDataProvider::srcNoDataValue ( int  bandNo) const
inlinevirtual

Value representing no data value.

Definition at line 179 of file qgsrasterdataprovider.h.

Referenced by block(), QgsRasterLayer::metadata(), and QgsRasterFileWriter::writeDataRaster().

virtual QStringList QgsRasterDataProvider::subLayers ( ) const
inlinevirtual

Returns the sublayers of this layer - useful for providers that manage their own layers, such as WMS.

Reimplemented from QgsDataProvider.

Definition at line 191 of file qgsrasterdataprovider.h.

Referenced by QgsRasterLayer::subLayers().

virtual QDateTime QgsRasterDataProvider::timestamp ( ) const
inlinevirtual

Time stamp of data source in the moment when data/metadata were loaded by provider.

Reimplemented from QgsDataProvider.

Definition at line 298 of file qgsrasterdataprovider.h.

References QgsDataProvider::mTimestamp.

Referenced by QgsRasterLayer::update().

virtual QgsRasterRangeList QgsRasterDataProvider::userNoDataValues ( int  bandNo) const
inlinevirtual

Get list of user no data value ranges.

Definition at line 184 of file qgsrasterdataprovider.h.

Referenced by block(), and QgsRasterLayer::writeXml().

bool QgsRasterDataProvider::userNoDataValuesContains ( int  bandNo,
double  value 
) const
protected

Returns true if user no data contains value.

Definition at line 508 of file qgsrasterdataprovider.cpp.

References QgsRasterRange::contains(), and mUserNoDataValue.

virtual bool QgsRasterDataProvider::useSrcNoDataValue ( int  bandNo) const
inlinevirtual

Get source nodata value usage.

Definition at line 173 of file qgsrasterdataprovider.h.

Referenced by block(), and QgsRasterLayer::writeXml().

virtual QString QgsRasterDataProvider::validateCreationOptions ( const QStringList &  createOptions,
QString  format 
)
inlinevirtual

Validates creation options for a specific dataset and destination format.

Note
used by GDAL provider only
see also validateCreationOptionsFormat() in gdal provider for validating options based on format only

Definition at line 345 of file qgsrasterdataprovider.h.

virtual QString QgsRasterDataProvider::validatePyramidsConfigOptions ( QgsRaster::RasterPyramidsFormat  pyramidsFormat,
const QStringList &  theConfigOptions,
const QString &  fileFormat 
)
inlinevirtual

Validates pyramid creation options for a specific dataset and destination format.

Note
used by GDAL provider only

Definition at line 350 of file qgsrasterdataprovider.h.

virtual bool QgsRasterDataProvider::write ( void *  data,
int  band,
int  width,
int  height,
int  xOffset,
int  yOffset 
)
inlinevirtual

Writes into the provider datasource.

Definition at line 305 of file qgsrasterdataprovider.h.

Referenced by QgsRasterFileWriter::writeDataRaster(), and QgsRasterFileWriter::writeImageRaster().

Member Data Documentation

int QgsRasterDataProvider::mDpi
protected

Dots per inch.

Extended WMS (e.g. QGIS mapserver) support DPI dependent output and therefore are suited for printing. A value of -1 means it has not been set

Note
: this member has been added in version 1.2

Definition at line 387 of file qgsrasterdataprovider.h.

QgsRectangle QgsRasterDataProvider::mExtent
protected

Definition at line 408 of file qgsrasterdataprovider.h.

QStringList QgsRasterDataProvider::mPyramidResamplingListGdal
staticprotected

Definition at line 411 of file qgsrasterdataprovider.h.

QgsStringMap QgsRasterDataProvider::mPyramidResamplingMapGdal
staticprotected

Definition at line 412 of file qgsrasterdataprovider.h.

QList<bool> QgsRasterDataProvider::mSrcHasNoDataValue
protected

Source no data value exists.

Definition at line 397 of file qgsrasterdataprovider.h.

QList<double> QgsRasterDataProvider::mSrcNoDataValue
protected

Source no data value is available and is set to be used or internal no data is available.

Used internally only Cell value representing original source no data. e.g. -9999, indexed from 0

Definition at line 394 of file qgsrasterdataprovider.h.

QList< QgsRasterRangeList > QgsRasterDataProvider::mUserNoDataValue
protected

List of lists of user defined additional no data values for each band, indexed from 0.

Definition at line 406 of file qgsrasterdataprovider.h.

Referenced by setUserNoDataValue(), and userNoDataValuesContains().

QList<bool> QgsRasterDataProvider::mUseSrcNoDataValue
protected

Use source nodata value.

User can disable usage of source nodata value as nodata. It may happen that a value is wrongly given by GDAL as nodata (e.g. 0) and it has to be treated as regular value.

Definition at line 402 of file qgsrasterdataprovider.h.

Referenced by setUseSrcNoDataValue().


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