An overview of ArcPy classes

ArcPy provides a number of classes to better support workflows using Python.

In addition to the classes listed in this topic, additional classes can be found in other ArcPy modules, including the following:

Learn more about using classes in Python

Chart classes

ClassDescription

Chart

The Chart class defines an ArcGIS Pro chart. The class allows you to create different types of charts, including bar charts, line charts, scatter plots, scatter plot matrices, QQ plots, histograms, box plots, and data clocks. The class can also be used to define the chart title, axes, and other properties.

Cursor classes

ClassDescription

Cursor

A cursor is a data access object that can be used either to iterate through the set of rows in a table or to insert new rows into a table. Cursors have three forms: search, insert, or update. Cursors are commonly used to read and update attributes.

Row

The Row object represents the row of a table. The Row object is returned from InsertCursor, SearchCursor, and UpdateCursor.

Exception classes

ClassDescription

ExecuteError

The ExecuteError exception class is raised whenever a geoprocessing tool encounters an error.

ExecuteWarning

The ExecuteWarning exception class is raised when a geoprocessing tool encounters a warning, and the SetSeverityLevel function has updated the severity level to 1. Setting the severity level to 1 instructs arcpy to throw the ExecuteWarning exception when a warning is encountered.

Environment classes

ClassDescription

env

Environment settings are exposed as properties on ArcPy's env class. These properties can be used to retrieve the current values or to set them. Geoprocessing environment settings can be thought of as additional parameters that affect a tool's results.

EnvManager

EnvManager is a class for managing geoprocessing environments.

Feature set and record set classes

ClassDescription

FeatureSet

FeatureSet objects are a lightweight representation of a feature class. They are a special data element that contains not only schema, but also the data. The FeatureSet object is also how feature data is sent and received from the server.

RecordSet

RecordSet objects are a lightweight representation of a table. They are a special data element that contains not only schema but also the data. The RecordSet object is also how tables are sent and received from the server.

Field classes

ClassDescription

Field

The field object represents a column in a table. A field has many properties, the most obvious ones being its name and its type.

FieldInfo

Provides field info methods and properties for layer and table views.

FieldMap

The FieldMap object provides a field definition and a list of input fields taken from a set of tables or feature classes.

FieldMappings

The FieldMappings object is a collection of FieldMap objects and it is used as the parameter value for tools that perform field mapping, such as Merge.

General classes

ClassDescription

ArcSDESQLExecute

The ArcSDESQLExecute class provides a means of executing SQL statements via an enterprise geodatabase connection.

Array

The array object can contain points and arrays and is used to construct geometry objects.

Extent

An extent is a rectangle specified by providing the coordinate of the lower left corner and the coordinate of the upper right corner in map units.

Index

The Index object contains information about an index on a table. There are two types of indexes: spatial and attribute. Spatial indexes exist on the shape field of a feature class.

NetCDFFileProperties

The network Common Data Form (netCDF) is a binary, self-describing, machine-independent file format for storing scientific data.

RandomNumberGenerator

Determines the type and seed that will be used to create random numbers.

Raster

Creates a raster object that can be used in Python scripting or in a Map Algebra expression. A raster object is a variable that references a raster dataset.

RasterInfo

Defines a RasterInfo object that describes a set of raster properties to facilitate the creation of a raster dataset using the Raster class.

Result

A Result object is returned by geoprocessing tools.

SpatialReference

Each part of the spatial reference has a number of properties (especially the coordinate system) that defines what map projection options are used to define horizontal coordinates.

ValueTable

A value table is a flexible object that can be used as input for a multivalue parameter. It exists only during the lifetime of the geoprocessing object that created it.

VCS

Provides information about the vertical coordinate system (VCS) component of a SpatialReference object.

Geometry classes

ClassDescription

Geometry

Geometry objects define a spatial location and an associated geometric shape.

Multipoint

A Multipoint object is an ordered collection of points.

Point

The point object is used frequently with cursors. Point features return a single point object instead of an array of point objects. All other feature types—polygon, polyline, and multipoint—return an array of point objects or an array containing multiple arrays of point objects if the feature has multiple parts.

PointGeometry

A PointGeometry object is a shape that has neither length nor area at a given scale.

Polygon

A Polygon object is a closed shape defined by a connected sequence of x,y coordinate pairs.

Polyline

A Polyline object is a shape defined by one or more paths, in which a path is a series of connected segments.

Geostatistical Analyst classes

ClassDescription

CrossValidationResult

The CrossValidationResult class is returned by the Cross Validation tool and contains access to the cross-validation results that can be generated for any geostatistical layer.

GeostatisticalDatasets

The GeostatisticalDatasets class is used to manage datasets associated with a geostatistical model source. A geostatistical model source must be a geostatistical layer.

SearchNeighborhoodSmooth

The SearchNeighborhoodSmooth class can be used to define the search neighborhood for IDW, Local Polynomial Interpolation and Radial Basis Functions (only when the INVERSE_MULTIQUADRIC_FUNCTION keyword is used). The smooth search neighborhood class accepts inputs for a minor and major axis, the size of the search ellipse, the angle of the search ellipse, and a smoothing factor.

SearchNeighborhoodSmoothCircular

The SearchNeighborhoodSmoothCircular class can be used to define the search neighborhood for Empirical Bayesian Kriging, IDW, Local Polynomial Interpolation, and Radial Basis Functions (only when the INVERSE_MULTIQUADRIC_FUNCTION keyword is used). The class accepts inputs for the radius of the searching circle and a smoothing factor.

SearchNeighborhoodStandard

The SearchNeighborhoodStandard class can be used to define the search neighborhood for IDW, Local Polynomial Interpolation, and Radial Basis Functions.

SearchNeighborhoodStandard3D

The SearchNeighborhoodStandard3D class can be used to define the three dimensional search neighborhood for the Empirical Bayesian Kriging 3D tool.

SearchNeighborhoodStandardCircular

The SearchNeighborhoodStandardCircular class can be used to define the search neighborhood for Empirical Bayesian Kriging, IDW, Local Polynomial Interpolation, and Radial Basis Functions.

Parameter classes

ClassDescription

Filter

The filter object allows you to specify the choices available for a parameter.

Parameter

Every tool parameter has an associated Parameter object with properties and methods that are useful in tool validation.

Schema

The schema of a dataset.

Value

A Value object is returned from GetParameterInfo when used in a script tool's ToolValidator class, and from the GetParameter function depending on the parameter type.