Agregar atributos de geometría (Administración de datos)

Resumen

Agrega nuevos campos de atributos a las entidades de entrada que representan las características espaciales o geométricas y la ubicación de cada entidad, como la longitud o el área y las coordenadas x, y, z y m.

Uso

    Precaución:

    Esta herramienta modifica los datos de entrada. Consulte Herramientas que modifican o actualizan los datos de entrada para obtener más información y estrategias para evitar cambios de datos no deseados.

  • En función de las opciones especificadas en el parámetro Propiedades de geometría, se agregarán uno o más campos de atributos a las entidades de entrada. Si los campos ya existen en las entidades de entrada, se sobrescribirán los valores de esos campos. Utilice la tabla siguiente para determinar qué campos se agregarán para cada propiedad de geometría:

    Propiedad de geometríaCampos agregados

    AREA

    POLY_AREA: el área del polígono.

    AREA_GEODESIC

    AREA_GEO: el área geodésica del polígono.

    CENTROID

    CENTROID_X: la coordenada x del punto centroide.

    CENTROID_Y: la coordenada y del punto centroide.

    CENTROID_Z: la coordenada z del punto centroide. Este campo solo se agrega si las entidades de entrada tienen el valor z habilitado.

    CENTROID_M: la coordenada m del punto centroide. Este campo solo se agrega si las entidades de entrada tienen el valor m habilitado.

    CENTROID_INSIDE

    INSIDE_X: la coordenada x de un punto central dentro de la entidad de entrada o sobre ella.

    INSIDE_Y: la coordenada y de un punto central dentro de la entidad de entrada o sobre ella.

    INSIDE_Z: la coordenada z de un punto central dentro de la entidad de entrada o sobre ella. Este campo solo se agrega si las entidades de entrada tienen el valor z habilitado.

    INSIDE_M: la coordenada m de un punto central dentro de la entidad de entrada o sobre ella. Este campo solo se agrega si las entidades de entrada tienen el valor m habilitado.

    EXTENT

    EXT_MIN_X: la coordenada x mínima de la entidad.

    EXT_MIN_Y: la coordenada y mínima de la entidad.

    EXT_MAX_X: la coordenada x máxima de la entidad.

    EXT_MAX_Y: la coordenada y máxima de la entidad.

    LENGTH

    LENGTH: la longitud de la línea.

    LENGTH_GEODESIC

    LENGTH_GEO: la longitud geodésica de la línea.

    LENGTH_3D

    LENGTH_3D: la longitud 3D de la línea.

    LINE_BEARING

    BEARING: el rumbo de principio a fin de la línea. Los valores están entre 0 y 360, donde 0 apunta hacia el norte, 90 hacia el este, 180 hacia el sur, 270 hacia el oeste, etc.

    LINE_START_MID_END

    START_X: la coordenada x del primer punto de la línea o el borde del polígono.

    START_Y: la coordenada y del primer punto de la línea o el borde del polígono.

    START_Z: la coordenada z del primer punto de la línea o el borde del polígono. Este campo solo se agrega si las entidades de entrada tienen el valor z habilitado.

    START_M: la coordenada m del primer punto de la línea o el borde del polígono. Este campo solo se agrega si las entidades de entrada tienen el valor m habilitado.

    MID_X: la coordenada x del punto a medio camino de la longitud de la línea o el borde del polígono.

    MID_Y: la coordenada y del punto a medio camino de la longitud de la línea o el borde del polígono.

    MID_Z: la coordenada z del punto a medio camino de la longitud de la línea o el borde del polígono. Este campo solo se agrega si las entidades de entrada tienen el valor z habilitado.

    MID_M: la coordenada m del punto a medio camino de la longitud de la línea o el borde del polígono. Este campo solo se agrega si las entidades de entrada tienen el valor m habilitado.

    END_X: la coordenada x del último punto de la línea o el borde del polígono.

    END_Y: la coordenada y del último punto de la línea o el borde del polígono.

    END_Z: la coordenada z del último punto de la línea o el borde del polígono. Este campo solo se agrega si las entidades de entrada tienen el valor z habilitado.

    END_M: la coordenada m del último punto de la línea o el borde del polígono. Este campo solo se agrega si las entidades de entrada tienen el valor m habilitado.

    PART_COUNT

    PART_COUNT: el número de partes que conforman la entidad.

    PERIMETER_LENGTH

    PERIMETER: la longitud del perímetro o borde del polígono.

    PERIMETER_LENGTH_GEODESIC

    PERIM_GEO: la longitud geodésica del perímetro o borde del polígono.

    POINT_COUNT

    PNT_COUNT: el número de puntos que conforman la entidad.

    POINT_X_Y_Z_M

    POINT_X: la coordenada x del punto.

    POINT_Y: la coordenada y del punto.

    POINT_Z: la coordenada z del punto. Este campo solo se agrega si las entidades de entrada tienen el valor z habilitado.

    POINT_M: la coordenada m del punto. Este campo solo se agrega si las entidades de entrada tienen el valor m habilitado.

  • Si se ha especificado un sistema de coordenadas, los cálculos de longitud y área se expresarán en las unidades propias de ese sistema de coordenadas a menos que se seleccionen otras unidades en los parámetros Unidad de longitud y Unidad de área.

  • Los campos de atributo agregados por esta herramienta son como cualquier otro campo que pueda agregar a una capa de entidades. Los valores de campo se pueden sobrescribir, eliminar o renombrar. Los valores de esos campos no se calculan de nuevo automáticamente después de las ediciones. Si se editan las entidades, será necesario volver a ejecutar esta herramienta para actualizar los valores de los campos.

  • Si existe una selección en las entidades de entrada, solamente las entidades seleccionadas tendrán valores calculados en los campos agregados. Las demás tendrán valores nulos.

  • Esta herramienta funciona con clases de entidades de punto, multipunto, polilínea, polígono y anotación. La anotación se trata como una clase de entidad de polígono.

