Summary
Creates polygon features that represent aspect measurements derived from a TIN, terrain, or LAS dataset surface.
Illustration
Usage
Aspect represents the horizontal orientation of a surface and is determined in units of degrees. Each facet of the surface is assigned a code value which represents the cardinal or ordinal direction of its slope, and contiguous areas with the same code are merged into one feature. The default classification scheme is defined as follows:
Code Slope Direction Slope Angle Range -1
Flat
No Slope
1
North
0° – 22.5°
2
Northeast
22.5° – 67.5°
3
East
67.5° – 112.5°
4
Southeast
112.5° – 157.5°
5
South
157.5° – 202.5°
6
Southwest
202.5° – 247.5°
7
West
247.5° – 292.5°
8
Northwest
292.5° – 337.5°
9
North
337.5° – 360°
Customized class definitions can be provided through a Class Breaks Table. The table must have two columns where the first indicates the aspect break point in degrees and the second defines its code value. Consider the following example:
Break Aspect_Code 90.0
1
180.0
2
270.0
3
360.0
4
The table can be in any supported format (.dbf, .txt, or geodatabase table). The name of the fields are irrelevant, as the first will always be used for the class breaks and the second for the aspect codes.
Syntax
SurfaceAspect_3d (in_surface, out_feature_class, {class_breaks_table}, {aspect_field}, {pyramid_level_resolution})
Parameter | Explanation | Data Type |
in_surface | The TIN, terrain, or LAS dataset surface to process. | LAS Dataset Layer; Terrain Layer; TIN Layer |
out_feature_class | The feature class that will be produced by this tool. | Feature Class |
class_breaks_table (Optional) | A table containing the classification breaks that will be used to define the aspect ranges in the output feature class. | Table |
aspect_field (Optional) | The field containing aspect code values. | 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
SurfaceAspect 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.SurfaceAspect_3d("sample.gdb/featuredataset/terrain", "sample.gdb/featuredataset/terrain_aspect")
SurfaceAspect example 2 (stand-alone script)
The following sample demonstrates the use of this tool in a stand-alone Python script.
'''****************************************************************************
Name: SurfaceAspect Example
Description: This script demonstrates how to use the
SurfaceAspect and SurfaceSlope tools to generate a polygon
that contains the intersection of both
****************************************************************************'''
# Import system modules
import arcpy
from arcpy import env
# Obtain a license for the ArcGIS 3D Analyst extension
arcpy.CheckOutExtension("3D")
# Set environment settings
env.workspace = "C:/data"
try:
# List all TINs in workspace
listTINs = arcpy.ListDatasets("","TIN")
# Determine whether the list contains any TINs
if len(listTINs) > 0:
for dataset in listTINs:
print dataset
# Set Local Variables
aspect = arcpy.CreateUniqueName("Aspect.shp")
slope = arcpy.CreateUniqueName("Slope.shp")
outFC = dataset + "_Aspect_Slope.shp"
#Execute SurfaceAspect
arcpy.SurfaceAspect_3d(dataset, aspect)
#Execute SurfaceSlope
arcpy.SurfaceSlope_3d(dataset, slope)
#Execute SurfaceSlope
print "Starting Intersect"
arcpy.Intersect_analysis(aspect + " #;" + slope + " #", outFC, "ALL")
print "Completed intersect for " + dataset
del aspect, slope, outFC
else:
print "There are no TINs in the " + env.workspace + " directory."
except:
# Returns any other error messages
print arcpy.GetMessages(2)
del arcpy, listTINs
Environments
Licensing Information
- ArcGIS for Desktop Basic: Requires 3D Analyst
- ArcGIS for Desktop Standard: Requires 3D Analyst
- ArcGIS for Desktop Advanced: Requires 3D Analyst