Объединение (Анализ)
Краткая информация
Вычисляет геометрическое объединение входных объектов. В выходной класс объектов будут записаны все объекты и их атрибуты.
Более подробно о том, как работает инструмент Объединение (Union)
Рисунок
Использование
-
Все входные классы пространственных объектов и слои пространственных объектов должны иметь полигональную геометрию.
-
Параметр Разрешить пробелы (Allow Gaps) может быть использован с настройками ALL или ONLY_FID, заданными для параметра Присоединить атрибут (Join Attribute). Это позволяет выявить выходные области, которые полностью заключены между выходными полигонами. Атрибуты FID для этих областей будут равны -1.
Выходной класс объектов будет содержать атрибут FID_<name> для каждого входного класса объектов. Например, если один из входных классов объектов называется Soils, в выходном классе появится атрибут FID_Soils. Для каждого входного объекта (или части входного объекта), который не пересекается с другим входным объектом, значение FID_<name> будет равно -1. Атрибутивные значения других классов объектов в объединении, при отсутствии пересечения, не будут перенесены в выходные данные.
-
Атрибутивные значения из входных классов пространственных объектов будут скопированы в выходной класс. Однако если входными данными является слой или слои, созданные инструментом Создать векторный слой (Make Feature Layer), и отмечена опция поля Использовать правило пропорции (Use Ratio Policy), то тогда вычисляется доля входного значения атрибута и сохраняется как выходное атрибутивное значение. Если включено Использовать правило пропорции (Use Ratio Policy), всякий раз при разбивке пространственного объекта в операции наложения, атрибутами результирующего пространственного объекта будет пропорция значения атрибутов входных объектов. Выходное значение вычисляется на основании пропорции, в соответствии с которой была разделена геометрия входных объектов. Например, если входная геометрия была разделена на две равные части, атрибутивное значение нового пространственного объекта будет равно половине атрибутивного значения соответствующего входного объекта. Использовать правило пропорции (Use Ratio Policy) применяется только к числовым типам полей.
Внимание:Инструменты геообработки не поддерживают правила разбиения (split policies) для полей или таблиц класса пространственных объектов базы геоданных.
-
Для обработки очень больших наборов данных при работе инструмента используется разбивка на листы, для повышения производительности и масштабируемости. Для получения более подробной информации см. Геообработка больших наборов данных.
-
Этот инструмент может создавать составные объекты в выходных данных, даже если все входные данные простые. Если вам не нужны составные объекты, используйте инструмент Составной в простые (Multipart to Singlepart) для выходного класса объектов.
При использовании лицензий ArcGIS for Desktop Basic и Standard может быть использовано максимум два входных класса объектов или слоя пространственных объектов.
Синтаксис
Параметр | Объяснение | Тип данных |
in_features [[in_features, {Rank}],...] |
Список входных классов объектов или слоёв. Если расстояние между объектами меньше кластерного допуска, объекты с более низким рангом точности будут совмещены с объектами с более высоким рангом. Самый высокий ранг – 1. Все входные объекты должны быть полигонами. | Value Table |
out_feature_class |
Класс пространственных объектов, который будет содержать выходные данные. | Feature Class |
join_attributes (дополнительно) |
Определяет, какие атрибуты входных объектов будут перенесены в выходной класс объектов.
| String |
cluster_tolerance (дополнительно) |
Минимальное расстояние, в пределах которого координаты узлов и вершин объектов считаются различимыми, и на которое могут быть смещены координаты по оси X или Y (или по обеим вместе). | Linear unit |
gaps (дополнительно) |
Пробелы – это площади в выходном классе объектов, которые полностью заключены между другими полигонами. Это не является неправильным, но было бы желательно определить их для анализа. Чтобы найти пробелы в выходных данных, установите для этой опции NO_GAPS, и в этих областях будет создан объект. Чтобы выбрать эти объекты, постройте запрос к выходному классу объектов, чтобы найти входные объекты со значением идентификатора FID -1.
| Boolean |
Пример кода
В следующем скрипте окна Python показано, как использовать функцию Объединение (Union) в окне Python.
import arcpy
from arcpy import env
env.workspace = "C:/data/data/gdb"
arcpy.Union_analysis (["well_buff50", "stream_buff200", "waterbody_buff500"], "water_buffers", "NO_FID", 0.0003)
arcpy.Union_analysis ([["counties", 2],["parcels", 1],["state", 2]], "state_landinfo")
В следующем автономном скрипте показаны два способа применения функции Объединение (Union) в скриптах.
# unions.py
# Purpose: union 3 feature classes
# Import the system modules
import arcpy
from arcpy import env
# Set the current workspace
# (to avoid having to specify the full path to the feature classes each time)
env.workspace = "c:/data/data.gdb"
# Union 3 feature classes but only carry the FID attributes to the output
inFeatures = ["well_buff50", "stream_buff200", "waterbody_buff500"]
outFeatures = "water_buffers"
clusterTol = 0.0003
arcpy.Union_analysis (inFeatures, outFeatures, "ONLY_FID", clusterTol)
# Union 3 other feature classes, but specify some ranks for each
# since parcels has better spatial accuracy
inFeatures = [["counties", 2],["parcels", 1],["state", 2]]
outFeatures = "state_landinfo"
arcpy.Union_analysis (inFeatures, outFeatures)