Set the terrain surface with elevation described by a raster file.
      
  
    
Use case
In a scene view, the terrain surface is what the basemap, operational layers, and graphics are draped onto. For example, when viewing a scene in a mountainous region, applying a terrain surface to the scene will help in recognizing the slopes, valleys, and elevated areas.
How to use the sample
When loaded, the sample will show a scene with a terrain surface applied. Pan and zoom to explore the scene and observe how the terrain surface allows visualizing elevation differences.
How it works
- Create a 
Sceneand add it to aSceneView. - Create a 
RasterElevationSourcewith a list of local raster file paths, in this case a single .dt2 file - Add the raster elevation source to the scene's base surface.
 
Relevant API
- RasterElevationSource
 - Surface
 
Offline data
Read more about how to set up the sample's offline data here.
| Link | Local Location | 
|---|---|
| MontereyElevation Raster | <userhome>/ArcGIS/Runtime/Data/raster/MontereyElevation.dt2 | 
Additional information
Supported raster formats include:
- ASRP/USRP
 - CIB1, 5, 10
 - DTED0, 1, 2
 - GeoTIFF
 - HFA
 - HRE
 - IMG
 - JPEG
 - JPEG 2000
 - NITF
 - PNG
 - RPF
 - SRTM1, 2
 
Tags
3D, Raster, Elevation, Surface
Sample Code
// [WriteFile Name=CreateTerrainSurfaceFromLocalRaster, Category=Scenes]
// [Legal]
// Copyright 2019 Esri.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// [Legal]
import QtQuick 2.6
import Esri.ArcGISRuntime 100.15
import Esri.ArcGISExtras 1.1
Rectangle {
    id: rootRectangle
    clip: true
    width: 800
    height: 600
    readonly property string montereyRasterElevationPath: System.userHomePath + "/ArcGIS/Runtime/Data/raster/MontereyElevation.dt2"
    SceneView {
        id: sceneView
        anchors.fill: parent
        Scene {
            id: scene
            Basemap {
                initStyle: Enums.BasemapStyleArcGISImageryStandard
            }
            Surface {
                RasterElevationSource{
                    // RasterElevationSource takes a list of raster files. Here we provide a list cotaining just a single file.
                    fileUrls: [montereyRasterElevationPath]
                    // Hook up success/error reporting for the Elevation Source load
                    onLoadStatusChanged: reportLoadStatus(loadStatus, loadError)
                }
            }
        }
        Component.onCompleted: {
            // Set the focus on SceneView to initially enable keyboard navigation
            forceActiveFocus();
            // Once the scene view has loaded, apply the camera.
            setViewpointCameraAndWait(camera);
        }
    }
    function reportLoadStatus(loadStatus, loadError){
        if(loadStatus === Enums.LoadStatusLoaded){
            console.info("Loaded raster elevation source succesfully");
        }
        else if(loadStatus === Enums.LoadStatusFailedToLoad){
            console.warn("Error loading elevation source : ", loadError.message, loadError.additionalMessage);
        }
    }
    // Create the camera to be used as the scene view's viewpoint, looking at Monterey, California..
    Camera {
        id: camera
        location: Point {
            x: -121.80 // Longitude
            y: 36.51 // Latitude
            z: 300.0 // Altiude
            spatialReference: SpatialReference { wkid: 4326 }
        }
        heading: 10.0
        pitch: 70.0
        roll: 0.0
    }
}