Summary
The Describe function returns the following properties for Layers. Dataset Properties are also supported, as well as the properties of the data type, the layer references. For example, a layer that references a feature class will have access to FeatureClass Properties, while a layer that references a raster dataset will have access to Raster Dataset Properties.
- If the data element being described is a layer in a map or an in-memory layer, then the dataType returned gives information about the data source of layer being described. Some examples of this are "MosaicLayer", "FeatureLayer", and "GroupLayer".
- If the data element being described is a .lyr file, a dataType of "Layer" is returned.
- You can get information about the layer contained by a .lyr file by inspecting the Describe object returned by the layer property.
Properties
Property | Explanation | Data Type |
dataElement (Read Only) | The Describe object of the data source to which the layer refers. | Describe |
featureClass (Read Only) | The Describe object of the feature class associated with the feature layer. | Describe |
fieldInfo (Read Only) | The FieldInfo object (property set) of the layer. | FieldInfo |
layer (Read Only) | The Describe object of the layer within a .lyr file. | Describe |
nameString (Read Only) | The name of the layer. | String |
table (Read Only) | The Describe object of the table within a layer. | Describe |
whereClause (Read Only) | The layer's definition query where clause. | String |
Code sample
The following stand-alone script displays some layer properties from an in-memory feature layer.
import arcpy
# Create an in memory feature layer from a feature class.
#
arcpy.MakeFeatureLayer_management(
"C:/data/chesapeake.gdb/bayshed",
"mainlines_layer")
# Create a Describe object from the feature layer.
#
desc = arcpy.Describe("mainlines_layer")
# Print some properties of the feature layer, and its featureclass.
#
print "Name String: " + desc.nameString
print "Where Clause: " + desc.whereClause
print "Feature class type: " + desc.featureClass.featureType
The following stand-alone script displays some layer properties from a .lyr file.
import arcpy
# Create a Describe object from a .lyr file.
#
desc = arcpy.Describe("c:/data/water_pipes.lyr")
# Print some properties of the feature layer
#
print "Name String: " + desc.nameString
print "Where Clause: " + desc.whereClause
# Find out if the layer represents a feature class
if desc.dataElement.dataType == "FeatureClass":
print "Feature class: " + desc.dataElement.catalogPath
print "Feature class Type: " + desc.featureClass.featureType
else:
print "Not a regular feature class"