Describe
Resumen
La función Describir devuelve el objeto Descripción que contiene varias propiedades, como tipo de datos, campos, índices y otras. Sus propiedades son dinámicas, lo que significa que depende del tipo de datos que se describe, distintas propiedades de descripción estarán disponibles para su uso.
Las propiedades de descripción se organizan en una serie de grupos de propiedades. Cualquier dataset en particular adquirirá las propiedades de al menos uno de estos grupos. Por ejemplo, si describe una clase de entidad de geodatabase, puede acceder a las propiedades desde los grupos de propiedades FeatureClass de GDB, FeatureClass, Tabla y Dataset. Todos los datos, sin importar su tipo, siempre adquirirán las propiedades genéricas de Objeto de descripción.
Debate
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.
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 ArcMap's table of contents 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, empty string). If you are uncertain of a particular property, you can use Python's hasattr() function to check.
Sintaxis
Parámetro | Explicación | Tipo de datos |
value |
The specified data element or geoprocessing object to describe. | String |
Tipo de datos | Explicación |
Describe |
Returns an object with properties detailing the data element described. Some of the returned object's properties will contain literal values or objects. |
Ejemplo de código
The following stand-alone script displays some layer and describe object properties from a layer set by a script parameter. The parameter might get set to either a .lyr file or to a layer in ArcMap.
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:", desc.name if hasattr(desc, "layer"): print "Layer name:", desc.layer.name print "Layer data source:", desc.layer.catalogPath print ".lyr file:", desc.catalogPath else: print "Layer name:", desc.name print "Layer data source:", desc.catalogPath if desc.fidSet != '': print "Number of selected features:", str(len(desc.fidSet.split(";")))