Summary
Interpolates a raster using z-values from a terrain dataset.
Usage
- The resolution parameter indicates which pyramid level of the terrain to use for conversion. Pyramid levels are defined using the z-tolerance or window-size pyramid types. For more information on terrain pyramids, see Terrain Pyramids. 
- To extract a subset of the terrain, define the extent using the geoprocessing environment settings. 
- The Linear and Natural neighbor interpolation options are applied through the triangulated terrain surface. The linear option finds the triangle encompassing each cell center and applies a weighted average of the triangle's nodes to interpolate a value. The natural neighbors option uses area-based weights on Voronoi neighbors. 
Syntax
TerrainToRaster(in_terrain, out_raster, {data_type}, {method}, {sample_distance}, {pyramid_level_resolution})| Parameter | Explanation | Data Type | 
| in_terrain | The terrain dataset to process. | Terrain Layer | 
| out_raster | The location and name of the output raster. When storing a raster dataset in a geodatabase or in a folder such as an Esri Grid, no file extension should be added to the name of the raster dataset. A file extension can be provided to define the raster's format when storing it in a folder, such as .tif to generate a GeoTIFF or .img to generate an ERDAS IMAGINE format file. If the raster is stored as a TIFF file or in a geodatabase, its raster compression type and quality can be specified using geoprocessing environment settings. | Raster Dataset | 
| data_type (Optional) | Specifies the type of numeric values stored in the output raster. 
 | String | 
| method (Optional) | The interpolation method that will be used to calculate cell values. 
 | String | 
| sample_distance sampling_method distance (Optional) | The sampling method and distance used to define the cell size of the output raster. | String | 
| pyramid_level_resolution (Optional) | The z-tolerance or window-size resolution of the terrain pyramid level that will be used by this tool. The default is 0, or full resolution. | Double | 
Code sample
TerrainToRaster example 1 (Python window)
The following sample demonstrates the use of this tool in the Python window.
import arcpy
from arcpy import env
arcpy.CheckOutExtension("3D")
env.workspace = "C:/data"
arcpy.TerrainToRaster_3d("sample.gdb/featuredataset/terrain", "terrain.img", "INT", "LINEAR", "CELLSIZE 10", 2.5)
TerrainToRaster example 2 (stand-alone script)
The following sample demonstrates the use of this tool in a stand-alone Python script.
'''*********************************************************************
Name: TerrainToRaster Example
Description: This script demonstrates how to use the 
             TerrainToRaster tool.
             
**********************************************************************'''
# Import system modules
import arcpy
from arcpy import env
import exceptions, sys, traceback
try:
    arcpy.CheckOutExtension("3D")
    # Set environment setting
    env.workspace = "C:/data"
    # Set Local Variables
    terrain = "sample.gdb/featuredataset/terrain"
    bitType = "INT"
    method = "LINEAR"
    sampling = "CELLSIZE 10"
    pyrLvl = 2.5
    outRas = arcpy.CreateUniqueName("terrain_level.img")    
    #Execute TerrainToRaster
    arcpy.ddd.TerrainToRaster(terrain, outRas, bitType, 
                              method, sampling, pyrLvl)
    arcpy.CheckInExtension("3D")
except arcpy.ExecuteError:
    print arcpy.GetMessages()
except:
    # Get the traceback object
    tb = sys.exc_info()[2]
    tbinfo = traceback.format_tb(tb)[0]
    # Concatenate error information into message string
    pymsg = 'PYTHON ERRORS:\nTraceback info:\n{0}\nError Info:\n{1}'\
          .format(tbinfo, str(sys.exc_info()[1]))
    msgs = 'ArcPy ERRORS:\n {0}\n'.format(arcpy.GetMessages(2))
    # Return python error messages for script tool or Python Window
    arcpy.AddError(pymsg)
    arcpy.AddError(msgs)
Environments
Licensing information
- Basic: Requires 3D Analyst
- Standard: Requires 3D Analyst
- Advanced: Requires 3D Analyst