Disolver (Administración de datos)

Resumen

Agrega entidades basadas en atributos especificados.

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

Ilustración

Ilustración de Disolver
Ilustración de Disolver

Uso

  • Los atributos de las entidades que se agregan al disolver 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 SUMA se utiliza en un campo llamado POP, la salida tendrá un campo llamado SUM_POP.

  • Disolver puede crear entidades muy grandes en la clase de entidad de salida. Sucede especialmente si hay un número reducido de valores únicos en el parámetro Campos a disolver o al disolver todas las entidades en una única 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 disolución ha creado una entidad de tamaño máximo en una máquina y esta salida se ha trasladado a una máquina con menos memoria disponible. Para evitar estos posibles problemas, utilice el parámetro Crear entidades multiparte para dividir entidades multiparte potencialmente más grandes en varias 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 hacer que se produzca un error, ya que el proceso de disolución puede requerir más memoria de la que está 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 ordenaron 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 una ejecución 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 tiempo de ejecución; por lo tanto, la salida que contiene teselas es un indicador de que disolver cualquiera posteriormente con los recursos disponibles ocasionaría una situación de memoria insuficiente o resultaría en una entidad inutilizable. Además, ejecutar la herramienta Disolver una segunda vez en una salida creada de esta manera puede ocasionar un rendimiento muy bajo 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 Entidades de entrada es de un punto o multipunto y se ha activado Crear entidades multiparte (MULTI_PART en Python), la salida será una clase de entidad multipunto. Por el contrario, si no se ha activado Crear entidades multiparte (SINGLE_PART en Python), la salida será una clase de entidad de punto.

Sintaxis

Dissolve(in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {multi_part}, {unsplit_lines})
ParámetroExplicació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 agregan las entidades.

Field
statistics_fields
[[field, {statistic_type}],...]
(Opcional)

Especifica el campo numérico con los valores de atributos que se utilizaron 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 estadísticos.

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: agrega el valor total para el campo especificado.
  • MEAN: calcula el promedio para el campo especificado.
  • MIN: busca el valor más pequeño para todos los registros del campo especificado.
  • MAX: busca el valor más grande para todos los registros del campo especificado.
  • RANGE: busca el rango de valores (Máximo menos Mínimo) para el campo especificado.
  • STD: busca la desviación estándar de los valores en el campo especificado.
  • COUNT: busca la cantidad de valores incluidos en los cálculos estadísticos. Esto cuenta todos los valores 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: busca el primer registro de la entrada y utiliza el valor de campo especificado.
  • LAST: busca el último registro de la entrada y utiliza el valor de campo especificado.
  • MEDIAN: calcula la mediana de todos los registros del campo especificado.
  • VARIANCE: calcula la varianza de todos los registros del campo especificado.
  • UNIQUE: hace un recuento del número de valores únicos del campo especificado.
Value Table
multi_part
(Opcional)

Especifique si deben admitir entidades multiparte en la clase de entidad de salida.

  • MULTI_PARTEspecifica que se permitan entidades multiparte. Esta es la opción predeterminada.
  • SINGLE_PARTEspecifica que no se permitan entidades multiparte. En lugar de crear entidades multiparte, se crearán entidades individuales para cada parte.
Boolean
unsplit_lines
(Opcional)

Controla 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

Muestra de código

Ejemplo 1 de Disolver (ventana de Python)

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

import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.Dissolve_management("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 herramienta 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"]
 
# Execute MakeFeatureLayer and SelectLayerByAttribute.  This is only to exclude 
# features that are not desired in the output.
arcpy.MakeFeatureLayer_management(inFeatures, tempLayer)
arcpy.SelectLayerByAttribute_management(tempLayer, "NEW_SELECTION", expression)
 
# Execute Dissolve using LANDUSE and TAXCODE as Dissolve Fields
arcpy.Dissolve_management(tempLayer, outFeatureClass, dissolveFields, "", 
                          "SINGLE_PART", "DISSOLVE_LINES")

Información de licenciamiento

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

Temas relacionados