WmtsTileSource

class WmtsTileSource(val template: String, val tileMatrixIdentifiers: List<String>, val imageFormat: String, headers: Map<String, String> = emptyMap(), connectTimeoutMs: Long = 5.seconds.inWholeMilliseconds, requestTimeoutMs: Long = 30.seconds.inWholeMilliseconds, clientConfig: HttpClientConfig<*>.() -> Unit = {}) : HttpTileSource

HttpTileSource for OGC Web Map Tile Service (WMTS) endpoints. Maps slippy-map (z, x, y) directly onto a WMTS URL template using the {TileMatrix} / {TileCol} / {TileRow} tokens (the spec-mandated KVP / RESTful placeholders). [tileMatrixIdentifiers][z] supplies the per-level TileMatrix identifier — WMTS doesn't require numeric levels.

y is slippy-map (top-down). No row flip needed — WMTS itself uses top-down rows.

Cache wiring is external — wrap in earth.worldwind.layer.cache.CachedTileSource to persist bytes through a earth.worldwind.layer.cache.TileStore.

Constructors

Link copied to clipboard
constructor(template: String, tileMatrixIdentifiers: List<String>, imageFormat: String, headers: Map<String, String> = emptyMap(), connectTimeoutMs: Long = 5.seconds.inWholeMilliseconds, requestTimeoutMs: Long = 30.seconds.inWholeMilliseconds, clientConfig: HttpClientConfig<*>.() -> Unit = {})

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
open override fun close()

Release any resources held by the source (HTTP client, etc.). Idempotent default no-op.

Link copied to clipboard
open suspend override fun fetchTile(z: Int, x: Int, y: Int, previousEtag: String? = null, previousLastModified: String? = null): TileBlob?
Link copied to clipboard
fun TileSource.launchBulkRetrieval(levelSet: LevelSet, sector: Sector, resolution: ClosedRange<Angle>, scope: CoroutineScope = GlobalScope, maxRetries: Int = 3, retryTimeoutShort: Duration = 5.seconds, retryTimeoutLong: Duration = 15.seconds, onProgress: (downloaded: Long, skipped: Long, total: Long) -> Unit? = null): Job

Download every tile that intersects sector across every level whose resolution falls in resolution — typically used by "save a region for offline use" flows. Returns the launched Job so the caller can cancel mid-download.

Link copied to clipboard
open suspend fun tryReadCachedTile(z: Int, x: Int, y: Int): TileBlob?

Cache-only fast-path read for (z, x, y). Default returns null — a plain network source has no cache to consult. Cache-backed sources override to read their store without going through the network-fetch concurrency budget.