QGIS API Documentation
3.20.0-Odense (decaadbb31)
|
Base class for raster data providers. More...
#include <qgsrasterdataprovider.h>
Public Types | |
enum | ProviderCapability { NoProviderCapabilities = 0 , ReadLayerMetadata = 1 << 1 , WriteLayerMetadata = 1 << 2 , ProviderHintBenefitsFromResampling = 1 << 3 , ProviderHintCanPerformProviderResampling = 1 << 4 , ReloadData = 1 << 5 , DpiDependentData = 1 << 6 } |
Enumeration with capabilities that raster providers might implement. More... | |
enum class | ResamplingMethod { Nearest , Bilinear , Cubic , CubicSpline , Lanczos , Average , Mode , Gauss } |
Resampling method for provider-level resampling. More... | |
enum | TransformType { TransformImageToLayer , TransformLayerToImage } |
Types of transformation in transformCoordinates() function. More... | |
Public Types inherited from QgsDataProvider | |
enum | DataCapability { NoDataCapabilities = 0 , File = 1 , Dir = 1 << 1 , Database = 1 << 2 , Net = 1 << 3 } |
Used in browser model to understand which items for which providers should be populated. More... | |
enum | ProviderProperty { EvaluateDefaultValues , CustomData = 3000 } |
Properties are used to pass custom configuration options into data providers. More... | |
enum | ReadFlag { FlagTrustDataSource = 1 << 0 , SkipFeatureCount = 1 << 1 , FlagLoadDefaultStyle = 1 << 2 , SkipGetExtent = 1 << 3 } |
Flags which control dataprovider construction. More... | |
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 , Prefetch = 1 << 10 } |
If you add to this, please also add to capabilitiesString() More... | |
Signals | |
void | statusChanged (const QString &) const |
Emit a message to be displayed on status bar, usually used by network providers (WMS,WCS) More... | |
Signals inherited from QgsDataProvider | |
void | dataChanged () |
Emitted whenever a change is made to the data provider which may have caused changes in the provider's data OUTSIDE of QGIS. More... | |
void | fullExtentCalculated () |
Emitted whenever a deferred extent calculation is completed by the provider. More... | |
void | notify (const QString &msg) |
Emitted when the datasource issues a notification. More... | |
Public Member Functions | |
QgsRasterDataProvider () | |
Provider capabilities. More... | |
QgsRasterDataProvider (const QString &uri, const QgsDataProvider::ProviderOptions &providerOptions=QgsDataProvider::ProviderOptions(), QgsDataProvider::ReadFlags flags=QgsDataProvider::ReadFlags()) | |
Constructor for QgsRasterDataProvider. More... | |
virtual double | bandOffset (int bandNo) const |
Read band offset for raster value. More... | |
virtual double | bandScale (int bandNo) const |
Read band scale for raster value. More... | |
QgsRasterBlock * | block (int bandNo, const QgsRectangle &boundingBox, int width, int height, QgsRasterBlockFeedback *feedback=nullptr) override |
Read block of data using given extent and size. More... | |
virtual QList< QgsRasterPyramid > | buildPyramidList (const QList< int > &overviewList=QList< int >()) |
Returns the raster layers pyramid list. More... | |
virtual QString | buildPyramids (const QList< QgsRasterPyramid > &pyramidList, const QString &resamplingMethod="NEAREST", QgsRaster::RasterPyramidsFormat format=QgsRaster::PyramidsGTiff, const QStringList &configOptions=QStringList(), QgsRasterBlockFeedback *feedback=nullptr) |
Creates pyramid overviews. More... | |
QgsRasterDataProvider * | clone () const override=0 |
Clone itself, create deep copy. More... | |
virtual int | colorInterpretation (int bandNo) const |
Returns data type for the band specified by number. More... | |
QString | colorInterpretationName (int bandNo) const override |
Returns the name of the color interpretation for the specified bandNumber. More... | |
QString | colorName (int colorInterpretation) const |
virtual QList< QgsColorRampShader::ColorRampItem > | colorTable (int bandNo) const |
QDateTime | dataTimestamp () const override |
Current time stamp of data source. More... | |
Qgis::DataType | dataType (int bandNo) const override=0 |
Returns data type for the band specified by number. More... | |
int | dpi () const |
Returns the dpi of the output device. More... | |
virtual bool | enableProviderResampling (bool enable) |
Enable or disable provider-level resampling. More... | |
QgsRectangle | extent () const override=0 |
Returns the extent of the layer. More... | |
virtual QgsFields | fields () const |
Returns the fields of the raster layer for data providers that expose them, the default implementation returns an empty list. More... | |
virtual QImage | getLegendGraphic (double scale=0, bool forceRefresh=false, const QgsRectangle *visibleExtent=nullptr) |
Returns the legend rendered as pixmap. More... | |
virtual QgsImageFetcher * | getLegendGraphicFetcher (const QgsMapSettings *mapSettings) |
Returns a new image downloader for the raster legend. More... | |
bool | hasPyramids () |
Returns true if raster has at least one existing pyramid. More... | |
virtual QString | htmlMetadata ()=0 |
Returns metadata in a format suitable for feeding directly into a subset of the GUI raster properties "Metadata" tab. More... | |
virtual QgsRasterIdentifyResult | identify (const QgsPointXY &point, QgsRaster::IdentifyFormat format, const QgsRectangle &boundingBox=QgsRectangle(), int width=0, int height=0, int dpi=96) |
Identify raster value(s) found on the point position. More... | |
virtual bool | ignoreExtents () const |
Returns true if the extents reported by the data provider are not reliable and it's possible that there is renderable content outside of these extents. More... | |
virtual bool | isEditable () const |
Checks whether the provider is in editing mode, i.e. More... | |
bool | isProviderResamplingEnabled () const |
Returns whether provider-level resampling is enabled. More... | |
virtual QString | lastError ()=0 |
Returns the verbose error text for the last error in this provider. More... | |
virtual QString | lastErrorFormat () |
Returns the format of the error text for the last error in this provider. More... | |
virtual QString | lastErrorTitle ()=0 |
Returns the caption error text for the last error in this provider. More... | |
double | maxOversampling () const |
Returns maximum oversampling factor for zoomed-out operations. More... | |
virtual QList< double > | nativeResolutions () const |
Returns a list of native resolutions if available, i.e. More... | |
virtual QgsRasterDataProvider::ProviderCapabilities | providerCapabilities () const |
Returns flags containing the supported capabilities of the data provider. More... | |
void | readXml (const QDomElement &filterElem) override |
Sets base class members from xml. Usually called from create() methods of subclasses. More... | |
virtual bool | reload () |
Reload data (data could change) More... | |
virtual bool | remove () |
Remove dataset. More... | |
virtual double | sample (const QgsPointXY &point, int band, bool *ok=nullptr, const QgsRectangle &boundingBox=QgsRectangle(), int width=0, int height=0, int dpi=96) |
Samples a raster value from the specified band found at the point position. More... | |
void | setDpi (int dpi) |
Sets the output device resolution. More... | |
virtual bool | setEditable (bool enabled) |
Turns on/off editing mode of the provider. More... | |
bool | setInput (QgsRasterInterface *input) override |
Set input. More... | |
virtual bool | setMaxOversampling (double factor) |
Sets maximum oversampling factor for zoomed-out operations. More... | |
virtual bool | setNoDataValue (int bandNo, double noDataValue) |
Set no data value on created dataset. More... | |
virtual void | setUserNoDataValue (int bandNo, const QgsRasterRangeList &noData) |
virtual void | setUseSourceNoDataValue (int bandNo, bool use) |
Sets the source nodata value usage. More... | |
virtual bool | setZoomedInResamplingMethod (ResamplingMethod method) |
Set resampling method to apply for zoomed-in operations. More... | |
virtual bool | setZoomedOutResamplingMethod (ResamplingMethod method) |
Set resampling method to apply for zoomed-out operations. More... | |
Qgis::DataType | sourceDataType (int bandNo) const override=0 |
Returns source data type for the band specified by number, source data type may be shorter than dataType. More... | |
virtual bool | sourceHasNoDataValue (int bandNo) const |
Returns true if source band has no data value. More... | |
virtual double | sourceNoDataValue (int bandNo) const |
Value representing no data value. More... | |
virtual int | stepHeight () const |
Step height for raster iterations. More... | |
virtual int | stepWidth () const |
Step width for raster iterations. More... | |
QStringList | subLayers () const override |
Returns the sublayers of this layer - useful for providers that manage their own layers, such as WMS. More... | |
virtual bool | supportsLegendGraphic () const |
Returns whether the provider supplies a legend graphic. More... | |
const QgsRasterDataProviderTemporalCapabilities * | temporalCapabilities () const override |
Returns the provider's temporal capabilities. More... | |
QgsRasterDataProviderTemporalCapabilities * | temporalCapabilities () override |
Returns the provider's temporal capabilities. More... | |
QDateTime | timestamp () const override |
Time stamp of data source in the moment when data/metadata were loaded by provider. More... | |
virtual QgsPoint | transformCoordinates (const QgsPoint &point, TransformType type) |
Transforms coordinates between source image coordinate space [0..width]x[0..height] and layer coordinate space (georeferenced coordinates). More... | |
virtual QgsRasterRangeList | userNoDataValues (int bandNo) const |
Returns a list of user no data value ranges. More... | |
virtual bool | useSourceNoDataValue (int bandNo) const |
Returns the source nodata value usage. More... | |
virtual QString | validateCreationOptions (const QStringList &createOptions, const QString &format) |
Validates creation options for a specific dataset and destination format. More... | |
virtual QString | validatePyramidsConfigOptions (QgsRaster::RasterPyramidsFormat pyramidsFormat, const QStringList &configOptions, const QString &fileFormat) |
Validates pyramid creation options for a specific dataset and destination format. More... | |
virtual bool | write (void *data, int band, int width, int height, int xOffset, int yOffset) |
Writes into the provider datasource. More... | |
bool | writeBlock (QgsRasterBlock *block, int band, int xOffset=0, int yOffset=0) |
Writes pixel data from a raster block into the provider data source. More... | |
void | writeXml (QDomDocument &doc, QDomElement &parentElem) const override |
Write base class members to xml. More... | |
ResamplingMethod | zoomedInResamplingMethod () const |
Returns resampling method for zoomed-in operations. More... | |
ResamplingMethod | zoomedOutResamplingMethod () const |
Returns resampling method for zoomed-out operations. More... | |
Public Member Functions inherited from QgsDataProvider | |
QgsDataProvider (const QString &uri=QString(), const QgsDataProvider::ProviderOptions &providerOptions=QgsDataProvider::ProviderOptions(), QgsDataProvider::ReadFlags flags=QgsDataProvider::ReadFlags()) | |
Create a new dataprovider with the specified in the uri. More... | |
virtual QgsCoordinateReferenceSystem | crs () const =0 |
Returns the coordinate system for the data source. More... | |
virtual QString | dataComment () const |
Returns a short comment for the data that this provider is providing access to (e.g. More... | |
virtual QString | dataSourceUri (bool expandAuthConfig=false) const |
Gets the data source specification. More... | |
virtual QString | description () const =0 |
Returns description. More... | |
virtual bool | enterUpdateMode () |
Enter update mode. More... | |
virtual QgsError | error () const |
Gets current status error. More... | |
virtual QString | fileRasterFilters () const |
Returns raster file filter string. More... | |
virtual QString | fileVectorFilters () const |
Returns vector file filter string. More... | |
virtual void | invalidateConnections (const QString &connection) |
Invalidate connections corresponding to specified name. More... | |
virtual bool | isValid () const =0 |
Returns true if this is a valid layer. More... | |
virtual QgsLayerMetadata | layerMetadata () const |
Returns layer metadata collected from the provider's source. More... | |
virtual bool | leaveUpdateMode () |
Leave update mode. More... | |
virtual QString | name () const =0 |
Returns a provider name. More... | |
QVariant | providerProperty (int property, const QVariant &defaultValue) const |
Gets the current value of a certain provider property. More... | |
QVariant | providerProperty (ProviderProperty property, const QVariant &defaultValue=QVariant()) const |
Gets the current value of a certain provider property. More... | |
virtual void | reloadData () |
Reloads the data from the source for providers with data caches to synchronize, changes in the data source, feature counts and other specific actions. More... | |
virtual bool | renderInPreview (const QgsDataProvider::PreviewContext &context) |
Returns whether the layer must be rendered in preview jobs. More... | |
virtual void | setDataSourceUri (const QString &uri) |
Set the data source specification. More... | |
virtual void | setLayerOrder (const QStringList &layers) |
Reorder the list of layer names to be rendered by this provider (in order from bottom to top) More... | |
virtual void | setListening (bool isListening) |
Set whether the provider will listen to datasource notifications If set, the provider will issue notify signals. More... | |
void | setProviderProperty (int property, const QVariant &value) |
Allows setting arbitrary properties on the provider. More... | |
void | setProviderProperty (ProviderProperty property, const QVariant &value) |
Allows setting arbitrary properties on the provider. More... | |
virtual void | setSubLayerVisibility (const QString &name, bool vis) |
Set the visibility of the given sublayer name. More... | |
virtual bool | setSubsetString (const QString &subset, bool updateFeatureCount=true) |
Set the subset string used to create a subset of features in the layer. More... | |
virtual void | setTransformContext (const QgsCoordinateTransformContext &transformContext) |
Sets data coordinate transform context to transformContext. More... | |
void | setUri (const QgsDataSourceUri &uri) |
Set the data source specification. More... | |
virtual uint | subLayerCount () const |
Returns the number of layers for the current data source. More... | |
virtual QStringList | subLayerStyles () const |
Sub-layer styles for each sub-layer handled by this provider, in order from bottom to top. More... | |
virtual QString | subsetString () const |
Returns the subset definition string (typically sql) currently in use by the layer and used by the provider to limit the feature set. More... | |
virtual bool | supportsSubsetString () const |
Returns true if the provider supports setting of subset strings. More... | |
QgsCoordinateTransformContext | transformContext () const |
Returns data provider coordinate transform context. More... | |
virtual void | updateExtents () |
Update the extents of the layer. More... | |
QgsDataSourceUri | uri () const |
Gets the data source specification. More... | |
virtual bool | writeLayerMetadata (const QgsLayerMetadata &metadata) |
Writes layer metadata to the underlying provider source. More... | |
Public Member Functions inherited from QgsRasterInterface | |
QgsRasterInterface (QgsRasterInterface *input=nullptr) | |
virtual | ~QgsRasterInterface ()=default |
virtual int | bandCount () const =0 |
Gets number of bands. More... | |
virtual QgsRasterBandStats | bandStatistics (int bandNo, int stats=QgsRasterBandStats::All, const QgsRectangle &extent=QgsRectangle(), int sampleSize=0, QgsRasterBlockFeedback *feedback=nullptr) |
Returns the band statistics. More... | |
virtual int | capabilities () const |
Returns a bitmask containing the supported capabilities. More... | |
QString | capabilitiesString () const |
Returns the raster interface capabilities in friendly format. More... | |
virtual void | cumulativeCut (int bandNo, double lowerCount, double upperCount, double &lowerValue, double &upperValue, const QgsRectangle &extent=QgsRectangle(), int sampleSize=0) |
Find values for cumulative pixel count cut. More... | |
int | dataTypeSize (int bandNo) const |
Returns the size (in bytes) for the data type for the specified band. More... | |
QString | displayBandName (int bandNumber) const |
Generates a friendly, descriptive name for the specified bandNumber. More... | |
virtual QString | generateBandName (int bandNumber) const |
helper function to create zero padded band names More... | |
virtual bool | hasHistogram (int bandNo, int binCount, double minimum=std::numeric_limits< double >::quiet_NaN(), double maximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &extent=QgsRectangle(), int sampleSize=0, bool includeOutOfRange=false) |
Returns true if histogram is available (cached, already calculated) More... | |
virtual bool | hasStatistics (int bandNo, int stats=QgsRasterBandStats::All, const QgsRectangle &extent=QgsRectangle(), int sampleSize=0) |
Returns true if histogram is available (cached, already calculated). More... | |
virtual QgsRasterHistogram | histogram (int bandNo, int binCount=0, double minimum=std::numeric_limits< double >::quiet_NaN(), double maximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &extent=QgsRectangle(), int sampleSize=0, bool includeOutOfRange=false, QgsRasterBlockFeedback *feedback=nullptr) |
Returns a band histogram. More... | |
virtual QgsRasterInterface * | input () const |
Current input. More... | |
virtual bool | on () const |
Returns whether the interface is on or off. More... | |
virtual void | setOn (bool on) |
Sets whether the interface is on or off. More... | |
virtual QgsRasterInterface * | sourceInput () |
Gets source / raw input, the first in pipe, usually provider. More... | |
virtual const QgsRasterInterface * | sourceInput () const |
Gets source / raw input, the first in pipe, usually provider. More... | |
virtual int | xBlockSize () const |
Gets block size. More... | |
virtual int | xSize () const |
Gets raster size. More... | |
virtual int | yBlockSize () const |
virtual int | ySize () const |
Static Public Member Functions | |
static 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, const QStringList &createOptions=QStringList()) |
Creates a new dataset with mDataSourceURI. More... | |
static QgsRaster::IdentifyFormat | identifyFormatFromName (const QString &formatName) |
static QString | identifyFormatLabel (QgsRaster::IdentifyFormat format) |
static QString | identifyFormatName (QgsRaster::IdentifyFormat format) |
static Capability | identifyFormatToCapability (QgsRaster::IdentifyFormat format) |
static QList< QPair< QString, QString > > | pyramidResamplingMethods (const QString &providerKey) |
Returns a list of pyramid resampling method name and label pairs for given provider. More... | |
Static Public Member Functions inherited from QgsDataProvider | |
static QString | sublayerSeparator () |
String sequence used for separating components of sublayers strings. More... | |
Protected Member Functions | |
void | copyBaseSettings (const QgsRasterDataProvider &other) |
Copy member variables from other raster data provider. Useful for implementation of clone() method in subclasses. More... | |
virtual bool | readBlock (int bandNo, int xBlock, int yBlock, void *data) |
Reads a block of raster data into data. More... | |
virtual bool | readBlock (int bandNo, QgsRectangle const &viewExtent, int width, int height, void *data, QgsRasterBlockFeedback *feedback=nullptr) |
Reads a block of raster data into data, using the given extent and size. More... | |
bool | userNoDataValuesContains (int bandNo, double value) const |
Returns true if user no data contains value. More... | |
Protected Member Functions inherited from QgsDataProvider | |
void | appendError (const QgsErrorMessage &message) |
Add error message. More... | |
void | setError (const QgsError &error) |
Sets error message. More... | |
Protected Member Functions inherited from QgsRasterInterface | |
void | initHistogram (QgsRasterHistogram &histogram, int bandNo, int binCount, double minimum=std::numeric_limits< double >::quiet_NaN(), double maximum=std::numeric_limits< double >::quiet_NaN(), const QgsRectangle &boundingBox=QgsRectangle(), int sampleSize=0, bool includeOutOfRange=false) |
Fill in histogram defaults if not specified. More... | |
void | initStatistics (QgsRasterBandStats &statistics, int bandNo, int stats=QgsRasterBandStats::All, const QgsRectangle &boundingBox=QgsRectangle(), int binCount=0) |
Fill in statistics defaults if not specified. More... | |
Protected Attributes | |
int | mDpi = -1 |
Dots per inch. More... | |
QgsRectangle | mExtent |
double | mMaxOversampling = 2.0 |
Maximum boundary for oversampling (to avoid too much data traffic). Default: 2.0. More... | |
bool | mProviderResamplingEnabled = false |
Whether provider resampling is enabled. More... | |
QList< bool > | mSrcHasNoDataValue |
Source no data value exists. More... | |
QList< double > | mSrcNoDataValue |
Source no data value is available and is set to be used or internal no data is available. More... | |
QList< QgsRasterRangeList > | mUserNoDataValue |
List of lists of user defined additional no data values for each band, indexed from 0. More... | |
QList< bool > | mUseSrcNoDataValue |
Use source nodata value. More... | |
ResamplingMethod | mZoomedInResamplingMethod = ResamplingMethod::Nearest |
Resampling method for zoomed in pixel extraction. More... | |
ResamplingMethod | mZoomedOutResamplingMethod = ResamplingMethod::Nearest |
Resampling method for zoomed out pixel extraction. More... | |
Protected Attributes inherited from QgsDataProvider | |
QgsError | mError |
Error. More... | |
QgsDataProvider::ReadFlags | mReadFlags = QgsDataProvider::ReadFlags() |
Read flags. It's up to the subclass to respect these when needed. More... | |
QDateTime | mTimestamp |
Timestamp of data in the moment when the data were loaded by provider. More... | |
Protected Attributes inherited from QgsRasterInterface | |
QList< QgsRasterHistogram > | mHistograms |
List of cached histograms, all bands mixed. More... | |
QgsRasterInterface * | mInput = nullptr |
bool | mOn = true |
QList< QgsRasterBandStats > | mStatistics |
List of cached statistics, all bands mixed. More... | |
Base class for raster data providers.
Definition at line 88 of file qgsrasterdataprovider.h.
Enumeration with capabilities that raster providers might implement.
Enumerator | |
---|---|
NoProviderCapabilities | Provider has no capabilities. |
ReadLayerMetadata | Provider can read layer metadata from data store. Since QGIS 3.0. See QgsDataProvider::layerMetadata() |
WriteLayerMetadata | Provider can write layer metadata to the data store. Since QGIS 3.0. See QgsDataProvider::writeLayerMetadata() |
ProviderHintBenefitsFromResampling | Provider benefits from resampling and should apply user default resampling settings (since QGIS 3.10) |
ProviderHintCanPerformProviderResampling | Provider can perform resampling (to be opposed to post rendering resampling) (since QGIS 3.16) |
ReloadData | Is able to force reload data / clear local caches. Since QGIS 3.18, see QgsDataProvider::reloadProviderData() |
DpiDependentData |
Definition at line 98 of file qgsrasterdataprovider.h.
|
strong |
Resampling method for provider-level resampling.
Definition at line 642 of file qgsrasterdataprovider.h.
Types of transformation in transformCoordinates() function.
Enumerator | |
---|---|
TransformImageToLayer | Transforms image coordinates to layer (georeferenced) coordinates. |
TransformLayerToImage | Transforms layer (georeferenced) coordinates to image coordinates. |
Definition at line 595 of file qgsrasterdataprovider.h.
QgsRasterDataProvider::QgsRasterDataProvider | ( | ) |
Provider capabilities.
Definition at line 230 of file qgsrasterdataprovider.cpp.
QgsRasterDataProvider::QgsRasterDataProvider | ( | const QString & | uri, |
const QgsDataProvider::ProviderOptions & | providerOptions = QgsDataProvider::ProviderOptions() , |
||
QgsDataProvider::ReadFlags | flags = QgsDataProvider::ReadFlags() |
||
) |
Constructor for QgsRasterDataProvider.
The uri argument gives a provider-specific uri indicating the underlying data source and it's parameters.
The options argument specifies generic provider options and since QGIS 3.16 creation flags are specified within the flags value.
Definition at line 238 of file qgsrasterdataprovider.cpp.
|
inlinevirtual |
Read band offset for raster value.
Definition at line 233 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Read band scale for raster value.
Definition at line 227 of file qgsrasterdataprovider.h.
|
overridevirtual |
Read block of data using given extent and size.
Implements QgsRasterInterface.
Definition at line 47 of file qgsrasterdataprovider.cpp.
|
inlinevirtual |
Returns the raster layers pyramid list.
This method returns a list of pyramid layers which are valid for the data provider. The returned list is a complete list of all possible layers, and includes both pyramids layers which currently exist and layers which have not yet been constructed. To know which of the pyramid layers ACTUALLY exists you need to look at the QgsRasterPyramid::getExists() member for each value in the list.
The returned list is suitable for passing to the buildPyramids() method. First, modify the returned list by calling QgsRasterPyramid::setBuild( \c true )
for every layer you want to create pyramids for, and then pass the modified list to buildPyramids().
overviewList | used to construct the pyramid list (optional), when empty the list is defined by the provider. |
Definition at line 361 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Creates pyramid overviews.
pyramidList | a list of QgsRasterPyramids to create overviews for. The QgsRasterPyramid::setBuild() flag should be set to true for every layer where pyramids are desired. |
resamplingMethod | resampling method to use when creating the pyramids. The pyramidResamplingMethods() method can be used to retrieve a list of valid resampling methods available for specific raster data providers. |
format | raster pyramid format. |
configOptions | optional configuration options which are passed to the specific data provider for use during pyramid creation. |
feedback | optional feedback argument for progress reports and cancellation support. |
Definition at line 329 of file qgsrasterdataprovider.h.
|
overridepure virtual |
Clone itself, create deep copy.
Implements QgsRasterInterface.
|
virtual |
Returns data type for the band specified by number.
Definition at line 251 of file qgsrasterdataprovider.cpp.
|
overridevirtual |
Returns the name of the color interpretation for the specified bandNumber.
Reimplemented from QgsRasterInterface.
Definition at line 646 of file qgsrasterdataprovider.cpp.
|
inline |
Definition at line 158 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Definition at line 257 of file qgsrasterdataprovider.h.
|
protected |
Copy member variables from other raster data provider. Useful for implementation of clone() method in subclasses.
Definition at line 530 of file qgsrasterdataprovider.cpp.
|
static |
Creates a new dataset with mDataSourceURI.
Definition at line 423 of file qgsrasterdataprovider.cpp.
|
inlineoverridevirtual |
Current time stamp of data source.
Reimplemented from QgsDataProvider.
Definition at line 459 of file qgsrasterdataprovider.h.
|
overridepure virtual |
Returns data type for the band specified by number.
Implements QgsRasterInterface.
|
inline |
Returns the dpi of the output device.
Definition at line 450 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Enable or disable provider-level resampling.
true
if success Definition at line 622 of file qgsrasterdataprovider.h.
|
overridepure virtual |
Returns the extent of the layer.
Implements QgsDataProvider.
|
inlinevirtual |
Returns the fields of the raster layer for data providers that expose them, the default implementation returns an empty list.
Definition at line 147 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Returns the legend rendered as pixmap.
This is useful for layers which need to get legend layers remotely as WMS.
scale | Optional parameter that is the Scale of the layer |
forceRefresh | Optional bool parameter to force refresh getLegendGraphic call |
visibleExtent | Visible extent for providers supporting contextual legends, in layer CRS |
Definition at line 286 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Returns a new image downloader for the raster legend.
mapSettings | map settings for legend providers supporting contextual legends. |
nullptr
if the provider does not support legend at all. Ownership of the returned object is transferred to caller.Definition at line 307 of file qgsrasterdataprovider.h.
bool QgsRasterDataProvider::hasPyramids | ( | ) |
Returns true
if raster has at least one existing pyramid.
The buildPyramidList() method can be used to retrieve additional details about potential and existing pyramid layers.
Definition at line 376 of file qgsrasterdataprovider.cpp.
|
pure virtual |
Returns metadata in a format suitable for feeding directly into a subset of the GUI raster properties "Metadata" tab.
|
virtual |
Identify raster value(s) found on the point position.
The context parameters extent, width and height 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.
point | coordinates in data source CRS |
format | result format |
boundingBox | context bounding box |
width | context width |
height | context height |
dpi | context dpi |
Definition at line 265 of file qgsrasterdataprovider.cpp.
|
static |
Definition at line 481 of file qgsrasterdataprovider.cpp.
|
static |
Definition at line 464 of file qgsrasterdataprovider.cpp.
|
static |
Definition at line 447 of file qgsrasterdataprovider.cpp.
|
static |
Definition at line 490 of file qgsrasterdataprovider.cpp.
|
virtual |
Returns true
if the extents reported by the data provider are not reliable and it's possible that there is renderable content outside of these extents.
Definition at line 512 of file qgsrasterdataprovider.cpp.
|
inlinevirtual |
Checks whether the provider is in editing mode, i.e.
raster write operations will be accepted. By default providers are not editable. Use setEditable() method to enable/disable editing.
Definition at line 467 of file qgsrasterdataprovider.h.
|
inline |
Returns whether provider-level resampling is enabled.
Definition at line 636 of file qgsrasterdataprovider.h.
|
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.
|
virtual |
Returns the format of the error text for the last error in this provider.
Definition at line 348 of file qgsrasterdataprovider.cpp.
|
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.
|
inline |
Returns maximum oversampling factor for zoomed-out operations.
Definition at line 694 of file qgsrasterdataprovider.h.
|
virtual |
Returns a list of native resolutions if available, i.e.
map units per pixel at which the raster source was originally created.
Resolutions are calculated in the provider's crs().
Definition at line 507 of file qgsrasterdataprovider.cpp.
|
virtual |
Returns flags containing the supported capabilities of the data provider.
Definition at line 246 of file qgsrasterdataprovider.cpp.
|
static |
Returns a list of pyramid resampling method name and label pairs for given provider.
Definition at line 366 of file qgsrasterdataprovider.cpp.
|
inlineprotectedvirtual |
Reads a block of raster data into data.
true
if the block was successfully read, or false
if an error occurred and the block could not be read. Definition at line 715 of file qgsrasterdataprovider.h.
|
inlineprotectedvirtual |
Reads a block of raster data into data, using the given extent and size.
true
if the block was successfully read, or false
if an error occurred and the block could not be read. Definition at line 723 of file qgsrasterdataprovider.h.
|
overridevirtual |
Sets base class members from xml. Usually called from create() methods of subclasses.
Reimplemented from QgsRasterInterface.
Definition at line 583 of file qgsrasterdataprovider.cpp.
|
inlinevirtual |
Reload data (data could change)
Definition at line 219 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Remove dataset.
Definition at line 530 of file qgsrasterdataprovider.h.
|
virtual |
Samples a raster value from the specified band found at the point position.
The context parameters boundingBox, width and height 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.
If ok is specified and the point is outside data source extent, or an invalid band number was specified, then ok will be set to false
. In this case the function will return a NaN value.
Definition at line 330 of file qgsrasterdataprovider.cpp.
|
inline |
Sets the output device resolution.
Definition at line 453 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Turns on/off editing mode of the provider.
When in editing mode, it is possible to overwrite data of the provider using writeBlock() calls.
true
if the switch to/from editing mode was successful Definition at line 479 of file qgsrasterdataprovider.h.
|
inlineoverridevirtual |
Set input.
Returns true
if set correctly, false
if cannot use that input
Reimplemented from QgsRasterInterface.
Definition at line 135 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Sets maximum oversampling factor for zoomed-out operations.
true
if success Definition at line 688 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Set no data value on created dataset.
bandNo | band number |
noDataValue | no data value |
Definition at line 527 of file qgsrasterdataprovider.h.
|
virtual |
Definition at line 382 of file qgsrasterdataprovider.cpp.
|
virtual |
Sets the source nodata value usage.
Definition at line 35 of file qgsrasterdataprovider.cpp.
|
inlinevirtual |
Set resampling method to apply for zoomed-in operations.
true
if success Definition at line 660 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Set resampling method to apply for zoomed-out operations.
true
if success Definition at line 674 of file qgsrasterdataprovider.h.
|
overridepure virtual |
Returns source data type for the band specified by number, source data type may be shorter than dataType.
Reimplemented from QgsRasterInterface.
|
inlinevirtual |
Returns true
if source band has no data value.
Definition at line 241 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Value representing no data value.
Definition at line 250 of file qgsrasterdataprovider.h.
|
signal |
Emit a message to be displayed on status bar, usually used by network providers (WMS,WCS)
|
inlinevirtual |
Step height for raster iterations.
Definition at line 571 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Step width for raster iterations.
Definition at line 564 of file qgsrasterdataprovider.h.
|
inlineoverridevirtual |
Returns the sublayers of this layer - useful for providers that manage their own layers, such as WMS.
Reimplemented from QgsDataProvider.
Definition at line 264 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Returns whether the provider supplies a legend graphic.
Definition at line 273 of file qgsrasterdataprovider.h.
|
overridevirtual |
Returns the provider's temporal capabilities.
This may be nullptr
, depending on the data provider.
Reimplemented from QgsDataProvider.
Definition at line 418 of file qgsrasterdataprovider.cpp.
|
overridevirtual |
Returns the provider's temporal capabilities.
This may be nullptr
, depending on the data provider.
Reimplemented from QgsDataProvider.
Definition at line 413 of file qgsrasterdataprovider.cpp.
|
inlineoverridevirtual |
Time stamp of data source in the moment when data/metadata were loaded by provider.
Reimplemented from QgsDataProvider.
Definition at line 456 of file qgsrasterdataprovider.h.
|
virtual |
Transforms coordinates between source image coordinate space [0..width]x[0..height] and layer coordinate space (georeferenced coordinates).
Often this transformation is a simple 2D affine transformation (offset and scaling), but rasters with different georeferencing methods like GCPs (ground control points) or RPCs (rational polynomial coefficients) may require a more complex transform.
If the transform fails (input coordinates are outside of the valid range or data provider does not support this functionality), an empty point is returned.
Definition at line 517 of file qgsrasterdataprovider.cpp.
|
inlinevirtual |
Returns a list of user no data value ranges.
Definition at line 255 of file qgsrasterdataprovider.h.
|
protected |
Returns true
if user no data contains value.
Definition at line 524 of file qgsrasterdataprovider.cpp.
|
inlinevirtual |
Returns the source nodata value usage.
Definition at line 244 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Validates creation options for a specific dataset and destination format.
Definition at line 543 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Validates pyramid creation options for a specific dataset and destination format.
Definition at line 550 of file qgsrasterdataprovider.h.
|
inlinevirtual |
Writes into the provider datasource.
Definition at line 484 of file qgsrasterdataprovider.h.
bool QgsRasterDataProvider::writeBlock | ( | QgsRasterBlock * | block, |
int | band, | ||
int | xOffset = 0 , |
||
int | yOffset = 0 |
||
) |
Writes pixel data from a raster block into the provider data source.
This will override previously stored pixel values. It is assumed that cells in the passed raster block are aligned with the cells of the data source. If raster block does not cover the whole area of the data source, only a subset of pixels covered by the raster block will be overwritten. By default, writing of raster data starts from the first cell of the raster - it is possible to set offset in pixels by specifying non-zero xOffset and yOffset values.
Writing is supported only by some data providers. Provider has to be in editing mode in order to allow write operations.
true
on success Definition at line 353 of file qgsrasterdataprovider.cpp.
|
overridevirtual |
Write base class members to xml.
Reimplemented from QgsRasterInterface.
Definition at line 625 of file qgsrasterdataprovider.cpp.
|
inline |
Returns resampling method for zoomed-in operations.
Definition at line 666 of file qgsrasterdataprovider.h.
|
inline |
Returns resampling method for zoomed-out operations.
Definition at line 680 of file qgsrasterdataprovider.h.
|
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
Definition at line 736 of file qgsrasterdataprovider.h.
|
mutableprotected |
Definition at line 763 of file qgsrasterdataprovider.h.
|
protected |
Maximum boundary for oversampling (to avoid too much data traffic). Default: 2.0.
Definition at line 775 of file qgsrasterdataprovider.h.
|
protected |
Whether provider resampling is enabled.
Definition at line 766 of file qgsrasterdataprovider.h.
|
protected |
Source no data value exists.
Definition at line 748 of file qgsrasterdataprovider.h.
|
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 745 of file qgsrasterdataprovider.h.
|
protected |
List of lists of user defined additional no data values for each band, indexed from 0.
Definition at line 761 of file qgsrasterdataprovider.h.
|
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 755 of file qgsrasterdataprovider.h.
|
protected |
Resampling method for zoomed in pixel extraction.
Definition at line 769 of file qgsrasterdataprovider.h.
|
protected |
Resampling method for zoomed out pixel extraction.
Definition at line 772 of file qgsrasterdataprovider.h.