ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Data.Analyst3D Namespace / Terrain Class / GetDefinition Method
Example

In This Topic
    GetDefinition Method (Terrain)
    In This Topic
    Gets the TerrainDefinition of this terrain dataset. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    public new TerrainDefinition GetDefinition()
    Public Shadows Function GetDefinition() As TerrainDefinition

    Return Value

    The TerrainDefinition of this terrain.
    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();
      }
    }
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.2 or higher.
    See Also