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
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ía Campo agregado AREA
POLY_AREA: el área del polígono.
AREA_GEODESIC
AREA_GEO: el área geodésica que conserva la forma 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 que conserva la forma 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 y 270 hacia el oeste.
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 que conserva su forma 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 similares a 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ámetro | Explicación | Tipo de datos |
Input_Features | Las entidades de entrada a las que se agregarán campos de atributos nuevos para almacenar propiedades como la longitud, el área o las coordenadas x, y, z y m. | Feature Layer |
Geometry_Properties [Geometry_Properties,...] | Especifica las propiedades de geometría o forma que se calcularán para crear los nuevos campos de atributos.
| String |
Length_Unit (Opcional) | Especifica la unidad en la que se calculará la longitud.
| String |
Area_Unit (Opcional) | Especifica la unidad en la que se calculará el área.
| 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
Nombre | Explicación | Tipo de datos |
Modified_Input_Features | Las entidades de entrada actualizadas. | Feature Layer |
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)
Obtener el rectángulo de extensión de cada entidad de línea y construir 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 = "{} {} {} {}".format(minX, maxX, minY, maxY),
origin_coord = "{} {}".format(minX, minY),
y_axis_coord = "{} {}".format(minX, maxY),
corner_coord = "{} {}".format(maxX, maxY),
geometry_type = "POLYGON",
labels = "NO_LABELS")
Entornos
Información de licenciamiento
- Basic: Sí
- Standard: Sí
- Advanced: Sí