ArcGIS Desktop

  • Documentation
  • Support

  • 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 for 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

Describe

  • Summary
  • Discussion
  • Syntax
  • Code sample

Summary

The Describe function returns a Describe object with multiple properties, such as data type, fields, indexes, and many others. Its properties are dynamic, meaning that depending on what data type is described, different describe properties will be available for use.

Describe properties are organized into a series of property groups. Any particular dataset will acquire the properties of at least one of these groups. For instance, if describing a geodatabase feature class, you could access properties from the GDB FeatureClass, FeatureClass, Table, and Dataset property groups. All data, regardless of the data type, will always acquire the generic Describe Object properties.

Discussion

Many data types include properties from other property groups. For instance, if describing a geodatabase feature class, you could access properties from the GDB FeatureClass, FeatureClass, Table, and Dataset property groups.

Note:

In some cases, the object returned by Describe will not have all of the properties that are documented for it. For example, the Describe object for a layer in a map will not have the layer property set. That property only exists if you describe a .lyr file.

If you try to access a property that a Describe object does not have, it will either throw an error or return an empty value (None, 0 or -1, or empty string). If you are uncertain of a particular property, you can use the Python hasattr() function to check.

  • Describe Object Properties
  • ArcInfo Workstation Item Properties
  • ArcInfo Workstation Table Properties
  • CAD Drawing Dataset Properties
  • CAD FeatureClass Properties
  • Cadastral Fabric Properties
  • Coverage FeatureClass Properties
  • Coverage Properties
  • Dataset Properties
  • dBASE Table Properties
  • Editor Tracking Properties
  • FeatureClass Properties
  • File Properties
  • Folder Properties
  • GDB FeatureClass Properties
  • GDB Table Properties
  • Geometric Network Properties
  • LAS Dataset Properties
  • Layer Properties
  • Map Document Properties
  • Mosaic Dataset Properties
  • Network Analyst Layer Properties
  • Network Dataset Properties
  • Prj File Properties
  • Raster Band Properties
  • Raster Catalog Properties
  • Raster Dataset Properties
  • RecordSet and FeatureSet Properties
  • RelationshipClass Properties
  • RepresentationClass Properties
  • Schematic Dataset Properties
  • Schematic Diagram Properties
  • Schematic Folder Properties
  • SDC FeatureClass Properties
  • Shapefile FeatureClass Properties
  • Table Properties
  • TableView Properties
  • Text File Properties
  • Tin Properties
  • Tool Properties
  • Toolbox Properties
  • Topology Properties
  • VPF Coverage Properties
  • VPF FeatureClass Properties
  • VPF Table Properties
  • Workspace Properties

Syntax

Describe (value, {datatype})
ParameterExplanationData Type
value

The specified data element or geoprocessing object to describe.

String
datatype

The type of data. This is only necessary when naming conflicts exists, for example, if a geodatabase contains a feature dataset (FeatureDataset) and a feature class (FeatureClass) with the same name. In this case, the data type is used to clarify which dataset you want to describe.

(The default value is None)

String

Return Value

Data TypeExplanation
Describe

Returns an object with properties detailing the data element described. Some of the returned object's properties will contain literal values or objects.

Code sample

Describe properties example (stand-alone script)

The following stand-alone script displays some layer and describe object properties from a layer set by a script parameter. The parameter can be set to either a layer file or a layer in a map.

import arcpy

# Get the layer as a parameter and describe it.
#
# The layer could be a layer in ArcMap (like "some_layer")
# Or, it could be a .lyr file (like "C:/data/some.lyr")
#
layerString = arcpy.GetParameterAsText(0)
desc = arcpy.Describe(layerString)

# Print selected layer and describe object properties
# 
print("Name: {}".format(desc.name))
if hasattr(desc, "layer"):
    print("Layer name: {}".format(desc.layer.name))
    print("Layer data source: {}".format(desc.layer.catalogPath))
    print(".lyr file: {}".format(desc.catalogPath))
else:
    print("Layer name: {}".format(desc.name))
    print("Layer data source: {}".format(desc.catalogPath))

if desc.FIDSet != '':
    print("Number of selected features: {}".format(len(desc.FIDSet.split(";"))))

ArcGIS Desktop

  • Home
  • Documentation
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

About Esri

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