Sintaxis

arcpy.management.AddGeometryAttributes(Input_Features, Geometry_Properties, {Length_Unit}, {Area_Unit}, {Coordinate_System})
ParámetroExplicaciónTipo de datos
Input_Features

Se agregan nuevos campos de atributos a las entidades de entrada para almacenar propiedades como la longitud, el área o las coordenadas x, y, z y m.

Feature Layer
Geometry_Properties
[Geometry_Properties,...]

Determina las propiedades de la geometría o la forma que se calcularán en los nuevos campos de atributos.

  • AREAAgrega un atributo para almacenar el área de cada entidad de polígono.
  • AREA_GEODESICAgrega un atributo para almacenar el área geodésica de cada entidad de polígono.
  • CENTROIDAgrega un atributo para almacenar las coordenadas del centroide de cada entidad.
  • CENTROID_INSIDEAgrega un atributo para almacenar las coordenadas de un punto situado en el centro del interior o encima de cada entidad.
  • EXTENTAgrega atributos para almacenar las coordenadas de extensión de cada entidad.
  • LENGTHAgrega un atributo para almacenar la longitud de cada entidad de línea.
  • LENGTH_GEODESICAgrega un atributo para almacenar la longitud geodésica de cada entidad de línea.
  • LENGTH_3DAgrega un atributo para almacenar la longitud 3D de cada entidad de línea.
  • LINE_BEARINGAgrega un atributo para almacenar el rumbo de principio a fin de cada entidad de línea. Los valores están entre 0 y 360, donde 0 apunta hacia el norte, 90 hacia el este, 180 hacia el sur, 270 hacia el oeste, etc.
  • LINE_START_MID_ENDAgrega un atributo para almacenar las coordenadas de los puntos situados al principio, en el centro y al final de cada entidad.
  • PART_COUNTAgrega un atributo para almacenar el número de piezas que conforman cada entidad.
  • PERIMETER_LENGTHAgrega un atributo para almacenar la longitud del perímetro o borde de cada entidad de polígono.
  • PERIMETER_LENGTH_GEODESICAgrega un atributo para almacenar la longitud geodésica del perímetro o borde de cada entidad de polígono.
  • POINT_COUNTAgrega un atributo para almacenar el número de puntos o vértices que conforman cada entidad.
  • POINT_X_Y_Z_MAgrega atributos para almacenar las coordenadas x, y, z y m de cada entidad de punto.
