ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Help
  • Sign Out
ArcGIS Desktop

ArcGIS Online

The mapping platform for your organization

ArcGIS Desktop

A complete professional GIS

ArcGIS Enterprise

GIS in your enterprise

ArcGIS Developers

Tools to build location-aware apps

ArcGIS Solutions

Free template maps and apps for your industry

ArcGIS Marketplace

Get apps and data for your organization

  • Documentation
  • Support
Esri
  • Sign In
user
  • My Profile
  • Sign Out

ArcMap

  • Home
  • Get Started
  • Map
  • Analyze
  • Manage Data
  • Tools
  • Extensions

Surface Aspect

  • Summary
  • Illustration
  • Usage
  • Syntax
  • Code sample
  • Environments
  • Licensing information

Summary

Creates polygon features that represent aspect measurements derived from a TIN, terrain, or LAS dataset surface.

Illustration

TIN Aspect 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:

    CodeSlope DirectionSlope 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:

    BreakAspect_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

arcpy.ddd.SurfaceAspect(in_surface, out_feature_class, {class_breaks_table}, {aspect_field}, {pyramid_level_resolution})
ParameterExplanationData 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

  • Current Workspace
  • Output Coordinate System
  • Geographic Transformations
  • Extent
  • XY Resolution
  • XY Tolerance
  • Output XY Domain
  • Output CONFIG Keyword
  • Auto Commit
  • Terrain Memory Usage

Licensing information

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

Related topics

  • An overview of the Triangulated Surface toolset
  • Fundamentals of geoprocessing with the ArcGIS 3D Analyst extension
  • Fundamentals of Surfaces
  • Understanding the shape of a surface
  • What is a TIN surface?

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

  • About Us
  • Careers
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Tell us what you think.
Copyright © 2021 Esri. | Privacy | Legal