Describir datos

Las herramientas de geoprocesamiento funcionan con todo tipo de datos, como clases de entidades de geodatabase, shapefiles, rásteres, tablas, topologías y redes. Cada dato tiene propiedades particulares a las que se puede acceder y las que se pueden utilizar para controlar el flujo de la secuencia de comandos o como parámetros de una herramienta. Por ejemplo, el tipo de entidad de salida de la herramienta Intersecar depende del tipo de forma de los datos que se intersecan: punto, línea o polígono. Cuando la herramienta Intersecar se ejecuta dentro de una secuencia de comandos en una lista de datasets de entrada, debe ser capaz de determinar los tipos de forma de los datasets de entrada para poder configurar el tipo de forma de salida correcto. Puede utilizar la función Describir para determinar los tipos de forma de todos los datasets de entrada.

Las propiedades de un dataset se pueden determinar y utilizar para tomar decisiones mediante la función Describir. Por ejemplo, en el siguiente caso, la secuencia de comandos utiliza Describir para evaluar el tipo de forma (polilínea, polígono, punto, etc.) de los datos de entrada y determinar qué herramienta de geoprocesamiento es adecuada.

import arcpy

inFC = arcpy.GetParameterAsText(0)
outFC = arcpy.GetParameterAsText(1)

# Describe a feature class
#
desc = arcpy.Describe(inFC)

# Get the shape type (Polygon, Polyline) of the feature class
#
type = desc.shapeType

# If the shapeType is Polygon convert the data to polylines 
#  using the FeatureToLine tool, otherwise just copy the 
#  data using the CopyFeatures tool.
#
if type == "Polygon":
    arcpy.FeatureToLine_management(inFC, outFC)
else:
    arcpy.CopyFeatures_management(inFC, outFC)

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.

Propiedades del objeto DescribePropiedades de elemento de ArcInfo WorkstationPropiedades de tabla de ArcInfo WorkstationPropiedades del dataset CAD DrawingPropiedades de FeatureClass de CADPropiedades de la estructura catastralPropiedades de FeatureClass de coberturaPropiedades de coberturaPropiedades de datasetPropiedades de la tabla de dBASEPropiedades del dataset de rastreo del editorPropiedades de FeatureClassPropiedades de archivoPropiedades de la carpetaPropiedades de FeatureClass de GDBPropiedades de tabla de GDBPropiedades de red geométricaPropiedades del dataset LASPropiedades de capaPropiedades del documento de mapaPropiedades de dataset de mosaicoPropiedades de la capa de Network AnalystPropiedades de dataset de redPropiedades de archivo de proyectoPropiedades de la banda rásterPropiedades del catálogo rásterPropiedades del dataset rásterPropiedades de FeatureSets y RecordSetsPropiedades de RelationshipClassPropiedades de RepresentationClassPropiedades de dataset esquemáticoPropiedades de diagrama esquemáticoPropiedades de carpeta esquemáticaPropiedades de FeatureClass de SDCPropiedades FeatureClass de shapefilePropiedades de tablaPropiedades de TableViewPropiedades del archivo de textoPropiedades de TINPropiedades de herramientaPropiedades de la caja de herramientasPropiedades de topologíaPropiedades de cobertura VPFPropiedades de FeatureClass de VPFPropiedades de tabla de VPFPropiedades del espacio de trabajo

Trabajar con conjuntos de propiedades

Algunas propiedades pertenecen a un conjunto de propiedades. Por ejemplo, las tolerancias de una cobertura o las propiedades de conexión de un espacio de trabajo son devueltas como Conjuntos de propiedades. Los Conjuntos de propiedades incluyen propiedades que se pueden denominar de la misma manera que el conjunto en sí. En el ejemplo que aparece a continuación, las tolerancias de una cobertura (difusa, de nodo colgado, de coincidencia con el punto de relevancia, de edición, de alineación con el nodo, de eliminación, ínfima y de alineación) se imprimen en la salida estándar:

import arcpy

# Create a describe object from a coverage feature class
#
desc = arcpy.Describe("D:/St_Johns/covs/freshwater")

# Create a property set of coverage tolerances
#
covTols = desc.tolerances

# Print each coverage tolerance
#
print covTols.fuzzy
print covTols.dangle
print covTols.ticMatch
print covTols.edit
print covTols.nodeSnap
print covTols.weed
print covTols.grain
print covTols.snap

Generalmente, los Conjuntos de propiedades se utilizan cuando las propiedades del objeto descrito varían. Las propiedades de conexión (servidor, instancia, base de datos, usuario y versión) de un espacio de trabajo de una geodatabase corporativa varían según el tipo de base de datos de ArcSDE utilizado, de modo que se adecue a un conjunto de propiedades que no posee una serie de valores predefinidos.

Temas relacionados

9/11/2013