String
Length_Unit
(Opcional)

La unidad para calcular la longitud.

  • FEET_USLongitud en pies (Estados Unidos)
  • METERSLongitud en metros
  • KILOMETERSLongitud en kilómetros
  • MILES_USLongitud en millas (Estados Unidos)
  • NAUTICAL_MILESLongitud en millas náuticas (Estados Unidos)
  • YARDSLongitud en yardas (Estados Unidos)
String
Area_Unit
(Opcional)

La unidad para calcular el área.

  • ACRESÁrea en acres
  • HECTARESÁrea en hectáreas
  • SQUARE_MILES_USÁrea en millas cuadradas (Estados Unidos)
  • SQUARE_KILOMETERSÁrea en kilómetros cuadrados
  • SQUARE_METERSÁrea en metros cuadrados
  • SQUARE_FEET_USÁrea en pies cuadrados (Estados Unidos)
  • SQUARE_YARDSÁrea en yardas cuadradas (Estados Unidos)
  • SQUARE_NAUTICAL_MILESÁrea en millas náuticas cuadradas (Estados Unidos)
String
Coordinate_System
(Opcional)

Sistema de coordenadas en el cual se calcularán las coordenadas, la longitud y el área. De forma predeterminada se utiliza el sistema de coordenadas de las entidades de entrada.

Coordinate System

Salida derivada

NombreExplicaciónTipo de datos
Modified_Input_Features

Las entidades de entrada actualizadas.

Capa de entidades

Muestra de código

Ejemplo de AddGeometryAttributes (ventana de Python)

El siguiente script de la ventana de Python muestra cómo utilizar la herramienta AddGeometryAttributes.

import arcpy
arcpy.env.workspace = r"C:\data\City.gdb"
arcpy.AddGeometryAttributes_management("roads", "LENGTH;LINE_START_MID_END")
Ejemplo de AddGeometryAttributes (script independiente)

Obtenga el rectángulo de extensión de cada entidad de línea y construya una cuadrícula de 10 x 10 dentro de dicha extensión.

# Name: GridCreation.py
# import system modules
import arcpy
# Set environment settings
arcpy.env.workspace = r"C:\data\City.gdb"
arcpy.env.outputCoordinateSystem = arcpy.Describe("roads").spatialReference
# Set local variables
in_features = "roads"
properties = "EXTENT"
length_unit = ""
area_unit = ""
coordinate_system = ""
# Generate the extent coordinates using Add Geometry Properties tool
arcpy.AddGeometryAttributes_management(in_features, properties, length_unit,
                                                              area_unit,
                                                              coordinate_system)
# Use Search Cursor to walk through each feature and generate grids
with arcpy.da.SearchCursor(in_features, ["OID@", "EXT_MIN_X", "EXT_MIN_Y",
                                           "EXT_MAX_X", "EXT_MAX_Y"]) as sCur:
    for row in sCur:
        minX, minY, maxX, maxY = row[1], row[2], row[3], row[4]
        arcpy.CreateFishnet_management("fishnet_{0}".format(row[0]),
                    number_rows = 10,
                    number_columns = 10,
                    template = "{0} {1} {2} {3}".format(minX, maxX, minY, maxY),
                    origin_coord = "{0} {1}".format(minX, minY),
                    y_axis_coord = "{0} {1}".format(minX, maxY),
                    corner_coord = "{0} {1}".format(maxX, maxY),
                    geometry_type = "POLYGON",
                    labels = "NO_LABELS")

Información de licenciamiento

  • Basic: Sí
  • Standard: Sí
  • Advanced: Sí

Temas relacionados