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.
Use entidades de barrera para evitar que ocurra la agregación a través de los límites. Los ejemplos incluyen evitar que la cobertura de suelo se agregue a través de ríos o que edificios se agreguen a través de las calles. Las barreras pueden ser líneas o polígonos y varias clases de entidad de barrera se pueden usar simultáneamente.
Si la clase de entidad de entrada es una capa que hace referencia a una representación, y hay excepciones de forma en cualquiera de las entidades de entrada, las excepciones de forma se evaluarán en la agregación no la geometría de la entidad.
-
La clase de entidad de salida no incluirá atributos geográficos pertenecientes a las entidades de entrada. Se puede crear de manera opcional una tabla de relación de uno a muchos para vincular los polígonos agregados a sus polígonos de origen. Si se modifica alguna de las entidades de entrada o de salida, es posible que este vínculo se torne incorrecto.
-
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.
El procesamiento de un dataset de entrada grande podría superar los límites de memoria. En este caso, considere el procesamiento de los datos de entrada por partición al identificar una clase de entidad poligonal relevante en la configuración de entorno Particiones cartográficas. Las partes de los datos definidos por los límites de partición se procesarán en secuencia. La clase de entidad de salida resultante consistente en los bordes de la partición, pero las entidades de salida que cruzan las particiones, se dividirán en la línea de partición. Un campo denominado IS_SPLIT en la clase de entidad de salida tendrá un valor de 1 en esta instancia.
Sintaxis
Parámetro | Explicación | Tipo de datos |
in_features |
Entidades poligonales que se agregan. Si esta es una capa que hace referencia a una representación y existen las excepciones de forma en las entidades de entrada, las excepciones de forma, no las formas de entidad, se considerarán en el proceso de agregación. | 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 una unidad preferida; la predeterminada es la unidad de 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 una unidad preferida; la predeterminada es la unidad de 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 una unidad preferida; la predeterminada es la unidad de entidad. | Areal unit |
orthogonality_option (Opcional) |
Especifica la característica de las entidades de salida al construir los límites agregados.
| Boolean |
barrier_features (Opcional) |
Las capas que contienen las entidades de línea o polígono que son barreras de agregación para las entidades de entrada. No se agregarán las entidades a través de las entidades de barrera. Las entidades de barrera que están en conflicto geométrico con las entidades de entrada se ignorarán. | Feature Layer |
out_table (Opcional) |
Una tabla de relación de uno a muchos para vincular los polígonos agregados a sus entidades de polígono de origen. Esta tabla contiene dos campos, OUTPUT_FID e INPUT_FID, que almacenan los ID de las entidades agregadas y los ID de sus entidades de origen, respectivamente. Use esta tabla para derivar los atributos necesarios para las entidades de salida a partir de sus entidades de origen. El nombre predeterminado para esta tabla es el nombre de la clase de entidad de salida, incorporada con _tbl. La ruta predeterminada es la misma que la clase de entidad de salida. Ninguna tabla se crea cuando este parámetro se deja en blanco. | Table |
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 arcpy.env.cartographicPartitions = "C:/data/county.gdb/zipcodepoly" buildings = "C:/data/county.gdb/bldgspoly" roads = "C:/data/county.gdb/roadnetwork" output = "C:/data/county.gdb/BldgAggBarrierPartition" output_table = "C:/data/county.gdb/BldgAggBarrierPartition_Tbl" arcpy.AggregatePolygons_cartography(buildings, output, "20 Meters", "5 SquareMeters", "0 SquareMeters", "ORTHOGONAL", roads, output_table)
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 # Author: ESRI # 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", "", aggregatedTable) # 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")