QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Public Member Functions | Protected Attributes | List of all members
QgsVectorTileDataProvider Class Referenceabstract

Base class for vector tile layer data providers. More...

#include <qgsvectortiledataprovider.h>

Inheritance diagram for QgsVectorTileDataProvider:
Inheritance graph
[legend]

Public Member Functions

 QgsVectorTileDataProvider (const QgsVectorTileDataProvider &other)
 Copy constructor. More...
 
 QgsVectorTileDataProvider (const QString &uri, const QgsDataProvider::ProviderOptions &providerOptions, QgsDataProvider::ReadFlags flags)
 Constructor for QgsVectorTileDataProvider, with the specified uri. More...
 
virtual QgsVectorTileDataProviderclone () const =0
 Returns a clone of the data provider. More...
 
QgsRectangle extent () const override
 Returns the extent of the layer. More...
 
QgsVectorTileDataProvideroperator= (const QgsVectorTileDataProvider &other)=delete
 QgsVectorTileDataProvider cannot be assigned. More...
 
virtual Qgis::VectorTileProviderCapabilities providerCapabilities () const
 Returns flags containing the supported capabilities of the data provider. More...
 
virtual Qgis::VectorTileProviderFlags providerFlags () const
 Returns flags reflecting the behavior of the data provider. More...
 
virtual QgsVectorTileRawData readTile (const QgsTileMatrixSet &tileMatrixSet, const QgsTileXYZ &id, QgsFeedback *feedback=nullptr) const =0
 Returns raw tile data for a single tile. More...
 
virtual QList< QgsVectorTileRawDatareadTiles (const QgsTileMatrixSet &tileMatrixSet, const QVector< QgsTileXYZ > &tiles, QgsFeedback *feedback=nullptr, Qgis::RendererUsage usage=Qgis::RendererUsage::Unknown) const =0
 Returns raw tile data for a range of tiles. More...
 
bool renderInPreview (const QgsDataProvider::PreviewContext &context) override
 Returns whether the layer must be rendered in preview jobs. More...
 
virtual QString sourcePath () const =0
 Returns the source path for the data. More...
 
virtual QVariantMap spriteDefinition () const
 Returns the sprite definition for the provider, if available. More...
 
virtual QImage spriteImage () const
 Returns the sprite image for the provider, if available. More...
 
virtual QVariantMap styleDefinition () const
 Returns the style definition for the provider, if available. More...
 
virtual QString styleUrl () const
 Returns the URL for the provider style, if available. More...
 
virtual bool supportsAsync () const
 Returns true if the provider supports async tile reading. More...
 
virtual const QgsVectorTileMatrixSettileMatrixSet () const =0
 Returns the tile matrix set associated with the provider. More...
 
virtual QNetworkRequest tileRequest (const QgsTileMatrixSet &tileMatrixSet, const QgsTileXYZ &id, Qgis::RendererUsage usage) const
 Returns a network request for a tile. 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 QDateTime dataTimestamp () const
 Current time stamp of data source. More...
 
virtual QString description () const =0
 Returns description. More...
 
virtual QgsDataProviderElevationPropertieselevationProperties ()
 Returns the provider's elevation properties. More...
 
virtual const QgsDataProviderElevationPropertieselevationProperties () const
 Returns the provider's elevation properties. More...
 
virtual bool enterUpdateMode ()
 Enter update mode. More...
 
virtual QgsError error () const
 Gets current status error. More...
 
virtual QgsRectangle extent () const =0
 Returns the extent of the layer. More...
 
virtual QgsBox3D extent3D () const
 Returns the 3D extent of the layer. More...
 
virtual QString fileRasterFilters () const
 Returns raster file filter string. More...
 
virtual QString fileVectorFilters () const
 Returns vector file filter string. More...
 
virtual Qgis::DataProviderFlags flags () const
 Returns the generic data provider flags. More...
 
virtual QString htmlMetadata () const
 Obtain a formatted HTML string containing assorted metadata for this data provider. 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...
 
void setUri (const QString &uri)
 Set the data source specification. More...
 
virtual Qgis::ProviderStyleStorageCapabilities styleStorageCapabilities () const
 Returns the style storage capabilities. More...
 
virtual uint subLayerCount () const
 Returns the number of layers for the current data source. More...
 
virtual QStringList subLayers () const
 Sub-layers handled by this provider, in order from bottom to top. 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...
 
virtual QgsDataProviderTemporalCapabilitiestemporalCapabilities ()
 Returns the provider's temporal capabilities. More...
 
virtual const QgsDataProviderTemporalCapabilitiestemporalCapabilities () const
 Returns the provider's temporal capabilities. More...
 
virtual QDateTime timestamp () const
 Time stamp of data source in the moment when data/metadata were loaded by provider. 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...
 

Protected Attributes

std::shared_ptr< QgsVectorTileDataProviderSharedDatamShared
 Mutable data shared between provider instances. 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...
 

Additional Inherited Members

- Public Types inherited from QgsDataProvider
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 ,
  SkipFullScan = 1 << 4 , ForceReadOnly = 1 << 5 , SkipCredentialsRequest = 1 << 6 , ParallelThreadLoading = 1 << 7
}
 Flags which control dataprovider construction. More...
 
typedef QFlags< ReadFlagReadFlags
 
- 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...
 
- Static Public Member Functions inherited from QgsDataProvider
static QString sublayerSeparator ()
 String sequence used for separating components of sublayers strings. 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...
 

Detailed Description

Base class for vector tile layer data providers.

Note
Not available in Python bindings
Since
QGIS 3.22

Definition at line 74 of file qgsvectortiledataprovider.h.

Constructor & Destructor Documentation

◆ QgsVectorTileDataProvider() [1/2]

