WmsElevationCoverage

open class WmsElevationCoverage(val serviceAddress: String, val coverageName: String, val outputFormat: String, tileMatrixSet: TileMatrixSet, elevationSourceFactory: ElevationSourceFactory) : TiledElevationCoverage, WebElevationCoverage

Generates elevations from OGC Web Map Service (WMS) version 1.3.0.

Inheritors

Constructors

Link copied to clipboard
constructor(serviceAddress: String, coverageName: String, outputFormat: String, tileMatrixSet: TileMatrixSet, elevationSourceFactory: ElevationSourceFactory)
constructor(serviceAddress: String, coverageName: String, outputFormat: String, sector: Sector, resolution: Angle)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

See TiledImageLayer.cachedSourceInfo — same shape for elevation coverages. The cache provider here is the elevation source factory, not a tile-source decorator.

Link copied to clipboard

Concurrent cache-only reads allowed. Generous vs retrievalQueueSize: cache reads are cheap local I/O and must get their own budget separate from the network-retrieval budget, so a slow network DEM fetch holding the network slots can't stall cached tiles behind it.

Link copied to clipboard
open override val coverageName: String

The technical name of the desired coverage

Link copied to clipboard
open override var displayName: String?

Human-readable elevation coverage name

Link copied to clipboard
open override var isEnabled: Boolean

Determines if current elevation coverage should be processed during rendering

Link copied to clipboard
open val isFloat: Boolean

Output-format heuristic — "what does this format type carry in its bytes": true for BIL32 / GeoTIFF / DTED, false for BIL16 and other 16-bit-integer formats.

Link copied to clipboard
open override val outputFormat: String

Expected data output format

Link copied to clipboard

Controls how many concurrent tile requests are allowed for this coverage.

Link copied to clipboard
override val sector: Sector

Elevation content bounding sector

Link copied to clipboard
open override val serviceAddress: String

The service address

Link copied to clipboard

Descriptive information about service capabilities

Link copied to clipboard
open override val serviceType: String

Type of the service

Link copied to clipboard
Link copied to clipboard
open override val timestamp: Long

Last elevation update timestamp

Link copied to clipboard

Unique identifier of the coverage type, defined by elevation source factory content type

Functions

Link copied to clipboard
open override fun clear()

Clears elevation runtime data

Link copied to clipboard
open override fun clone(): WmsElevationCoverage
Link copied to clipboard

Elevation-coverage counterpart of TiledImageLayer.contentEntry — coverages have no "self-contained file factory" case in the current factory set, so this is just the ContentManager adapter behind a uniform call site.

Link copied to clipboard
open override fun getElevation(latitude: Angle, longitude: Angle, retrieve: Boolean): Float

Gets elevation at specified location

Link copied to clipboard
open override fun getElevationGrid(gridSector: Sector, gridWidth: Int, gridHeight: Int, result: FloatArray)

Gets elevation values for the specified sector with required width and height resolution

Link copied to clipboard
open override fun getElevationLimits(sector: Sector, result: FloatArray)

Gets elevation limits at specified sector

Link copied to clipboard
open override fun getUserProperty(key: Any): Any?

Gets optional user property

Link copied to clipboard
open override fun hasUserProperty(key: Any): Boolean

Checks optional user property exists

Link copied to clipboard
open override fun isChangedSince(time: Long, sector: Sector): Boolean

Checks if coverage data influencing the specified sector could have changed after the specified timestamp

Link copied to clipboard
fun TiledElevationCoverage.launchBulkRetrieval(sector: Sector, resolution: ClosedRange<Angle>, scope: CoroutineScope = GlobalScope, maxRetries: Int = 3, retryTimeoutShort: Duration = 5.seconds, retryTimeoutLong: Duration = 15.seconds, overrideCache: Boolean = false, onProgress: (downloaded: Long, skipped: Long, total: Long) -> Unit? = null): Job?

Download every elevation tile that intersects sector across every tile matrix whose pixel-resolution falls in resolution, writing each tile through to the coverage's cache.

Link copied to clipboard
open override fun putUserProperty(key: Any, value: Any): Any?

Puts optional user property

Link copied to clipboard
open override fun removeUserProperty(key: Any): Any?

Removes optional user property

Link copied to clipboard

See setOfflineOnly on TiledImageLayer. The OfflineToggleable lives on the coverage's elevationSourceFactory (the platform-specific CachedElevationSourceFactory / GpkgCachedElevationSourceFactory both implement it). No-op when the coverage is wired to a network-only factory.

Link copied to clipboard
fun setupCoverageCache(capacity: Long, lowWater: Long = (capacity * 0.75).toLong())

Setup custom coverage cache size according to device capabilities and user needs.