ArcGIS Pro 3.2 API Reference Guide
ArcGIS.Core.Data.Analyst3D Namespace / TerrainDefinition Class
Members Example

In This Topic
    TerrainDefinition Class
    In This Topic
    Represents the properties of a Terrain.
    Object Model
    TerrainDefinition ClassEnvelope ClassTerrainWindowSizeProperties ClassSpatialReference Class
    Syntax
    public sealed class TerrainDefinition : ArcGIS.Core.Data.Definition, System.IDisposable  
    Public NotInheritable Class TerrainDefinition 
       Inherits ArcGIS.Core.Data.Definition
       Implements System.IDisposable 
    Example
    Get a Terrain Definition
    public async Task GetTerrainDefinition()
    {
      try
      {
        await ArcGIS.Desktop.Framework.Threading.Tasks.QueuedTask.Run(() =>
        {
          string path = @"d:\Data\Terrain\filegdb_Containing_A_Terrain.gdb";
          var fileConnection = new FileGeodatabaseConnectionPath(new Uri(path));
    
          using (Geodatabase dataStore = new Geodatabase(fileConnection))
          {
            string dsName = "nameOfTerrain";
    
            using (var terrainDef = dataStore.GetDefinition<ArcGIS.Core.Data.Analyst3D.TerrainDefinition>(dsName))
            {
              // get the feature class names that are used in the terrain
              var fcNames = terrainDef.GetFeatureClassNames();
            }
          }
        });
      }
      catch (GeodatabaseNotFoundOrOpenedException exception)
      {
        // Handle Exception.
      }
    }
    
    Retrieve dataset objects
    //Must be on the QueuedTask.Run()
    
    Envelope extent;
    SpatialReference sr;
    using (var tin = tinLayer.GetTinDataset())
    {
      using (var tinDef = tin.GetDefinition())
      {
        extent = tinDef.GetExtent();
        sr = tinDef.GetSpatialReference();
      }
    }
    
    using (var terrain = terrainLayer.GetTerrain())
    {
      using (var terrainDef = terrain.GetDefinition())
      {
        extent = terrainDef.GetExtent();
        sr = terrainDef.GetSpatialReference();
      }
    }
    
    using (var lasDataset = lasDatasetLayer.GetLasDataset())
    {
      using (var lasDatasetDef = lasDataset.GetDefinition())
      {
        extent = lasDatasetDef.GetExtent();
        sr = lasDatasetDef.GetSpatialReference();
      }
    }
    Inheritance Hierarchy

    System.Object
       ArcGIS.Core.CoreObjectsBase
          ArcGIS.Core.Data.Definition
             ArcGIS.Core.Data.Analyst3D.TerrainDefinition

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.2 or higher.
    See Also