GeoTiffImageLayer

Displays a tiled GeoTIFF — an orthophoto, a scanned chart, a colour-mapped raster — as an ordinary image layer. Tiles are resampled straight out of the file's own tile grid at the overview level closest to each tile's resolution, so the layer costs the same per frame whether the source is 50 MB or 50 GB.

The layer holds the dataset open for as long as it is displayed; close releases the underlying file. A clone shares the dataset with its original, so close only once.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard

Cache identity of this layer's tile source, or null when the layer isn't wired through a cache (network-only). Walks the layer's tile factory chain, looking for a CachedSourceInfoProvider — typically a CachedTileSource that wraps an IDB / gpkg / filesystem TileStore.

Link copied to clipboard
val count: Int
Link copied to clipboard

The open GeoTIFF backing this layer.

Link copied to clipboard
open override var displayName: String?
Link copied to clipboard
open override var isDynamic: Boolean
Link copied to clipboard
open override var isEnabled: Boolean
Link copied to clipboard
open override var isPickEnabled: Boolean
Link copied to clipboard
open override var maxActiveAltitude: Double
Link copied to clipboard
open override var minActiveAltitude: Double
Link copied to clipboard
open override var opacity: Float
Link copied to clipboard

Geographic bounds of the imagery.

Link copied to clipboard
Link copied to clipboard
val type: String?

Functions

Link copied to clipboard
Link copied to clipboard
fun addRenderable(renderable: Renderable)
fun addRenderable(index: Int, renderable: Renderable)
Link copied to clipboard
Link copied to clipboard
open override fun clone(): GeoTiffImageLayer
Link copied to clipboard
fun close()

Release the underlying file. The layer renders nothing afterwards.

Link copied to clipboard

One-stop accessor for "this image layer's content view." Lookup order:

Link copied to clipboard
Link copied to clipboard
open override fun getUserProperty(key: Any): Any?
Link copied to clipboard
open override fun hasUserProperty(key: Any): Boolean
Link copied to clipboard
fun indexOfRenderable(renderable: Renderable): Int
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open operator override fun iterator(): MutableIterator<Renderable>
Link copied to clipboard
fun TiledImageLayer.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 tile within sector across the resolution range into the layer's underlying TileStore (when the layer was constructed with a CachedTileSource). Returns the launched Job for cancellation; returns null when the layer's tile factory isn't backed by a TileSourceFactoryAdapter (i.e. no source-based wiring, so bulk-via-source is impossible).

Link copied to clipboard
open override fun putUserProperty(key: Any, value: Any): Any?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open override fun removeUserProperty(key: Any): Any?
Link copied to clipboard
open override fun render(rc: RenderContext)
Link copied to clipboard
fun TiledImageLayer.setOfflineOnly(offlineOnly: Boolean = true)

Toggle the cache-only flag on a cache-attached layer or coverage.

Link copied to clipboard
fun setRenderable(index: Int, renderable: Renderable): Renderable