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 de descripciónPropiedades de elemento de ArcInfoPropiedades de tabla de ArcInfoPropiedades del dataset de dibujo CADPropiedades FeatureClass de CADPropiedades FeatureClass de coberturaPropiedades de coberturaPropiedades de datasetPropiedades de tabla dBasePropiedades FeatureClassPropiedades de archivoPropiedades de carpetaPropiedades FeatureClass GDBPropiedades de tabla GDBPropiedades de red geométricaPropiedades de capasPropiedades de documento de mapaPropiedades de dataset de mosaicoPropiedades de capas de Network AnalystPropiedades de dataset de redPropiedades de archivo PrjPropiedades de banda de rásterPropiedades de catálogo de rásterPropiedades de dataset de rásterPropiedades RelationshipClassPropiedades RepresentationClassPropiedades de dataset esquemáticoPropiedades de diagrama esquemáticoPropiedades de carpeta esquemáticaPropiedades FeatureClass de SDCPropiedades FeatureClass de shapefilePropiedades de tablaPropiedades de TableViewPropiedades de archivo de textoPropiedades de TINPropiedades de herramientaPropiedades de caja de herramientasPropiedades de topologíaPropiedades de cobertura VPFPropiedades FeatureClass de VPFPropiedades de tabla VPFPropiedades de 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


7/11/2012