SDK JS
    Preparing search index...

    Interface EsriTerrainController

    Controls an ordered stack of Esri elevation datasets behind one composited terrain.

    const terrain = await createEsriTerrain(map, { maplibregl });
    await terrain.addLayer({ url: '…/WorldElevation3D/Terrain3D/ImageServer' }); // base
    const local = await terrain.addLayer({ url: '…/Ky_DEM_KYAPED_Phase2_WM/ImageServer' });
    terrain.setExaggeration(1.5);
    local.remove(); // that region falls back through to the base
    interface EsriTerrainController {
        sourceId: string | null;
        stackId: string;
        addLayer(opts: AddTerrainLayerOptions): Promise<EsriTerrainLayerHandle>;
        layers(): readonly EsriElevationService[];
        remove(): void;
        setExaggeration(exaggeration: number): void;
        stats(): EsriTerrainStats;
    }
    Index

    Properties

    sourceId: string | null

    The live raster-dem source id (changes as the stack mutates), or null when empty.

    stackId: string

    Stable registry key identifying this stack (unchanged across rebuilds).

    Methods

    • Tear down: clear terrain, remove the source, unregister, and dispose the decoder.

      Returns void

    • Update the terrain vertical exaggeration.

      Parameters

      • exaggeration: number

        Unitless multiplier (1 = true scale).

      Returns void