Pairwise Dissolve (Analysis)

Summary

Aggregates features based on specified attributes using a parallel processing approach.

An alternate tool is available for dissolve operations. See the Dissolve tool documentation for details.

Illustration

Pairwise Dissolve tool illustration

Usage

  • The attributes of the features that become aggregated by the dissolve process can be summarized or described using a variety of statistics. The statistic used to summarize attributes is added to the output feature class as a single field with an underscore and the input field name as the naming standard of the statistic type. For example, if the SUM statistic is used on a field named POP, the output will include a field named SUM_POP.

  • Very large features can be created in the output feature class. This is important when there is a small number of unique values for the Dissolve Fields parameter value or when dissolving all features into a single feature. Very large features may cause processing or display problems or may have poor performance when drawn on a map or when edited. Problems may also occur if the dissolve output created a feature at the maximum size on one machine, and this output is moved to a machine with less available memory. To avoid these potential problems, uncheck the Create multipart features parameter to divide potentially larger multipart features into many smaller features. For extremely large features, you can use the Dice tool to divide the large features to solve processing, display, or performance problems.

  • Null values are excluded from all statistical calculations. For example, the AVERAGE of 10, 5, and NULL is 7.5 ((10+5)/2). The COUNT statistic returns the number of values included in the statistical calculation, which in this case is 2.

  • If the Input Features parameter value's geometry type is either point or multipoint and the Create multipart features parameter is checked, the output will be a multipoint feature class. Otherwise, if the Create multipart features parameter is unchecked, the output will be a point feature class.

  • By default, curve features from the input will be densified in the output. To support curves in the output, use the Maintain Curve Segments environment.

  • The Pairwise Dissolve tool honors the Parallel Processing Factor environment. If the environment is not set (the default) or is set to 100, full parallel processing will be enabled and the tool will attempt to distribute the work to all the logical cores on the machine. Setting the environment to 0 will disable parallel processing. Specifying a factor between 1 and 99 will cause the tool to determine the percentage of logical cores to use by applying the formula (Parallel Processing Factor / 100 * Logical Cores) rounded up to the nearest integer. If the result of this formula is 0 or 1, parallel processing will not be enabled.

Parameters

LabelExplanationData Type
Input Features

The features to be aggregated.

Feature Layer
Output Feature Class

The feature class to be created that will contain the aggregated features.

Feature Class
Dissolve Fields
(Optional)

The field or fields on which features will be aggregated.

Field
Statistics Fields
(Optional)

Specifies the field or fields containing the attribute values that will be used to calculate the specified statistic. Multiple statistic and field combinations can be specified. Null values are excluded from all calculations.

By default, the tool will not calculate any statistics.

Text attribute fields can be summarized using first and last statistics. Numeric attribute fields can be summarized using any statistic.

Available statistics types are as follows:

  • Sum—The values for the specified field will be added together.
  • Mean—The average for the specified field will be calculated.
  • Minimum—The smallest value for all records of the specified field will be identified.
  • Maximum—The largest value for all records of the specified field will be identified.
  • Range—The range of values (maximum minus minimum) for the specified field will be calculated.
  • Standard deviation—The standard deviation of values for the specified field will be calculated.
  • Count—The number of values included in the calculations will be identified. Each value will be counted except null values. To determine the number of null values in a field, create a count on the field in question, create a count on a different field that does not contain null values (for example, the OID if present), and subtract the two values.
  • First—The specified field value of the first record in the input will be used.
  • Last—The specified field value of the last record in the input will be used.
  • Median—The median for all records of the specified field will be calculated.
  • Variance—The variance for all records of the specified field will be calculated.
  • Unique—The number of unique values of the specified field will be counted.
  • Concatenate—The values for the specified field will be concatenated. The values can be separated using the Concatenation Separator parameter.
Value Table
Create multipart features
(Optional)

Specifies whether multipart features will be included in the output.

  • Checked—Multipart features will be included in the output. This is the default.
  • Unchecked—Multipart features will not be included in the output. Individual features will be created for each part.
Boolean
Concatenation Separator
(Optional)

A character or characters that will be used to concatenate values when the Concatenation option is used for the Statistics Fields parameter. By default, the tool will concatenate values without a separator.

String

arcpy.analysis.PairwiseDissolve(in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {multi_part}, {concatenation_separator})
NameExplanationData Type
in_features

The features to be aggregated.

Feature Layer
out_feature_class

The feature class to be created that will contain the aggregated features.

Feature Class
dissolve_field
[dissolve_field,...]
(Optional)

The field or fields on which features will be aggregated.

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

Specifies the field or fields containing the attribute values that will be used to calculate the specified statistic. Multiple statistic and field combinations can be specified. Null values are excluded from all calculations.

By default, the tool will not calculate any statistics.

Text attribute fields can be summarized using first and last statistics. Numeric attribute fields can be summarized using any statistic.

Available statistics types are as follows:

  • SUM—The values for the specified field will be added together.
  • MEAN—The average for the specified field will be calculated.
  • MIN—The smallest value for all records of the specified field will be identified.
  • MAX—The largest value for all records of the specified field will be identified.
  • RANGE—The range of values (maximum minus minimum) for the specified field will be calculated.
  • STD—The standard deviation of values for the specified field will be calculated.
  • COUNT—The number of values included in the calculations will be identified. Each value will be counted except null values. To determine the number of null values in a field, create a count on the field in question, create a count on a different field that does not contain null values (for example, the OID if present), and subtract the two values.
  • FIRST—The specified field value of the first record in the input will be used.
  • LAST—The specified field value of the last record in the input will be used.
  • MEDIAN—The median for all records of the specified field will be calculated.
  • VARIANCE—The variance for all records of the specified field will be calculated.
  • UNIQUE—The number of unique values of the specified field will be counted.
  • CONCATENATE—The values for the specified field will be concatenated. The values can be separated using the concatenation_separator parameter.
Value Table
multi_part
(Optional)

Specifies whether multipart features will be included in the output.

  • MULTI_PARTMultipart features will be included in the output. This is the default.
  • SINGLE_PARTMultipart features will not be included in the output. Individual features will be created for each part.
Boolean
concatenation_separator
(Optional)

A character or characters that will be used to concatenate values when the CONCATENATION option is used for the statistics_fields parameter. By default, the tool will concatenate values without a separator.

String

Code sample

PairwiseDissolve example 1 (Python window)

The following Python window script demonstrates how to use the PairwiseDissolve function in immediate mode.

import arcpy
arcpy.env.workspace = "C:/data/Portland.gdb/Taxlots"
arcpy.analysis.PairwiseDissolve("taxlots", "C:/output/output.gdb/taxlots_dissolved",
                                ["LANDUSE", "TAXCODE"], "", "SINGLE_PART")
PairwiseDissolve example 2 (stand-alone script)

The following stand-alone script demonstrates how to use the PairwiseDissolve function.

# Name: PairwiseDissolve_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.analysis.SelectLayerByAttribute(tempLayer, "NEW_SELECTION", expression)
 
# Run Dissolve using LANDUSE and TAXCODE as Dissolve Fields
arcpy.analysis.PairwiseDissolve(tempLayer, outFeatureClass, dissolveFields, "", 
                                "SINGLE_PART")

Licensing information

  • Basic: Yes
  • Standard: Yes
  • Advanced: Yes

Related topics