WmsTileSource

class WmsTileSource(val config: WmsLayerConfig, val levelSet: LevelSet, headers: Map<String, String> = emptyMap(), connectTimeoutMs: Long = 5.seconds.inWholeMilliseconds, requestTimeoutMs: Long = 30.seconds.inWholeMilliseconds, clientConfig: HttpClientConfig<*>.() -> Unit = {}) : HttpTileSource

HttpTileSource for OGC Web Map Service (WMS) endpoints. Converts slippy-map (z, x, y) into the WMS GetMap BBOX URL by consulting the supplied LevelSet for the tile's geographic extent.

The (z, x, y) mapping matches earth.worldwind.layer.cache.TileSourceFactoryAdapter's expectations: y is top-down (slippy-map), LevelSet iteration produces renderer-side rows bottom-up, so the source flips before computing the sector.

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(config: WmsLayerConfig, levelSet: LevelSet, headers: Map<String, String> = emptyMap(), connectTimeoutMs: Long = 5.seconds.inWholeMilliseconds, requestTimeoutMs: Long = 30.seconds.inWholeMilliseconds, clientConfig: HttpClientConfig<*>.() -> Unit = {})

Properties

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.