Agregar polígonos (Cartografía)
Resumen
Combina los polígonos dentro de una determinada distancia entre sí para formar nuevos polígonos.
Ilustración
Uso
-
Esta herramienta está diseñada para reducir y agregar escalas de manera moderada cuando, debido a un espacio de mapa limitado o a la resolución de datos requerida, las entidades de entrada no se pueden seguir representando individualmente. La agregación solamente tendrá lugar cuando dos límites de polígono se encuentren dentro de la distancia de agregación especificada uno del otro. No se producirá una autoagregación (es decir, una agregación dentro de una entidad poligonal de entrada en su propio límite) ni una agregación entre algunas de las partes de una entidad poligonal multiparte.
Con la opción ortogonal se construirán entidades de salida con forma ortogonal. Esta opción es más apropiada para utilizar con entidades de entrada que predominantemente tienen bordes ortogonales. En algunos casos, se producirá menos agregación para adaptar esto. Por ejemplo, es posible que dos edificios cuadrados situados por separado en forma diagonal dentro de la distancia de agregación no se agreguen porque no hay una clara conexión que se pueda realizar mientras se preserva la ortogonalidad. La opción no ortogonal producirá más resultados formados orgánicamente.
-
La clase de entidad de salida no incluirá atributos geográficos pertenecientes a las entidades de entrada. Se creará una tabla de relación de uno a muchos con el nombre output_feature_class_Tbl que vincula los polígonos agregados a sus respectivos polígonos de origen. Esta tabla incluirá dos campos, OUTPUT_FID e INPUT_FID, que almacenan los ID de las entidades agregadas y los ID de sus entidades de origen, respectivamente. Si se modifica alguna de las entidades de entrada o de salida, es posible que el vínculo se torne incorrecto. Con este vínculo, puede derivar los atributos necesarios para las entidades de salida a partir de sus respectivas entidades de origen por medio de las herramientas de geoprocesamiento adecuadas.
-
Si las entidades de entrada contienen valores z, estos valores se pueden preservar si se los especifica en la configuración del entorno. Si no se cambian los vértices de salida, los valores z de entrada se transferirán a los vértices de salida; de lo contrario, se derivará un valor z para los vértices nuevos a partir de valores z existentes o por medio de la interpolación.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_features |
Entidades poligonales que se agregan. | Feature Layer |
out_feature_class |
La clase de entidad de salida que se creará. | Feature Class |
aggregation_distance |
La distancia que se deberá aplicar entre los límites del polígono para que ocurra la agregación. Se debe especificar una distancia, la cual debe ser mayor que cero. Puede elegir la unidad que prefiera; el valor predeterminado es la unidad de la entidad. | Linear unit |
minimum_area (Opcional) |
Área mínima para un polígono agregado que se retendrá. El valor predeterminado es cero, es decir, se mantienen todos los polígonos. Puede especificar la unidad que prefiera; el valor predeterminado es la unidad de la entidad. | Areal unit |
minimum_hole_size (Opcional) |
Tamaño mínimo de un agujero en un polígono que se retendrá. El valor predeterminado es cero, es decir, se mantienen todos los agujeros en polígonos. Puede especificar la unidad que prefiera; el valor predeterminado es la unidad de la entidad. | Areal Unit |
orthogonality_option (Opcional) |
Especifica la característica de las entidades de salida al construir los límites agregados.
| Boolean |
Ejemplo de código
La siguiente secuencia de comandos de la ventana de Python muestra cómo utilizar la herramienta AggregatePolygons en el modo inmediato.
import arcpy from arcpy import env import arcpy.cartography as CA env.workspace = "C:/data" CA.AggregatePolygons("buildings.shp", "C:/output/output.gdb/aggregated_buildings", 10)
La siguiente secuencia de comandos independiente muestra cómo utilizar la función AggregatePolygons.
# Name: AggregatePolygons_Example2.py # Description: Aggregate grass features and then transfer attributes # Import system modules import arcpy from arcpy import env import arcpy.cartography as CA import arcpy.management as DM import arcpy.analysis as AN # Set environment settings env.workspace = "C:/data/Portland.gdb/Vegetation" # Set local variables inGrassFeatures = "grass" aggregatedFeatures = "C:/data/PortlandOutput.gdb/grassland" aggregatedTable = "C:/data/PortlandOutput.gdb/grassland_Tbl" frequencyTable = "C:/data/PortlandOutput.gdb/frequency_Tbl" # Aggregate grass polygons. CA.AggregatePolygons(inGrassFeatures, aggregatedFeatures, 50, 300, 300, "NON_ORTHOGONAL") # Join the aggregatedTable with input and # transfer the COUNT field to aggregatedTable. DM.JoinField(aggregatedTable, "INPUT_FID", inGrassFeatures, "OBJECTID", "COUNT") # Use Frequency on aggregatedTable and # obtain sum for COUNT. AN.Frequency(aggregatedTable, frequencyTable, "OUTPUT_FID", "COUNT") # Join the aggregatedFeatures with frequencyTable # and transfer the COUNT field to aggregatedFeatures. DM.JoinField(aggregatedFeatures, "OBJECTID", frequencyTable, "OUTPUT_FID", "COUNT")