Объединение (Анализ)

Сводка

Вычисляет геометрическое объединение входных объектов. В выходной класс объектов будут записаны все объекты и их атрибуты.

Более подробно о том, как работает инструмент Объединение

Иллюстрация

Принцип работы инструмента Объединение

Использование

  • Все входные классы пространственных объектов и слои пространственных объектов должны иметь полигональную геометрию.

  • Параметр Разрешить пробелы может быть использован с настройками Все атрибуты или Только ID объектов, заданными для параметра Атрибуты для присоединения. Это позволяет выявить выходные области, которые полностью заключены между выходными полигонами. Атрибуты FID для объектов-пробелов будут равны -1.

  • Выходной класс объектов будет содержать атрибут FID_<name> для каждого входного класса объектов. Например, если один из выходных классов объектов с именем Soils, то выходной класс объектов будет содержать атрибут FID_Soils. Значения FID_<name> будут -1 для всех входных объектов (или любой части входного объекта), которые не пересекаются с другим входным объектом. Атрибутивные значения других классов объектов в объединении, при отсутствии пересечения, не будут перенесены в выходные данные.

  • Атрибутивные значения из входных классов пространственных объектов будут скопированы в выходной класс. Однако если входными данными является слой или слои, созданные инструментом Создать векторный слой (Make Feature Layer), и отмечена опция поля Использовать правило пропорции (Use Ratio Policy), то тогда вычисляется доля входного значения атрибута и сохраняется как выходное атрибутивное значение. Если включено Использовать правило пропорции (Use Ratio Policy), всякий раз при разбивке пространственного объекта в операции наложения, атрибутами результирующего пространственного объекта будет пропорция значения атрибутов входных объектов. Выходное значение вычисляется на основании пропорции, в соответствии с которой была разделена геометрия входных объектов. Например, если входная геометрия была разделена поровну, каждому новому атрибутивному значению пространственного объекта присваивается половина значения атрибутивного значение входного объекта. Использовать правило пропорции (Use Ratio Policy) применяется только к числовым типам полей.

    Внимание:

    Инструменты геообработки не поддерживают правила разбиения (split policies) для полей или таблиц класса пространственных объектов базы геоданных.

  • Этот инструмент может создавать составные объекты в выходных данных, даже если все входные данные простые. Если вам не нужны составные объекты, используйте инструмент Составной в простые для выходного класса объектов.

  • Лицензия:

    При использовании лицензий ArcGIS Desktop Basic и Desktop Standard может быть использовано максимум два входных класса объектов или слоя пространственных объектов.

  • Инструмент учитывает параметр среды Коэффициент параллельной обработки. Если параметр среды не задан (используется значение по умолчанию) или указан как 0, параллельная обработка будет отключена. Установка параметры среды равным 100 включит параллельную обработку.

Синтаксис

arcpy.analysis.Union(in_features, out_feature_class, {join_attributes}, {cluster_tolerance}, {gaps})
ParameterОбъяснениеТип данных
in_features
[[in_features, {Rank}],...]

Список входных классов объектов или слоев. Если расстояние между объектами меньше кластерного допуска, объекты с более низким рангом точности будут совмещены с объектами с более высоким рангом. Самый высокий ранг – 1. Все входные объекты должны быть полигонами.

Value Table
out_feature_class

Класс пространственных объектов, который будет содержать выходные данные.

Feature Class
join_attributes
(Дополнительный)

Определяет, какие атрибуты входных объектов будут перенесены в выходной класс объектов.

  • ALLВсе атрибуты из входных объектов будут перенесены в выходной класс объектов. Используется по умолчанию.
  • NO_FIDВсе атрибуты, кроме FID, из входных объектов будут перенесены в выходной класс объектов.
  • ONLY_FIDВ выходной класс объектов будет скопировано только поле FID из входных объектов.
String
cluster_tolerance
(Дополнительный)

Минимальное расстояние, в пределах которого координаты узлов и вершин объектов считаются различимыми, и на которое могут быть смещены координаты по оси X или Y (или по обеим вместе).

Внимание:

Изменение значения этого параметра может привести к сбою или неожиданным результатам. Рекомендуется не изменять этот параметр. Он был удален из поля зрения в диалоговом окне инструмента. По умолчанию используется свойство пространственной привязки допуск x,y входного класса пространственных объектов.

Linear Unit
gaps
(Дополнительный)

Пробелы – это области в выходном классе объектов, которые полностью заключены между другими полигонами. Это не является неправильным, но было бы желательно определить их для анализа. Чтобы найти пробелы в выходных данных, установите для этой опции NO_GAPS, и в этих областях будет создан объект. Чтобы выбрать эти объекты, постройте запрос к выходному классу объектов, чтобы найти входные объекты со значением идентификатора FID равное -1.

  • GAPSДля областей выходных данных, которые полностью заключены между полигонами, не будет создан пространственный объект. Это значение по умолчанию Короткое целое.
  • NO_GAPSДля областей выходных данных, которые полностью заключены между полигонами, будет создан пространственный объект. Этот объект будет иметь пустые атрибуты и значения FID, равные -1.
Boolean

Пример кода

Union, пример (окно Python)

Пример скрипта окна Python для использования функции Union в режиме прямого запуска.

import arcpy
arcpy.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, пример 2 (автономный скрипт)

В следующем автономном скрипте показаны два способа применения функции Union в скриптах.

# unions.py
# Purpose: union 3 feature classes
# Import the system modules
import arcpy
# Set the current workspace (to avoid having to specify the full path to the 
# feature classes each time)
arcpy.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"
arcpy.Union_analysis(inFeatures, outFeatures, "ONLY_FID")
# 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)

Информация о лицензиях

  • Basic: Ограничено
  • Standard: Ограничено
  • Advanced: Да

Связанные разделы