- 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
ConstructorsConstructorDescriptionWmtsLayer(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 theCredentialthat 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 theRequestConfigurationused 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.voidsetCredential(Credential credential) Sets aCredentialto be used by the network-enabled resource in the event of an authentication challenge.voidsetRequestConfiguration(RequestConfiguration requestConfiguration) Sets theRequestConfigurationused to modify the parameters of network requests made by thisRemoteResource.Methods inherited from class com.esri.arcgisruntime.layers.ImageTiledLayer
getBufferSize, getNoDataTileBehavior, getTileInfo, setBufferSize, setNoDataTileBehaviorMethods inherited from class com.esri.arcgisruntime.layers.ImageAdjustmentLayer
getBrightness, getContrast, getGamma, setBrightness, setContrast, setGammaMethods 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.UNKNOWNuntil 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:RemoteResourceSets aCredentialto 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:
setCredentialin interfaceRemoteResource- Parameters:
credential- the Credential to be used for authentication
-
getCredential
Description copied from interface:RemoteResourceGets theCredentialthat is set on the network-enabled resource.Only applicable if the resource is secured.
- Specified by:
getCredentialin interfaceRemoteResource- Returns:
- the Credential, or null if there is none
-
setRequestConfiguration
Description copied from interface:RemoteResourceSets theRequestConfigurationused to modify the parameters of network requests made by thisRemoteResource. If not set, the globalRequestConfigurationwill be used (seeRequestConfiguration.getGlobalRequestConfiguration()).- Specified by:
setRequestConfigurationin interfaceRemoteResource- Parameters:
requestConfiguration- the RequestConfiguration used to modify network requests
-
getRequestConfiguration
Description copied from interface:RemoteResourceGets theRequestConfigurationused to modify the parameters of network requests made by thisRemoteResource.- Specified by:
getRequestConfigurationin interfaceRemoteResource- Returns:
- the
RequestConfigurationused 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:
getUriin interfaceRemoteResource- Returns:
- the URL of the WMTS layer
- Since:
- 100.1.0
-
getTile
Description copied from class:ImageTiledLayerGets the encoded bytes that represents a tile for the given tile key. The encoding must matchTileInfospecified in the constructorImageTiledLayer(TileInfo, Envelope).- Specified by:
getTilein classImageTiledLayer- Parameters:
tileKey- key for the expected tile- Returns:
- the encoded bytes that represent the tile for the given tile key
-