Etiqueta | Explicación | Tipo de datos |
Entidades de entrada | Las entidades que se agregan. | Feature Layer |
Clase de entidad de salida | La clase de entidad que se crea y que contiene las entidades agregadas. | Feature Class |
Campos a disolver (Opcional) | El campo o los campos en los que se agregarán las entidades. | Field |
Campos de estadísticas (Opcional) | Especifica el campo o los campos numéricos que contienen los valores de atributo que se utilizarán para calcular la estadística especificada. Se pueden especificar varias estadísticas y combinaciones de campos. Los valores nulos se excluyen de todos los cálculos. Los campos de atributo de texto se pueden resumir con las estadísticas FIRST y LAST. Los campos de atributo numérico se pueden resumir con cualquier estadística. Los tipos de estadísticas disponibles son los siguientes:
| Value Table |
Crear entidades multiparte (Opcional) | Especifica si se admitirán las entidades multiparte en la clase de entidad de salida.
| Boolean |
Juntar líneas (Opcional) | Especifica cómo se disuelven las entidades de línea.
| Boolean |
Separador de concatenación (Opcional) | Un carácter o caracteres que se utilizarán para concatenar valores cuando se utilice la opción Concatenación para el parámetro Campos de estadísticas. | String |
Resumen
Agrega entidades basadas en atributos especificados.
Hay disponible una herramienta alternativa para las operaciones de disolución. Consulte la documentación de la herramienta Disolver por pares para obtener más información.
Ilustración
Uso
Los atributos de las entidades que se agregan con esta herramienta se pueden resumir o describir con una variedad de estadísticas. La estadística que se utiliza para resumir atributos se agrega a la clase de entidad de salida como un campo simple con el estándar de nombre de tipo de estadística + guion bajo + nombre del campo de entrada. Por ejemplo, si la estadística SUM se utiliza en un campo llamado POP, la salida incluirá un campo llamado SUM_POP.
Disolver puede crear entidades muy grandes en la clase de entidad de salida, especialmente cuando hay una cantidad pequeña de valores únicos en el parámetro Campos a disolver o cuando se disuelven todas las entidades en una sola entidad. Las entidades muy grandes pueden causar problemas de visualización o procesamiento o presentar un rendimiento deficiente cuando se dibujan en un mapa o se editan. También pueden surgir problemas si la salida de la disolución creó una entidad con el tamaño máximo de un equipo y esta salida se movió a un equipo con menos memoria disponible. Para evitar estos posibles problemas, utilice el parámetro Crear entidades multiparte para crear entidades de una sola parte a fin de dividir potencialmente entidades multiparte más grandes en muchas entidades más pequeñas. En el caso de las entidades extremadamente grandes creadas por la herramienta Disolver, se puede usar la herramienta Subdividir para dividir las entidades grandes y así solucionar problemas de procesamiento, visualización o rendimiento.
Los valores nulos se excluyen de todos los cálculos estadísticos. Por ejemplo, el promedio de 10, 5 y un valor nulo es 7,5 ((10 + 5)/2). El recuento devuelve el número de valores incluidos en el cálculo estadístico, que en este caso es 2.
Para mejorar el rendimiento y la escalabilidad, esta herramienta utiliza un proceso de ordenamiento en teselas para manejar datasets muy grandes. Para más información, consulte Procesamiento en teselas de datasets grandes.
La disponibilidad de memoria física puede limitar la cantidad (y complejidad) de entidades de entrada que se pueden procesar y disolver en una entidad de salida única. Esta limitación puede provocar un error, ya que el proceso de disolución puede requerir más memoria de la disponible. Para evitar esto, Disolver puede dividir y procesar las entidades de entrada con un algoritmo de ordenamiento en teselas adaptable. Para determinar las entidades que se han ordenado en teselas, ejecute la herramienta Frecuencia en el resultado de esta herramienta y especifique los mismos campos que se utilizaron en el proceso de disolución para el parámetro Campos de frecuencia. Se ordenaron en tesela los registros con un valor de frecuencia de 2. Los límites de la tesela se preservan en las entidades de salida para evitar la creación de entidades que sean demasiado grandes para que las utilice ArcGIS.
Precaución:
Ejecutar Disolver en la salida de un proceso de disolución anterior reducirá en muy pocos casos el número de entidades en la salida cuando el procesamiento original haya dividido y procesado las entradas con un ordenamiento en teselas adaptable. El tamaño máximo de cualquier entidad de salida se determina por la cantidad de memoria disponible en el tiempo de ejecución; la salida que contiene teselas es un indicador de que disolver aún más con los recursos disponibles ocasionará una situación de memoria insuficiente o resultará en una entidad inutilizable. Además, ejecutar la herramienta Disolver una segunda vez en una salida creada de esta manera puede ocasionar un rendimiento lento y una ganancia escasa o nula, y puede ocasionar un fallo inesperado.
El parámetro Juntar líneas solo se puede usar con la entrada de línea. Cuando se especifica el valor predeterminado, las líneas se disuelven en una sola entidad; de lo contrario, solo se fusionan dos líneas con un extremo común (conocido como pseudonodo) en una sola línea continua.
Si el tipo de geometría del valor del parámetro Entidades de entrada es punto o multipunto y se ha activado el parámetro Crear entidades multiparte, la salida será una clase de entidad multipunto. Por el contrario, si el parámetro Crear entidades multiparte está desactivado, la salida será una clase de entidad de punto.
Parámetros
arcpy.management.Dissolve(in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {multi_part}, {unsplit_lines}, {concatenation_separator})
Nombre | Explicación | Tipo de datos |
in_features | Las entidades que se agregan. | Feature Layer |
out_feature_class | La clase de entidad que se crea y que contiene las entidades agregadas. | Feature Class |
dissolve_field [dissolve_field,...] (Opcional) | El campo o los campos en los que se agregarán las entidades. | Field |
statistics_fields [[field, {statistic_type}],...] (Opcional) | Especifica el campo o los campos numéricos que contienen los valores de atributo que se utilizarán para calcular la estadística especificada. Se pueden especificar varias estadísticas y combinaciones de campos. Los valores nulos se excluyen de todos los cálculos. Los campos de atributo de texto se pueden resumir con las estadísticas FIRST y LAST. Los campos de atributo numérico se pueden resumir con cualquier estadística. Los tipos de estadísticas disponibles son los siguientes:
| Value Table |
multi_part (Opcional) | Especifica si se admitirán las entidades multiparte en la clase de entidad de salida.
| Boolean |
unsplit_lines (Opcional) | Especifica cómo se disuelven las entidades de línea.
| Boolean |
concatenation_separator (Opcional) | Un carácter o caracteres que se utilizarán para concatenar valores cuando se utilice la opción CONCATENATION para el parámetro statistics_fields. | String |
Muestra de código
El siguiente script de la ventana de Python demuestra cómo utilizar la función Dissolve de modo inmediato.
import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.management.Dissolve("taxlots", "C:/output/output.gdb/taxlots_dissolved",
["LANDUSE", "TAXCODE"], "", "SINGLE_PART",
"DISSOLVE_LINES")
El siguiente script independiente muestra cómo utilizar la función Dissolve.
# Name: Dissolve_Example2.py
# Description: Dissolve features based on common attributes
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
# Set local variables
inFeatures = "taxlots"
tempLayer = "taxlotsLyr"
expression = arcpy.AddFieldDelimiters(inFeatures, "LANDUSE") + " <> ''"
outFeatureClass = "C:/output/output.gdb/taxlots_dissolved"
dissolveFields = ["LANDUSE", "TAXCODE"]
# Run MakeFeatureLayer and SelectLayerByAttribute. This is only to exclude
# features that are not desired in the output.
arcpy.management.MakeFeatureLayer(inFeatures, tempLayer)
arcpy.management.SelectLayerByAttribute(tempLayer, "NEW_SELECTION", expression)
# Run Dissolve using LANDUSE and TAXCODE as Dissolve Fields
arcpy.management.Dissolve(tempLayer, outFeatureClass, dissolveFields, "",
"SINGLE_PART", "DISSOLVE_LINES")