QgsVectorTileDataProvider::QgsVectorTileDataProvider ( const QString &  uri,
const QgsDataProvider::ProviderOptions providerOptions,
QgsDataProvider::ReadFlags  flags 
)

Constructor for QgsVectorTileDataProvider, with the specified uri.

Definition at line 24 of file qgsvectortiledataprovider.cpp.

◆ QgsVectorTileDataProvider() [2/2]

QgsVectorTileDataProvider::QgsVectorTileDataProvider ( const QgsVectorTileDataProvider other)

Copy constructor.

Definition at line 32 of file qgsvectortiledataprovider.cpp.

Member Function Documentation

◆ clone()

virtual QgsVectorTileDataProvider * QgsVectorTileDataProvider::clone ( ) const
pure virtual

Returns a clone of the data provider.

◆ extent()

QgsRectangle QgsVectorTileDataProvider::extent ( ) const
overridevirtual

Returns the extent of the layer.

Warning
This may be expensive to calculate for some data providers, as it may involve additional network requests or in some cases, iterating through all the features in a layer. If the provider returns the Qgis::DataProviderFlag::FastExtent2D flag from the flags() method then the call to extent() is guaranteed to ALWAYS be fast and not involve any additional work.

Implements QgsDataProvider.

Definition at line 49 of file qgsvectortiledataprovider.cpp.

◆ operator=()

QgsVectorTileDataProvider & QgsVectorTileDataProvider::operator= ( const QgsVectorTileDataProvider other)
delete

QgsVectorTileDataProvider cannot be assigned.

◆ providerCapabilities()

Qgis::VectorTileProviderCapabilities QgsVectorTileDataProvider::providerCapabilities ( ) const
virtual

Returns flags containing the supported capabilities of the data provider.

Since
QGIS 3.32

Definition at line 44 of file qgsvectortiledataprovider.cpp.

◆ providerFlags()

Qgis::VectorTileProviderFlags QgsVectorTileDataProvider::providerFlags ( ) const
virtual

Returns flags reflecting the behavior of the data provider.

Since
QGIS 3.32

Definition at line 39 of file qgsvectortiledataprovider.cpp.

◆ readTile()

virtual QgsVectorTileRawData QgsVectorTileDataProvider::readTile ( const QgsTileMatrixSet tileMatrixSet,
const QgsTileXYZ id,
QgsFeedback feedback = nullptr 
) const
pure virtual

Returns raw tile data for a single tile.

◆ readTiles()

virtual QList< QgsVectorTileRawData > QgsVectorTileDataProvider::readTiles ( const QgsTileMatrixSet tileMatrixSet,
const QVector< QgsTileXYZ > &  tiles,
QgsFeedback feedback = nullptr,
Qgis::RendererUsage  usage = Qgis::RendererUsage::Unknown 
) const
pure virtual

Returns raw tile data for a range of tiles.

◆ renderInPreview()

bool QgsVectorTileDataProvider::renderInPreview ( const QgsDataProvider::PreviewContext context)
overridevirtual

Returns whether the layer must be rendered in preview jobs.

The context argument gives useful information which can be used to determine whether the layer should be rendered or not.

The base implementation returns true if lastRenderingTimeMs <= maxRenderingTimeMs.

Note
not available in Python bindings

Reimplemented from QgsDataProvider.

Definition at line 56 of file qgsvectortiledataprovider.cpp.

◆ sourcePath()

virtual QString QgsVectorTileDataProvider::sourcePath ( ) const
pure virtual

Returns the source path for the data.

◆ spriteDefinition()

QVariantMap QgsVectorTileDataProvider::spriteDefinition ( ) const
virtual

Returns the sprite definition for the provider, if available.

See also
spriteImage()
styleDefinition()

Definition at line 94 of file qgsvectortiledataprovider.cpp.

◆ spriteImage()

QImage QgsVectorTileDataProvider::spriteImage ( ) const
virtual

Returns the sprite image for the provider, if available.

See also
spriteDefinition()

Definition at line 101 of file qgsvectortiledataprovider.cpp.

◆ styleDefinition()

QVariantMap QgsVectorTileDataProvider::styleDefinition ( ) const
virtual

Returns the style definition for the provider, if available.

See also
styleUrl()
spriteDefinition()

Definition at line 80 of file qgsvectortiledataprovider.cpp.

◆ styleUrl()

QString QgsVectorTileDataProvider::styleUrl ( ) const
virtual

Returns the URL for the provider style, if available.

If styleDefinition() is empty, then the layer style may be available from this URL.

Definition at line 87 of file qgsvectortiledataprovider.cpp.

◆ supportsAsync()

bool QgsVectorTileDataProvider::supportsAsync ( ) const
virtual

Returns true if the provider supports async tile reading.

The default implementation returns false.

Definition at line 66 of file qgsvectortiledataprovider.cpp.

◆ tileMatrixSet()

virtual const QgsVectorTileMatrixSet & QgsVectorTileDataProvider::tileMatrixSet ( ) const
pure virtual

Returns the tile matrix set associated with the provider.

◆ tileRequest()

QNetworkRequest QgsVectorTileDataProvider::tileRequest ( const QgsTileMatrixSet tileMatrixSet,
const QgsTileXYZ id,
Qgis::RendererUsage  usage 
) const
virtual

Returns a network request for a tile.

The default implementation returns an invalid request.

Definition at line 73 of file qgsvectortiledataprovider.cpp.

Member Data Documentation

◆ mShared

std::shared_ptr<QgsVectorTileDataProviderSharedData> QgsVectorTileDataProvider::mShared
protected

Mutable data shared between provider instances.

Definition at line 184 of file qgsvectortiledataprovider.h.


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