16#ifndef QGSXYZVECTORTILEDATAPROVIDER_H
17#define QGSXYZVECTORTILEDATAPROVIDER_H
34 QgsXyzVectorTileDataProviderBase(
const QString &uri,
37 QgsXyzVectorTileDataProviderBase(
const QgsXyzVectorTileDataProviderBase &other );
39 QgsXyzVectorTileDataProviderBase &
operator=(
const QgsXyzVectorTileDataProviderBase &other ) =
delete;
54 static QByteArray loadFromNetwork(
const QgsTileXYZ &
id,
56 const QString &requestUrl,
57 const QString &authid,
64class CORE_EXPORT QgsXyzVectorTileDataProvider :
public QgsXyzVectorTileDataProviderBase
69 QgsXyzVectorTileDataProvider(
const QString &uri,
70 const QgsDataProvider::ProviderOptions &providerOptions,
72 QgsXyzVectorTileDataProvider(
const QgsXyzVectorTileDataProvider &other );
74 QgsXyzVectorTileDataProvider &
operator=(
const QgsXyzVectorTileDataProvider &other ) =
delete;
77 QString
name()
const override;
79 QgsVectorTileDataProvider *
clone()
const override;
83 QgsRectangle
extent()
const override;
84 QgsCoordinateReferenceSystem
crs()
const override;
87 static QString XYZ_DATA_PROVIDER_KEY;
88 static QString XYZ_DATA_PROVIDER_DESCRIPTION;
91 bool mIsValid =
false;
93 QgsVectorTileMatrixSet mMatrixSet;
98 static QByteArray loadFromNetwork(
const QgsTileXYZ &
id,
99 const QgsTileMatrix &tileMatrix,
100 const QString &requestUrl,
101 const QString &authid,
102 const QgsHttpHeaders &headers,
103 QgsFeedback *feedback =
nullptr );
112 QgsXyzVectorTileDataProviderMetadata();
114 QIcon
icon()
const override;
116 QVariantMap
decodeUri(
const QString &uri )
const override;
117 QString
encodeUri(
const QVariantMap &parts )
const override;
118 QString
absoluteToRelativeUri(
const QString &uri,
const QgsReadWriteContext &context )
const override;
119 QString
relativeToAbsoluteUri(
const QString &uri,
const QgsReadWriteContext &context )
const override;
QFlags< DataProviderFlag > DataProviderFlags
Data provider flags.
QFlags< DataProviderReadFlag > DataProviderReadFlags
Flags which control data provider construction.
RendererUsage
Usage of the renderer.
@ Unknown
Renderer used for unknown usage.
virtual QString name() const =0
Returns a provider name.
virtual Qgis::DataProviderFlags flags() const
Returns the generic data provider flags.
virtual QgsCoordinateReferenceSystem crs() const =0
Returns the coordinate system for the data source.
virtual bool isValid() const =0
Returns true if this is a valid layer.
virtual QString description() const =0
Returns description.
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Defines a set of tile matrices for multiple zoom levels.
Defines a matrix of tiles for a single zoom level: it is defined by its size (width *.
Stores coordinates of a tile in a tile matrix set.
Base class for vector tile layer data providers.
virtual QString sourcePath() const =0
Returns the source path for the data.
virtual QgsVectorTileDataProvider * clone() const =0
Returns a clone of the data provider.
virtual QList< QgsVectorTileRawData > readTiles(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.
QgsRectangle extent() const override
Returns the extent of the layer.
QgsVectorTileDataProvider & operator=(const QgsVectorTileDataProvider &other)=delete
virtual const QgsVectorTileMatrixSet & tileMatrixSet() const =0
Returns the tile matrix set associated with the provider.
virtual QgsStringMap sourcePaths() const
Returns the list of source paths for the data.
virtual QList< QNetworkRequest > tileRequests(const QgsTileMatrixSet &tileMatrixSet, const QgsTileXYZ &id, Qgis::RendererUsage usage) const
Returns a network request for a tile.
virtual QgsVectorTileRawData readTile(const QgsTileMatrixSet &tileMatrixSet, const QgsTileXYZ &id, QgsFeedback *feedback=nullptr) const =0
Returns raw tile data for a single tile.
virtual bool supportsAsync() const
Returns true if the provider supports async tile reading.
Keeps track of raw tile data from one or more sources that need to be decoded.
QMap< QString, QString > QgsStringMap
Setting options for creating vector data providers.