WmtsLayer Class
Displays data from a WMTS service by using pre-generated tiles. More...
Header: | #include <WmtsLayer.h> |
Since: | Esri::ArcGISRuntime 100.1 |
Inherits: | Esri::ArcGISRuntime::ImageTiledLayer and Esri::ArcGISRuntime::RemoteResource |
Public Functions
WmtsLayer(const QUrl &url, const QString &wmtsLayerId, QObject *parent = nullptr) | |
WmtsLayer(const QUrl &url, const QString &wmtsLayerId, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr) | |
WmtsLayer(const QUrl &url, const QString &wmtsLayerId, Esri::ArcGISRuntime::TileImageFormat preferredImageFormat, QObject *parent = nullptr) | |
WmtsLayer(const QUrl &url, const QString &wmtsLayerId, Esri::ArcGISRuntime::TileImageFormat preferredImageFormat, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr) | |
WmtsLayer(const QUrl &url, const QString &wmtsLayerId, const QString &tileMatrixSetId, QObject *parent = nullptr) | |
WmtsLayer(const QUrl &url, const QString &wmtsLayerId, const QString &tileMatrixSetId, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr) | |
WmtsLayer(const QUrl &url, const QString &wmtsLayerId, const QString &tileMatrixSetId, Esri::ArcGISRuntime::TileImageFormat preferredImageFormat, QObject *parent = nullptr) | |
WmtsLayer(const QUrl &url, const QString &wmtsLayerId, const QString &tileMatrixSetId, Esri::ArcGISRuntime::TileImageFormat preferredImageFormat, Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr) | |
WmtsLayer(const Esri::ArcGISRuntime::WmtsLayerInfo &layerInfo, QObject *parent = nullptr) | |
WmtsLayer(const Esri::ArcGISRuntime::WmtsLayerInfo &layerInfo, Esri::ArcGISRuntime::TileImageFormat preferredImageFormat, QObject *parent = nullptr) | |
WmtsLayer(const Esri::ArcGISRuntime::WmtsLayerInfo &layerInfo, const Esri::ArcGISRuntime::WmtsTileMatrixSet &tileMatrixSet, QObject *parent = nullptr) | |
WmtsLayer(const Esri::ArcGISRuntime::WmtsLayerInfo &layerInfo, const Esri::ArcGISRuntime::WmtsTileMatrixSet &tileMatrixSet, Esri::ArcGISRuntime::TileImageFormat preferredImageFormat, QObject *parent = nullptr) | |
virtual | ~WmtsLayer() override |
QMap<QString, QString> | customParameters() const |
Esri::ArcGISRuntime::WmtsLayerInfo | layerInfo() const |
Esri::ArcGISRuntime::TileImageFormat | preferredImageFormat() const |
void | setCustomParameters(const QMap<QString, QString> &customParameters) |
Esri::ArcGISRuntime::WmtsTileMatrixSet | tileMatrixSet() const |
QString | tileMatrixSetId() const |
QString | wmtsLayerId() const |
Reimplemented Public Functions
virtual Esri::ArcGISRuntime::Credential * | credential() const override |
virtual Esri::ArcGISRuntime::RequestConfiguration | requestConfiguration() const override |
virtual void | setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration) override |
virtual QUrl | url() const override |
Detailed Description
Web Map Tile Service (WMTS) is an Open Geospatial Consortium (OGC) standard for delivering geographic data via raster tiles. The service may be hosted in the cloud on ArcGIS Online, on a third party server, or on-premises with ArcGIS Server. This API supports WMTS 1.0.0.
A WmtsLayer uses pre-generated tiles to create a map instead of dynamically generating map images.
Functional characteristics
The maps provided by a WMTS service use predefined symbology defined by the server. As a result, it is not possible to apply custom renderers or to visualize feature selection.
A WMTS service can contain multiple layers in a hierarchy. A WMTS layer can be constructed directly with a URL to a service and the uniquely identifying name of the desired layer. Alternatively, a WMTS service can be used to programmatically explore the available layers and allow the user to choose layers at run time.
Performance characteristics
WMTS layer consumes raster tiles that were prerendered by a server. WMTS requires fewer server resources than WMS because the images are rendered and cached ahead of time. WMTS layer requires a connection to the service at all times.
Creating a WMTS layer from URL
For some WMTS services it may be necessary to provide a direct URL
to the getCapabilities resource, by appending either /1.0.0/WMTSCapabilities.xml or ?service=wmts&request=getCapabilities&version=1.0.0 to the root WMTS URL
.
WmtsLayer adopts the loadable pattern; many of its properties are initialized asynchronously. See Loadable for more information. The layer is loaded when displayed in a MapView or a SceneView. If using the layer without a MapView or a SceneView, call the load method. Use the layer doneLoading signal to determine when the layer is ready, and check the loadStatus before using the layer.
Example: Add a WMTS layer to a map:
QUrl wmtsUrl("http://sampleserver6.arcgisonline.com/arcgis/rest/services/WorldTimeZones/MapServer/WMTS"); QString layerId = "WorldTimeZones"; WmtsLayer* wmtsLayer = new WmtsLayer(wmtsUrl, layerId, parent); connect(wmtsLayer, &WmtsLayer::doneLoading, parent, [wmtsLayer](Esri::ArcGISRuntime::Error loadError) { if (!loadError.isEmpty()) qDebug() << loadError.message() << ": " << loadError.additionalMessage(); if (wmtsLayer->loadStatus() != LoadStatus::Loaded) return; // work with WMTS layer here }); Map* map = new Map(BasemapStyle::ArcGISImagery, parent); map->operationalLayers()->append(wmtsLayer);
See sample: {https://developers.arcgis.com/qt/latest/cpp/sample-code/wmts-layer/} {WMTS layer}
See also Layer.
Member Function Documentation
WmtsLayer::WmtsLayer (const QUrl &url, const QString &wmtsLayerId , QObject *parent = nullptr)
Constructor that accepts a URL (url), wmtsLayerId and an optional parent.
- url - The URL of the WMTS service - see WmtsService::url.
- wmtsLayerId - The ID of the layer - for example obtained from WmtsLayerInfo::wmtsLayerId.
- parent - The parent object for this WmtsLayer (optional).
See also WmtsLayer.
WmtsLayer::WmtsLayer (const QUrl &url, const QString &wmtsLayerId , Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
Constructor that accepts a URL (url), wmtsLayerId, credential and an optional parent.
- url - The URL of the WMTS service - see WmtsService::url.
- wmtsLayerId - The ID of the layer - for example obtained from WmtsLayerInfo::wmtsLayerId.
- credential - The Credential used to access this layer.
- parent - The parent object for this WmtsLayer (optional).
See also WmtsLayer.
WmtsLayer::WmtsLayer (const QUrl &url, const QString &wmtsLayerId , Esri::ArcGISRuntime::TileImageFormat preferredImageFormat , QObject *parent = nullptr)
Constructor that accepts a URL, WTMS layer ID, and preferred image format.
- url - The URL of the WMTS service - see WmtsService::url.
- wmtsLayerId - The ID of the layer - for example obtained from WmtsLayerInfo::wmtsLayerId.
- preferredImageFormat - The TileImageFormat used to access this layer - for example obtained from WmtsLayerInfo::imageFormats.
- parent - The parent object for this WmtsLayer (optional).
See also WmtsLayer.
WmtsLayer::WmtsLayer (const QUrl &url, const QString &wmtsLayerId , Esri::ArcGISRuntime::TileImageFormat preferredImageFormat , Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
Constructor that accepts a URL (url), wmtsLayerId, preferredImageFormat, credential and an optional parent.
- url - The URL of the WMTS service - see WmtsService::url.
- wmtsLayerId - The ID of the layer - for example obtained from WmtsLayerInfo::wmtsLayerId.
- preferredImageFormat - The TileImageFormat used to access this layer - for example obtained from WmtsLayerInfo::imageFormats.
- credential - The Credential used to access this layer.
- parent - The parent object for this WmtsLayer (optional).
See also WmtsLayer.
WmtsLayer::WmtsLayer (const QUrl &url, const QString &wmtsLayerId , const QString &tileMatrixSetId , QObject *parent = nullptr)
Constructor that accepts a URL (url), wmtsLayerId, tileMatrixSetId and an optional parent.
- url - The URL of the WMTS service - see WmtsService::url.
- wmtsLayerId - The ID of the layer - for example obtained from WmtsLayerInfo::wmtsLayerId.
- tileMatrixSetId - The tileMatrixSetId for this layer - for example obtained from WmtsTileMatrixSet::id.
- parent - The parent object for this WmtsLayer (optional).
See also WmtsLayer.
WmtsLayer::WmtsLayer (const QUrl &url, const QString &wmtsLayerId , const QString &tileMatrixSetId , Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
Constructor that accepts a URL (url), wmtsLayerId, tileMatrixSetId, credential and an optional parent.
- url - The URL of the WMTS service - see WmtsService::url.
- wmtsLayerId - The ID of the layer - for example obtained from WmtsLayerInfo::wmtsLayerId.
- tileMatrixSetId - The tileMatrixSetId for this layer - for example obtained from WmtsTileMatrixSet::id.
- credential - The Credential used to access this layer.
- parent - The parent object for this WmtsLayer (optional).
See also WmtsLayer.
WmtsLayer::WmtsLayer (const QUrl &url, const QString &wmtsLayerId , const QString &tileMatrixSetId , Esri::ArcGISRuntime::TileImageFormat preferredImageFormat , QObject *parent = nullptr)
Constructor that accepts a URL (url), wmtsLayerId, tileMatrixSetId, preferredImageFormat and an optional parent.
- url - The URL of the WMTS service - see WmtsService::url.
- wmtsLayerId - The ID of the layer - for example obtained from WmtsLayerInfo::wmtsLayerId.
- tileMatrixSetId - The tileMatrixSetId for this layer - for example obtained from WmtsTileMatrixSet::id.
- preferredImageFormat - The TileImageFormat for this layer - for example obtained from WmtsLayerInfo::imageFormats.
- parent - The parent object for this WmtsLayer (optional).
See also WmtsLayer.
WmtsLayer::WmtsLayer (const QUrl &url, const QString &wmtsLayerId , const QString &tileMatrixSetId , Esri::ArcGISRuntime::TileImageFormat preferredImageFormat , Esri::ArcGISRuntime::Credential *credential, QObject *parent = nullptr)
Constructor that accepts a URL (url), wmtsLayerId, tileMatrixSetId, preferredImageFormat, credential and an optional parent.
- url - The URL of the WMTS service - see WmtsService::url.
- wmtsLayerId - The ID of the layer - for example obtained from WmtsLayerInfo::wmtsLayerId.
- tileMatrixSetId - The tileMatrixSetId for this layer - for example obtained from WmtsTileMatrixSet::id.
- preferredImageFormat - The TileImageFormat for this layer - for example obtained from WmtsLayerInfo::imageFormats.
- credential - The Credential used to access this layer.
- parent - The parent object for this WmtsLayer (optional).
See also WmtsLayer.
[explicit]
WmtsLayer::WmtsLayer (const Esri::ArcGISRuntime::WmtsLayerInfo &layerInfo , QObject *parent = nullptr)
Constructor that accepts a layerInfo and an optional parent.
- layerInfo - The WmtsLayerInfo describing the layer - for example obtain from WmtsServiceInfo::layerInfos.
- parent - The parent object for this WmtsLayer (optional).
See also WmtsLayer.
WmtsLayer::WmtsLayer (const Esri::ArcGISRuntime::WmtsLayerInfo &layerInfo , Esri::ArcGISRuntime::TileImageFormat preferredImageFormat , QObject *parent = nullptr)
Constructor that accepts a layerInfo, preferredImageFormat and an optional parent.
- layerInfo - The WmtsLayerInfo describing the layer - for example obtain from WmtsServiceInfo::layerInfos.
- preferredImageFormat - The TileImageFormat for this layer - for example obtained from WmtsLayerInfo::imageFormats.
- parent - The parent object for this WmtsLayer (optional).
See also WmtsLayer.
WmtsLayer::WmtsLayer (const Esri::ArcGISRuntime::WmtsLayerInfo &layerInfo , const Esri::ArcGISRuntime::WmtsTileMatrixSet &tileMatrixSet , QObject *parent = nullptr)
Constructor that accepts a layerInfo, tileMatrixSet and an optional parent.
- layerInfo - The WmtsLayerInfo describing the layer - for example obtain from WmtsServiceInfo::layerInfos.
- tileMatrixSet - The WmtsTileMatrixSet for this layer - for example obtain from WmtsServiceInfo::tileMatrixSets.
- parent - The parent object for this WmtsLayer (optional).
See also WmtsLayer.
WmtsLayer::WmtsLayer (const Esri::ArcGISRuntime::WmtsLayerInfo &layerInfo , const Esri::ArcGISRuntime::WmtsTileMatrixSet &tileMatrixSet , Esri::ArcGISRuntime::TileImageFormat preferredImageFormat , QObject *parent = nullptr)
Constructor that accepts a layerInfo, tileMatrixSet, preferredImageFormat and an optional parent.
- layerInfo - The WmtsLayerInfo describing the layer - for example obtain from WmtsServiceInfo::layerInfos.
- tileMatrixSet - The WmtsTileMatrixSet for this layer - for example obtain from WmtsServiceInfo::tileMatrixSets.
- preferredImageFormat - The TileImageFormat for this layer - for example obtained from WmtsLayerInfo::imageFormats.
- parent - The parent object for this WmtsLayer (optional).
See also WmtsLayer.
[override virtual]
WmtsLayer::~WmtsLayer ()
Destructor.
[override virtual]
Esri::ArcGISRuntime::Credential *WmtsLayer::credential() const
Reimplements: RemoteResource::credential() const.
Returns the Credential to be used by the network resource in the event of an authentication challenge.
The default credential is a nullptr
.
[since Esri::ArcGISRuntime 100.6]
QMap<QString, QString> WmtsLayer::customParameters () const
Returns the parameters that are appended to GetTile requests.
If a parameter with the same name is defined in the service's custom parameters, then layer-specific values take precedence over service-wide values. customParameters property will take precedence over WmtsService::customParameters.
This function was introduced in Esri::ArcGISRuntime 100.6.
See also setCustomParameters().
Esri::ArcGISRuntime::WmtsLayerInfo WmtsLayer::layerInfo () const
Returns the layer info.
Esri::ArcGISRuntime::TileImageFormat WmtsLayer::preferredImageFormat () const
Returns the preferred image format.
[override virtual]
Esri::ArcGISRuntime::RequestConfiguration WmtsLayer::requestConfiguration () const
Reimplements: RemoteResource::requestConfiguration() const.
Returns the RequestConfiguration in use by this layer.
See also setRequestConfiguration().
[since Esri::ArcGISRuntime 100.6]
void WmtsLayer::setCustomParameters (const QMap<QString, QString> &customParameters )
Sets the customParameters to customParameters.
This function was introduced in Esri::ArcGISRuntime 100.6.
See also customParameters.
[override virtual]
void WmtsLayer::setRequestConfiguration (const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration )
Reimplements: RemoteResource::setRequestConfiguration(const Esri::ArcGISRuntime::RequestConfiguration &requestConfiguration).
Sets requestConfiguration used for network requests sent by this layer.
See also requestConfiguration().
Esri::ArcGISRuntime::WmtsTileMatrixSet WmtsLayer::tileMatrixSet () const
Returns the tile matrix set.
QString WmtsLayer::tileMatrixSetId () const
Returns the ID of the tile matrix set used for this layer.
[override virtual]
QUrl WmtsLayer::url() const
Reimplements: RemoteResource::url() const.
Returns the URL of the WMTS layer.
QString WmtsLayer::wmtsLayerId () const
Returns the layer ID that was used to construct this layer.