Recalculate Feature Class Extent (Data Management)

Summary

Recalculates the xy, z, and m extent properties of a feature class based on the features in the feature class.

A feature class has a spatial extent that is based on all the coordinates in the feature class. This spatial extent is used when adding a feature class to a map to recenter and display all the features. Rather than examining every feature in the feature class each time the feature class is added to a map (a potentially long process), a feature class has an extent property containing the last known spatial extent. However, this extent property is not always updated when features in the feature class are edited. This means that the values in the extent property may not contain the actual spatial extent of the features. The Recalculate Feature Class Extent tool reads all the features and updates the extent property.

Note:

XY, Z, and M extents are not the same as spatial reference domains. The XY, Z, and M domains in a spatial reference define the valid range of coordinate values that can be stored in a feature class. The feature class extents reflect the actual range of coordinate values that exist in the feature class. These extents cannot be larger than the domains.

Usage

  • Recalculate Feature Class Extent updates geodatabase feature classes or shapefiles (point, multipoint, line, or polygon).

  • In an enterprise geodatabase, extent is a property of the feature class schema and requires an exclusive schema lock to run.

  • When using this tool with an enterprise geodatabase feature class as input, the extent is calculated based on the features that exist in that feature class in all versions. The extent will not reduce or expand unless this tool is run after the database has been compressed.

  • This tool will fail if you do not have permissions to edit the feature class.

  • Recalculating the feature class extent cannot be undone.

  • The values of the extent are returned by the arcpy.Describe function's extent property.

  • Caution:

    This tool modifies the input data. See Tools that modify or update the input data for more information and strategies to avoid undesired data changes.

Parameters

LabelExplanationData Type
Feature Class

The shapefile or geodatabase feature class that will be updated.

Feature Layer
Store Extent
(Optional)

Specifies whether the extent will be stored for feature classes that are not registered. This parameter is only active when the input feature class is an unregistered spatial table.

If the input feature class is updated frequently, you may choose not to store the recalculated extent value. If you choose to store the extent, the extent will not be recalculated each time the feature class is added to a map.

  • Checked—The extent will be stored for the input feature class.
  • Unchecked—The extent will not be stored for the input feature class. This is the default.
Boolean

Derived Output

LabelExplanationData Type
Updated Feature Class

The updated feature class.

Feature Class

arcpy.management.RecalculateFeatureClassExtent(in_features, {store_extent})
NameExplanationData Type
in_features

The shapefile or geodatabase feature class that will be updated.

Feature Layer
store_extent
(Optional)

Specifies whether the extent will be stored for feature classes that are not registered.

If the input feature class is updated frequently, you may choose not to store the recalculated extent value. If you choose to store the extent, the extent will not be recalculated each time the feature class is added to the map.

  • STORE_EXTENTThe extent will be stored for the input feature class.
  • DO_NOT_STORE_EXTENTThe extent will not be stored for the input feature class. This is the default.
Boolean

Derived Output

NameExplanationData Type
out_features

The updated feature class.

Feature Class

Code sample

RecalculateFeatureClassExtent example (Python window)

The following Python window script demonstrates how to use the RecalculateFeatureClassExtent function in immediate mode. It recalculates the xy, z, or m extent of a feature class.

import arcpy
feature_class = r"C:\Data\europe.gdb\norway_cities"
arcpy.management.RecalculateFeatureClassExtent(feature_class)