Skip To Content

Raster Domain


Creates a polygon or polyline footprint of the data portions of a raster dataset.


Raster Domain input and output


  • Single-band or multiband raster dataset can be provided as input.

  • The domain feature will extend to the center of the perimeter cells in the contiguous data blocks of the raster. The cell center defines interpolation zone of a raster surface. NoData cells are ignored in the output feature.

  • Output geometry is placed in one feature record and may comprise of multipart feature if the raster has discontinuous data cells separated by NoData cells.


    3D polygons only contain elevation values along the perimeter of the features, as interior portions of the polygon will not contain any vertices. When drawn in 3D with an area fill, the boundary vertices are arbitrarily connected into triangles for rendering. Unless the polygon is planar, either sloped or horizontal, it's unlikely the fill will accurately represent the interior surface. For this reason, it is recommended that nonplanar 3D polygons are drawn without fill symbology.


RasterDomain_3d (in_raster, out_feature_class, out_geometry_type)
ParameterExplanationData Type

The raster to process.

Raster Layer; Mosaic Layer

The feature class that will be produced by this tool.

Feature Class

The geometry of the output feature class.

  • LINEThe output will be a z-enabled line feature class.
  • POLYGONThe output will be a z-enabled polygon feature class.

Code sample

RasterDomain example 1 (Python window)

The following sample demonstrates the use of this tool in the Python window.

arcpy.env.workspace = "C:/data"
arcpy.RasterDomain_3d("dtm_grd", "raster_domain.shp", "POLYGON")
RasterDomain example 2 (stand-alone script)

The following sample demonstrates the use of this tool in a stand-alone Python script.

Name: RasterDomain Example
Description: This script demonstrates how to use the 
             Raster Domain tool to generate polygon footprints for all
             *.img rasters in a given workspace.

# Import system modules
import arcpy

# Set environment settings
arcpy.env.workspace = "C:/data"

# Create the list of IMG rasters
rasterList = arcpy.ListRasters("*", "IMG")
# Verify there are rasters in the list
if rasterList:
    # Loop the process for each raster
    for raster in rasterList:
        # Set Local Variables
        outGeom = "POLYGON" # output geometry type
        # The [:-4] strips the .img from the raster name
        outPoly = "domain_" + raster[:-4] + ".shp"
        print("Creating footprint polygon for " + raster + ".")
        #Execute RasterDomain
        arcpy.RasterDomain_3d(raster, outPoly, outGeom)
    print("There are no IMG files in the " + env.workspace + " directory.")

Licensing information

  • ArcGIS Desktop Basic: Requires 3D Analyst
  • ArcGIS Desktop Standard: Requires 3D Analyst
  • ArcGIS Desktop Advanced: Requires 3D Analyst

Related topics