- All Implemented Interfaces:
RemoteResource
,LayerContent
,Loadable
Web Map Tile Service (WMTS) is an Open Geospatial Consortium (OGC) standard for delivering geographic data via raster tiles. A WMTS layer uses pre-generated tiles to create a map instead of dynamically generating map images.The service may be hosted in ArcGIS Online, in ArcGIS Enterprise, or in a third party Server. This API supports WMTS 1.0.0.
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.
When creating a WmtsLayer, some WMTS services require that you provide a direct URI 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 URI.
Performance characteristics
WMTS layer consumes raster tiles that were previously rendered and cached 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.
More information and reference samples on the ArcGIS developer website:
- Since:
- 100.1.0
- See Also:
-
Property Summary
Properties inherited from class com.esri.arcgisruntime.layers.Layer
loadError, loadStatus
-
Nested Class Summary
Nested classes/interfaces inherited from class com.esri.arcgisruntime.layers.ImageTiledLayer
ImageTiledLayer.BufferSize, ImageTiledLayer.NoDataTileBehavior
-
Constructor Summary
ConstructorDescriptionWmtsLayer
(WmtsLayerInfo layerInfo) Creates a WMTS layer from a WMTS layer information.WmtsLayer
(WmtsLayerInfo layerInfo, TileInfo.ImageFormat preferredImageFormat) Creates a WMTS layer from a WMTS layer information and preferred image format.WmtsLayer
(WmtsLayerInfo layerInfo, WmtsTileMatrixSet tileMatrixSet) Creates a WMTS layer from a WMTS layer information and tile matrix set Id.WmtsLayer
(WmtsLayerInfo layerInfo, WmtsTileMatrixSet tileMatrixSet, TileInfo.ImageFormat preferredImageFormat) Creates a WMTS layer from the WMTS layer information, tile matrix set ID and preferred image format.Creates a WMTS layer from the specified URL and layer Id.WmtsLayer
(String url, String layerId, TileInfo.ImageFormat preferredImageFormat) Creates a WMTS layer from the specified URL, layer ID, and preferred image format.Creates a WMTS layer from the specified URL, layer ID, and tile matrix set Id.WmtsLayer
(String url, String layerId, String tileMatrixSetId, TileInfo.ImageFormat preferredImageFormat) Creates a WMTS layer from the specified URL, layer ID, tile matrix set ID and preferred image format. -
Method Summary
Modifier and TypeMethodDescriptioncopy()
Creates a deep copy of this WmtsLayer instance.Gets theCredential
that is set on the network-enabled resource.Gets the map of custom parameters to be sent with WMTS requests issued by this layer.The ID of the WMTS layer.Gets the layer info.The preferred image format used for tiles of this WMTS layer.Gets theRequestConfiguration
used to modify the parameters of network requests made by thisRemoteResource
.protected byte[]
Gets the encoded bytes that represents a tile for the given tile key.Gets the WMTS tile matrix set for this WMTS layer.getUri()
Gets the URL of the WMTS layer.void
setCredential
(Credential credential) Sets aCredential
to be used by the network-enabled resource in the event of an authentication challenge.void
setRequestConfiguration
(RequestConfiguration requestConfiguration) Sets theRequestConfiguration
used to modify the parameters of network requests made by thisRemoteResource
.Methods inherited from class com.esri.arcgisruntime.layers.ImageTiledLayer
getBufferSize, getNoDataTileBehavior, getTileInfo, setBufferSize, setNoDataTileBehavior
Methods inherited from class com.esri.arcgisruntime.layers.ImageAdjustmentLayer
getBrightness, getContrast, getGamma, setBrightness, setContrast, setGamma
Methods inherited from class com.esri.arcgisruntime.layers.Layer
addDoneLoadingListener, addLoadStatusChangedListener, addVisibilityChangedListener, cancelLoad, canChangeVisibility, canShowInLegend, fetchLegendInfosAsync, getAttribution, getDescription, getFullExtent, getId, getItem, getLoadError, getLoadStatus, getMaxScale, getMinScale, getName, getOpacity, getSpatialReference, getSubLayerContents, isIdentifyEnabled, isVisible, isVisibleAtScale, loadAsync, loadErrorProperty, loadStatusProperty, removeDoneLoadingListener, removeLoadStatusChangedListener, removeVisibilityChangedListener, retryLoadAsync, setCanShowInLegend, setDescription, setId, setMaxScale, setMinScale, setName, setOpacity, setVisible
-
Constructor Details
-
WmtsLayer
Creates a WMTS layer from the specified URL and layer Id.- Parameters:
url
- the WMTS layer URLlayerId
- layer ID- Throws:
IllegalArgumentException
- if url is null or emptyIllegalArgumentException
- if layerId is null or empty- Since:
- 100.1.0
-
WmtsLayer
Creates a WMTS layer from the specified URL, layer ID, and preferred image format.- Parameters:
url
- the WMTS layer URLlayerId
- layer IDpreferredImageFormat
- preferred image format- Throws:
IllegalArgumentException
- if url is null or emptyIllegalArgumentException
- if layerId is null or emptyIllegalArgumentException
- if preferredImageFormat is null- Since:
- 100.1.0
-
WmtsLayer
Creates a WMTS layer from the specified URL, layer ID, and tile matrix set Id.- Parameters:
url
- the WMTS layer URLlayerId
- layer IDtileMatrixSetId
- tile matrix set ID- Throws:
IllegalArgumentException
- if url is null or emptyIllegalArgumentException
- if layerId is null or emptyIllegalArgumentException
- if tileMatrixSetId is null or empty- Since:
- 100.1.0
-
WmtsLayer
public WmtsLayer(String url, String layerId, String tileMatrixSetId, TileInfo.ImageFormat preferredImageFormat) Creates a WMTS layer from the specified URL, layer ID, tile matrix set ID and preferred image format.- Parameters:
url
- the WMTS layer URLlayerId
- layer IDtileMatrixSetId
- tile matrix set IDpreferredImageFormat
- preferred image format- Throws:
IllegalArgumentException
- if url is null or emptyIllegalArgumentException
- if layerId is null or emptyIllegalArgumentException
- if tileMatrixSetId is null or emptyIllegalArgumentException
- if preferredImageFormat is null- Since:
- 100.1.0
-
WmtsLayer
Creates a WMTS layer from a WMTS layer information.- Parameters:
layerInfo
- layer info- Throws:
IllegalArgumentException
- if layerInfo is null- Since:
- 100.1.0
-
WmtsLayer
Creates a WMTS layer from a WMTS layer information and preferred image format.- Parameters:
layerInfo
- layer infopreferredImageFormat
- preferred image format- Throws:
IllegalArgumentException
- if layerInfo is nullIllegalArgumentException
- if preferredImageFormat is null- Since:
- 100.1.0
-
WmtsLayer
Creates a WMTS layer from a WMTS layer information and tile matrix set Id.- Parameters:
layerInfo
- layer infotileMatrixSet
- tile matrix set- Throws:
IllegalArgumentException
- if layerInfo is nullIllegalArgumentException
- if tileMatrixSet is null- Since:
- 100.1.0
-
WmtsLayer
public WmtsLayer(WmtsLayerInfo layerInfo, WmtsTileMatrixSet tileMatrixSet, TileInfo.ImageFormat preferredImageFormat) Creates a WMTS layer from the WMTS layer information, tile matrix set ID and preferred image format.- Parameters:
layerInfo
- layer infotileMatrixSet
- tile matrix setpreferredImageFormat
- preferred image format- Throws:
IllegalArgumentException
- if layerInfo is nullIllegalArgumentException
- if tileMatrixSet is nullIllegalArgumentException
- if preferredImageFormat is null- Since:
- 100.1.0
-
-
Method Details
-
copy
Creates a deep copy of this WmtsLayer instance.- Returns:
- a deep copy of this WmtsLayer instance, which means that copies of all fields of this layer are made including its loading state
- Since:
- 100.1.0
-
getPreferredImageFormat
The preferred image format used for tiles of this WMTS layer.If an image format is not specified when creating this layer, then the value is
TileInfo.ImageFormat.UNKNOWN
until the layer is loaded.- Returns:
- the preferred image format
- Since:
- 100.1.0
-
getLayerInfo
Gets the layer info.- Returns:
- the layer info
- Since:
- 100.1.0
-
getLayerId
The ID of the WMTS layer.getLayerId()
cannot be changed on loaded layers, or on layers created from aWmtsLayerInfo
.- Returns:
- the layer ID that was used to construct this layer
- Since:
- 100.1.0
-
getTileMatrixSet
Gets the WMTS tile matrix set for this WMTS layer.If tile matrix set is not specified when creating this layer, or is specified only by name, then the value is null until layer is loaded.
- Returns:
- the tile matrix set
- Since:
- 100.1.0
-
getCustomParameters
Gets the map of custom parameters to be sent with WMTS requests issued by this layer.These parameters are appended to GetMap and GetFeatureInfo requests. If a parameter with the same name is defined in
WmtsService.getCustomParameters()
, then layer-specific values take precedence over service-wide values.- Returns:
- the dictionary of custom parameters to be sent with WMTS requests issued by this layer
- Since:
- 100.6.0
-
setCredential
Description copied from interface:RemoteResource
Sets aCredential
to be used by the network-enabled resource in the event of an authentication challenge. The default credential is null.Only applicable if the resource is secured.
- Specified by:
setCredential
in interfaceRemoteResource
- Parameters:
credential
- the Credential to be used for authentication
-
getCredential
Description copied from interface:RemoteResource
Gets theCredential
that is set on the network-enabled resource.Only applicable if the resource is secured.
- Specified by:
getCredential
in interfaceRemoteResource
- Returns:
- the Credential, or null if there is none
-
setRequestConfiguration
Description copied from interface:RemoteResource
Sets theRequestConfiguration
used to modify the parameters of network requests made by thisRemoteResource
. If not set, the globalRequestConfiguration
will be used (seeRequestConfiguration.getGlobalRequestConfiguration()
).- Specified by:
setRequestConfiguration
in interfaceRemoteResource
- Parameters:
requestConfiguration
- the RequestConfiguration used to modify network requests
-
getRequestConfiguration
Description copied from interface:RemoteResource
Gets theRequestConfiguration
used to modify the parameters of network requests made by thisRemoteResource
.- Specified by:
getRequestConfiguration
in interfaceRemoteResource
- Returns:
- the
RequestConfiguration
used to modify network requests
-
getUri
Gets the URL of the WMTS layer.This value cannot be changed on loaded layers, or on layers created from a
WmtsLayerInfo
.- Specified by:
getUri
in interfaceRemoteResource
- Returns:
- the URL of the WMTS layer
- Since:
- 100.1.0
-
getTile
Description copied from class:ImageTiledLayer
Gets the encoded bytes that represents a tile for the given tile key. The encoding must matchTileInfo
specified in the constructorImageTiledLayer(TileInfo, Envelope)
.- Specified by:
getTile
in classImageTiledLayer
- Parameters:
tileKey
- key for the expected tile- Returns:
- the encoded bytes that represent the tile for the given tile key
-