Agregar polígonos (Cartografía)

Resumen

Combina los polígonos dentro de una determinada distancia entre sí para formar nuevos polígonos.

Ilustración

Ilustración de Agregar polígonos

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 ocurrirá 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.

  • Cuando se define el parámetro Agregar campo, el campo de atributos y sus valores se copian en la clase de entidad de salida. El campo agregado debe ser de tipo de datos text, date o integer. Si el campo tiene dominios y subtipos, se copian en la clase de entidad de salida cuando se activa Transferir propiedades de campos de geodatabase (configuración del entorno).

  • 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 especifican 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 la posibilidad de procesar los datos de entrada por partición identificando 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 será coherente 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 IS_SPLIT en la clase de entidad de salida tendrá un valor de 1 en esta instancia.

Sintaxis

arcpy.cartography.AggregatePolygons(in_features, out_feature_class, aggregation_distance, {minimum_area}, {minimum_hole_size}, {orthogonality_option}, {barrier_features}, {out_table}, {aggregate_field})
ParámetroExplicaciónTipo 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

Distancia que deberá existir entre los límites del polígono para que se produzca 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.

  • NON_ORTHOGONALSe crearán entidades de salida formadas orgánicamente. Esto es adecuado para las entidades naturales, como polígonos de vegetación o de tierra. Esta es la opción predeterminada.
  • ORTHOGONALSe crearán entidades de salida con forma ortogonal. Es adecuada para preservar la característica geométrica de las entidades de entrada antropogénicas, como huellas de edificios.
Boolean
barrier_features
[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 y 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
aggregate_field
(Opcional)

Campo que contiene atributos de agregación. Las entidades deben compartir el mismo valor de atributo para que se tengan en cuenta en la agregación. Por ejemplo, utilice un campo de clasificación de edificios como campo agregado para evitar que los edificios comerciales se agreguen con edificios residenciales.

Field

Muestra de código

Ejemplo 1 de la herramienta AggregatePolygons (ventana de Python)

El script de la ventana de Python muestra cómo utilizar la herramienta AggregatePolygons en el modo inmediato.

En este ejemplo se utiliza un campo de clasificación para agregar entidades con los mismos valores de clasificación. La configuración del entorno sirve para transferir a la clase de entidad de salida las propiedades de campo de la geodatabase, como el dominio y los subtipos del campo agregado.

import arcpy
arcpy.env.cartographicPartitions = "C:/data/county.gdb/zipcodepoly"
arcpy.env.transferGDBAttributeProperties = True
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"
aggregate_field = "Classification"
arcpy.AggregatePolygons_cartography(buildings, output, "20 Meters", 
                                    "50 SquareMeters", "0 SquareMeters", 
                                    "ORTHOGONAL", roads, output_table, 
                                    aggregate_field)
Ejemplo 2 de la herramienta AggregatePolygons (script independiente)

El siguiente script 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
import arcpy.cartography as CA
import arcpy.management as DM
import arcpy.analysis as AN
  
# Set environment settings
arcpy.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")

Información de licenciamiento

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

Temas relacionados