Agregar atributos de geometría (Gestió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
Esta herramienta es una forma sencilla y eficaz de automatizar la tarea que también se puede realizar mediante el cuadro de diálogo Calcular geometría o la herramienta de geoprocesamiento Calcular campo.
-
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
Campos agregados
ÁREA
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: Coordenada x de un punto central dentro de la entidad de entrada o sobre ella.
INSIDE_Y: Coordenada y de un punto central dentro de la entidad de entrada o sobre ella.
INSIDE_Z: 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: 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: Coordenada x mínima de la entidad.
EXT_MIN_Y: Coordenada y mínima de la entidad.
EXT_MAX_X: Coordenada x máxima de la entidad.
EXT_MAX_Y: Coordenada y máxima de la entidad.
LENGTH
LENGTH: Longitud de la línea.
LENGTH_GEODESIC
LENGTH_GEO: Longitud geodésica de la línea.
LENGTH_3D
LENGTH_3D: Longitud 3D de la línea.
LINE_BEARING
BEARING: 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: Coordenada x del primer punto de la línea o el borde del polígono.
START_Y: Coordenada y del primer punto de la línea o el borde del polígono.
START_Z: 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: 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: Coordenada x del punto a medio camino de la longitud de la línea o el borde del polígono.
MID_Y: Coordenada y del punto a medio camino de la longitud de la línea o el borde del polígono.
MID_Z: 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: 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: Coordenada x del último punto de la línea o el borde del polígono.
END_Y: Coordenada y del último punto de la línea o el borde del polígono.
END_Z: 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: 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: Número de partes que conforman la entidad.
PERIMETER_LENGTH
PERIMETER: Longitud del perímetro o borde del polígono.
PERIMETER_LENGTH_GEODESIC
PERIM_GEO: Longitud geodésica del perímetro o borde del polígono.
POINT_COUNT
PNT_COUNT: 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 los campos se pueden sobrescribir, eliminar o renombrar. Los valores de esos campos no se calculan de nuevo automáticamente después de las modificaciones. 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.
Esta herramienta modifica los datos de entrada. Vea Herramientas sin salidas para ver más información y estrategias para evitar cambios de datos no deseados.
Sintaxis
Parámetro | Explicación | Tipo 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.
| String |
Length_Unit |
La unidad para calcular la longitud.
| String |
Area_Unit |
La unidad para calcular el área.
| String |
Coordinate_System |
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 |
Ejemplo de código
La siguiente secuencia de comandos 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")
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")