Disolver (Administración de datos)

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.

Más información sobre cómo funciona Disolver

Ilustración

Ilustración de la herramienta Disolver
Ilustración de la herramienta Disolver

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.

  • Esta herramienta utilizará un proceso de ordenamiento en tesela para controlar datasets muy grandes para mejorar el rendimiento y la escalabilidad. Para obtener más detalles, consulte Geoprocesamiento con 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

EtiquetaExplicaciónTipo 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:

  • Suma: se sumarán los valores del campo especificado.
  • Valor medio: se calculará el valor medio del campo especificado.
  • Mínimo: se encontrará el valor más pequeño de todos los registros del campo especificado.
  • Máximo: se encontrará el valor más grande de todos los registros del campo especificado.
  • Rango: se calculará el rango de valores (máximo menos mínimo) para el campo especificado.
  • Desviación estándar: se calculará la desviación estándar de los valores del campo especificado.
  • Recuento: se encontrará la cantidad de valores incluidos en los cálculos. Cada valor se contará excepto los valores nulos. Para determinar el número de valores nulos de un campo, cree un recuento del campo en cuestión, cree un recuento de otro campo que no contenga valores nulos (por ejemplo, OID si está presente) y reste los dos valores.
  • Primero: se utilizará el valor de campo especificado del primer registro de la entrada.
  • Último: se utilizará el valor de campo especificado del último registro de la entrada.
  • Mediana: se calculará la mediana de todos los registros del campo especificado.
  • Varianza: se calculará la varianza de todos los registros del campo especificado.
  • Único: se contará el número de valores únicos del campo especificado.
  • Concatenar: se concatenarán los valores del campo especificado. Los valores se pueden separar con el parámetro Separador de concatenación.
Value Table
Crear entidades multiparte
(Opcional)

Especifica si se admitirán las entidades multiparte en la clase de entidad de salida.

  • Activado: se admiten entidades multiparte en la clase de entidad de salida. Esta es la opción predeterminada.
  • Desactivado: no se admiten entidades multiparte en la clase de entidad de salida. Se crearán entidades individuales para cada parte.
Boolean
Juntar líneas
(Opcional)

Especifica cómo se disuelven las entidades de línea.

  • Desactivado: las líneas se disuelven en una única entidad. Esta es la opción predeterminada.
  • Activado: las líneas solo se disuelven cuando dos líneas tienen un vértice final en común.
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

arcpy.management.Dissolve(in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {multi_part}, {unsplit_lines}, {concatenation_separator})
NombreExplicaciónTipo 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:

  • SUM: se sumarán los valores del campo especificado.
  • MEAN: se calculará el valor medio del campo especificado.
  • MIN: se encontrará el valor más pequeño de todos los registros del campo especificado.
  • MAX: se encontrará el valor más grande de todos los registros del campo especificado.
  • RANGE: se calculará el rango de valores (máximo menos mínimo) para el campo especificado.
  • STD: se calculará la desviación estándar de los valores del campo especificado.
  • COUNT: se encontrará la cantidad de valores incluidos en los cálculos. Cada valor se contará excepto los valores nulos. Para determinar el número de valores nulos de un campo, cree un recuento del campo en cuestión, cree un recuento de otro campo que no contenga valores nulos (por ejemplo, OID si está presente) y reste los dos valores.
  • FIRST: se utilizará el valor de campo especificado del primer registro de la entrada.
  • LAST: se utilizará el valor de campo especificado del último registro de la entrada.
  • MEDIAN: se calculará la mediana de todos los registros del campo especificado.
  • VARIANCE: se calculará la varianza de todos los registros del campo especificado.
  • UNIQUE: se contará el número de valores únicos del campo especificado.
  • CONCATENATE: se concatenarán los valores del campo especificado. Los valores se pueden separar con el parámetro concatenation_separator.
Value Table
multi_part
(Opcional)

Especifica si se admitirán las entidades multiparte en la clase de entidad de salida.

  • MULTI_PARTSe admiten las entidades multiparte en la clase de entidad de salida. Esta es la opción predeterminada.
  • SINGLE_PARTNo se admiten las entidades multiparte en la clase de entidad de salida. Se crearán entidades individuales para cada parte.
Boolean
unsplit_lines
(Opcional)

Especifica cómo se disuelven las entidades de línea.

  • DISSOLVE_LINESLas líneas se disuelven en una única entidad. Esta es la opción predeterminada.
  • UNSPLIT_LINESLas líneas solo se disuelven cuando dos líneas tienen un vértice final en común.
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

Ejemplo 1 de Disolver (ventana de Python)

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")
Ejemplo 2 de Disolver (script independiente)

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")