Describe

Resumen

La función Describe devuelve un objeto Describe con varias propiedades, como tipo de datos, campos, índices y muchos otros. Sus propiedades son dinámicas, es decir, en función del tipo de datos que se describa, dispondrá de distintas propiedades de descripción para utilizarlas.

Las propiedades de descripción se organizan en una serie de grupos de propiedades. Cada dataset concreto adquirirá las propiedades de al menos uno de estos grupos. Por ejemplo, si se describe una clase de entidad de geodatabase, podría acceder a las propiedades desde los grupos de propiedades Clase de entidad de geodatabase, Clase de entidad, Tabla y Dataset. Todos los datos, independientemente del tipo, adquirirán siempre las propiedades de Descripción de objetos genéricas.

Debate

Muchos tipos de datos incluyen propiedades de otros grupos de propiedades. Por ejemplo, si se describe una clase de entidad de geodatabase, podría acceder a las propiedades desde los grupos de propiedades Clase de entidad de geodatabase, Clase de entidad, Tabla y Dataset.

Consulte arcpy.da.Describe, que devuelve la misma información, pero como diccionario.

Nota:

En algunos casos, el objeto que devuelve Describe no tendrá todas las propiedades que se documentan para él. Por ejemplo, el objeto Describe de una capa en un mapa no tendrá la misma propiedad layerdefinida. Dicha propiedad solo existe si describe un archivo .lyr.

Si intenta acceder a una propiedad que no tenga un objeto Describe, se generará un error o se devolverá un valor vacío (None, 0 o -1, o una cadena vacía). Si tiene dudas sobre una propiedad en concreto, puede utilizar la función hasattr()de Python para comprobarla.

Sintaxis

Describe (value, {datatype})
ParámetroExplicaciónTipo de datos
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.

(El valor predeterminado es None)

String
Valor de retorno
Tipo de datosExplicación
Describe

Devuelve un objeto con propiedades que detallan el elemento de datos descrito. Algunas de las propiedades del objeto devuelto contendrán valores u objetos literales.

Muestra de código

Ejemplo de propiedades de descripción (script independiente)

El siguiente script independiente muestra algunas propiedades de capa y objeto de descripción de una capa configurada por un parámetro de script. El parámetro se puede definir como un archivo de capa o una capa de un mapa.

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(";"))))