Краткая информация
Агрегирует пространственные объекты на основе заданных атрибутов.
Более подробно о том, как работает инструмент Слияние по атрибуту
Рисунок
Использование
Атрибуты пространственных объектов, которые были агрегированы путем слияния, могут быть суммированы или описаны с помощью различных статистик. Статистика, используемая для суммирования атрибутов, добавляется к выходному классу объектов как одно поле со следующем стандартом наименования типа статистики + подчеркивание + имя входного поля. Например, если статистика SUM используется на поле с именем POP, выходные данные будут содержать поле с именем SUM_POP.
Слияние по атрибуту может создавать очень большие объекты в выходном классе объектов. Это особенно справедливо, если есть небольшое количество уникальных значений в Полях слияния или при слиянии всех объектов в один. Очень большие объекты могут вызвать проблемы при обработке или отображении, и/или иметь низкую производительность при прорисовке на карте или при редактировании. Проблемы также могут появиться, если на одном компьютере создан выходной объект максимального размера, затем он переписывается на компьютер с меньшим объемом доступной памяти. Чтобы избежать этих возможных ошибок, используйте опцию SINGLE_PART параметра Создать составные объекты для разбиения возможно больших составных объектов на меньшие. Если с помощью инструмента Слияние по атрибуту созданы особенно большие объекты, можно использовать инструмент Нарезать и разбить большие объекты на меньшие, чтобы избежать проблем при обработке, отображении, а также снижения производительности.
Нулевые значения не включаются в вычисления статистики. Например, AVERAGE (среднее значение) – 10, 5, а NULL (пустое значение) – 7,5 ((10+5)/2). Инструмент COUNT возвращает количество значений, включенных в статистический расчет. В данном случае это 2.
Для обработки очень больших наборов данных при работе инструмента используется разбивка на листы, для повышения производительности и масштабируемости. Для получения более подробной информации см. Геообработка больших наборов данных.
Наличие физической памяти может ограничить число (и сложность) входных объектов, которые могут быть обработаны и объединены в один выходной объект. Ограничение может вызвать ошибку, так как процесс слияния может требовать больше памяти, чем доступно. Чтобы предотвратить это, инструмент Слияние по атрибуту может разделить и обработать входные объекты с помощью адаптивного алгоритма разбивки на листы. Чтобы определить пространственные объекты, которые были разбиты на листы, запустите инструмент Частота указав выходные данные этого инструмента, указав те же поля, которые использовались в процессе слияния для параметра Поля частоты. Любая запись с значением частоты 2 была разбита на листы. Границы листа сохраняются в выходных пространственных объектах для предотвращения создания объектов, слишком больших для использования в ArcGIS.
В параметре Поля слияния кнопка Добавить поле используется только в ModelBuilder. В ModelBuilder, где предыдущий инструмент не был запущен или его производные данные не существуют, параметр Поля слияния может не быть заполнен именами поля. Кнопка Добавить поле позволяет вам добавлять нужные поля, так что вы можете закрыть диалоговое окно инструмента и продолжить построение модели.
Параметр Отменить разбиение линий с двумя опциями: DISSOLVE_LINES и UNSPLIT_LINES, применяется только к линейным входным данным. Если установлена опция DISSOLVE_LINES, линии сливаются в один пространственный объект. Если установлено UNSPLIT_LINES, только две линии, имеющие общие конечные точки (известны как псевдоузел) объединяются в одну непрерывную линию.
Если тип геометрии Входных объектов – точки или мультиточки, и включена опция Создать составные объекты (в Python установлено значение параметра multi_part MULTI_PART), на выходе будет получен класс мультиточечных объектов. Если же опция Создать мультиточечные объекты не включена (в Python установлено значение SINGLE_PART параметра multi_part), на выходе будет получен класс точечных объектов.
Синтаксис
Dissolve_management (in_features, out_feature_class, {dissolve_field}, {statistics_fields}, {multi_part}, {unsplit_lines})
Параметр | Объяснение | Тип данных |
in_features | Пространственные объекты, которые будут объединены. | Feature Layer |
out_feature_class | Класс пространственных объектов, который будет содержать агрегированные объекты. | Feature Class |
dissolve_field [dissolve_field,...] (дополнительно) | Поле или поля, по которым будут объединены объекты. Кнопка Добавить поле, которая используется только в ModelBuilder, позволяет вам добавлять нужные поля, так что вы можете закрыть диалоговое окно и продолжить построение модели. | Field |
statistics_fields [[field, {statistic_type}],...] (дополнительно) | Поля и статистика, с которыми будут суммироваться атрибуты. Поля текстовых атрибутов могут быть суммированы с помощью статистики FIRST или LAST. Числовые поля атрибутов могут быть суммированы с помощью любой статистики. Пустые значения (Null) исключаются из всех статистических вычислений.
| Value Table |
multi_part (дополнительно) | Укажите, может ли выходной класс объектов содержать составные объекты.
| Boolean |
unsplit_lines (дополнительно) | Управляет поведением линейных объектов при слиянии.
| Boolean |
Пример кода
Dissolve пример 1 (окно Python)
На следующем скрипте окна Python демонстрируется, как использовать инструмент Слияние по атрибуту с запуском из окна Python в ArcGIS.
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")
Dissolve, пример 2 (автономный скрипт)
На следующем автономном скрипте демонстрируется, как использовать инструмент 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")
Параметры среды
- Текущая рабочая область (Current Workspace)
- Временная рабочая область (Scratch Workspace)
- Выходная система координат (Output Coordinate System)
- Географические преобразования (Geographic Transformations)
- Экстент (Extent)
- Разрешение XY (XY Resolution)
- Допуск XY (XY Tolerance)
- Выходные данные содержат значения M (Output has M values)
- Разрешение M (M Resolution)
- Допуск M (M Tolerance)
- Выходные данные содержат Z значения (Output has Z values)
- Выходное значение Z по умолчанию (Default Output Z Value)
- Разрешение Z (Z Resolution)
- Допуск Z (Z Tolerance)
- Стандартизированные имена полей (Qualified Field Names)
- Выходное ключевое слово CONFIG (Output CONFIG Keyword)
- Автоподтверждение (Auto Commit)
- Выходная пространственная сетка 1
- Выходная пространственная сетка 2
- Выходная пространственная сетка 3
- Выходной XY домен (Output XY Domain)
- Выходной домен M (Output M Domain)
- Выходной домен Z (Output Z Domain)