Подпись | Описание | Тип данных |
Целевой слой | Содержит целевые объекты. Атрибуты целевых объектов, к которым присоединяются атрибуты присоединяемых объектов и которые будут перенесены в выходной. | Table View |
Присоединяемый слой | Содержит присоединяемые объекты. Атрибуты, которые будут присоединены к объектам целевого класса. Дополнительные сведения о том, как тип операции соединения влияет на объединение присоединяемых атрибутов, см. в описании параметра Операции соединения (join_operation в Python). | Table View |
Выходной набор данных | Новый класс пространственных объектов, содержащий объекты целевого слоя со связанными объектами. | Feature Class;Table |
Операция соединения | Определяет, как будут осуществляться соединения между Целевым слоем и Присоединяемым слоем в выходном классе объектов, если найдено несколько присоединяемых объектов, которые имеют то же пространственное расположение по отношению к одному целевому объекту.
| String |
Пространственное отношение (Дополнительный) | Задает критерии, которые будут использованы для пространственного соединения объектов.
| String |
Расстояние отношения Рядом (Дополнительный) |
Расстояние от целевого объекта, в пределах которого будут рассматриваться объекты соединения, для пространственного соединения. Радиус поиска действует, только когда Пространственным отношением является Рядом, планарный или Рядом, геодезический. | Linear Unit |
Временное отношение (Дополнительный) | Задает критерии времени, которые будут использованы для сопоставления объектов.
| String |
Расстояние временного отношения Рядом (Дополнительный) |
Расстояние во времени от целевого объекта, в пределах которого будут рассматриваться объекты соединения, для пространственного соединения. Время действует, только когда Временным отношением является Рядом, Рядом до или Рядом после, и оба объекта содержат информацию о времени. | Time Unit |
Атрибутивное отношение (Дополнительный) | Соединяет объекты по значениям атрибутивного поля. Указывает, какое атрибутивное поле целевого слоя должно быть сопоставлено с атрибутивным полем слоя соединения.
| Value Table |
Поля суммирования (Дополнительный) | Статистика, которая будет рассчитываться по определенным полям. | Value Table |
Условие присоединения (Дополнительный) | Применяет к указанным полям условие. Будут присоединены только объекты, значение полей которых соответствуют этим условиям. Например, вы можете применить условие присоединения к объектам, у которых атрибутивное значение HealthSpending в слое соединения на 20 процентов больше, чем значение Income в целевом слое. Используйте выражение Arcade, например, $join["HealthSpending"] > $target["Income"] * .2. | String |
Сохранить все целевые объекты (Дополнительный) | Определяет, будут ли поддерживаться в выходном классе объектов (внешнее соединение) все целевые объекты или только те, у которых имеется заданное отношение с соединяемыми объектами (внутреннее соединение).
| Boolean |
Краткая информация
Присоединяет атрибуты из одного слоя к другому на основе пространственных, временных или атрибутивных отношений, или любой их комбинации.
Иллюстрация
![Иллюстрация инструмента Присоединить объекты Иллюстрация инструмента Присоединить объекты](GUID-EB8FA998-105A-4D93-93E3-5FAA1057137D-web.png)
Использование
Пространственное соединение сопоставляет объекты (строки) входных данных (Целевой слой и Присоединяемый слой) в зависимости от их пространственного расположения. Временное соединение сопоставляет объекты (строки) входных данных на основе их временных отношений. Атрибутивное соединение сопоставляет объекты на основе полей значений.
Вы можете соединять их на основании пространственного отношения, временного отношения, атрибутивного отношения, или любой их комбинации.
Опция Описание Пространственное отношение
Пространственное отношение, определяющее, будут ли объекты присоединяться друг к другу. Доступные отношения будут зависеть от типа геометрии (точки, линии, полигоны) соединяемых слоёв. Доступны следующие пространственные отношения:
- Пересекает
- Равен
- Ближайший (На плоскости) – использует расстояния на плоскости.
- Ближайший (Геодезически) – использует геодезические расстояния.
- Содержит
- Внутри
- Касается
- Перекрещивается
- Перекрывает
Узнайте больше о пространственных отношениях в инструментах GeoAnalytics для Desktop
Временное отношение
Временное отношение, определяющее, будут ли объекты присоединяться друг к другу. Доступные отношения будут зависеть от типа времени (мгновенный или интервальный) соединяемых слоёв. Доступны следующие временные отношения:
- Соответствует
- Встречено
- Перекрывает
- Перекрыто
- В течение
- Содержит
- Равен
- Завершает
- Завершено
- Начинает
- Начато
- Пересекает
- Ближайший объект
- Ближайший объект до
- Ближайший объект после
Узнайте больше о временных отношениях в инструментах GeoAnalytics для Desktop
Атрибутивное отношение
Атрибутивное отношение, определяющее, будут ли объекты присоединяться друг к другу. Атрибуты объектов соединяются, если значения поля в присоединяемом слое идентичны значениям поля в целевом слое.
Если целевые и присоединяемые объекты находятся в разных системах координат, будет использована система координат целевых объектов. Если выбрана выходная система координат, все объекты проецируются в эту систему, а затем соединяются.
Если для Пространственного отношения выбрано Планарный, рядом, для инструмента Присоединить объекты требуется, чтобы Целевой слой был спроецирован, или чтобы для выходной системы координат была задана система координат проекции.
Если несколько пространственных объектов совпадают с одним и тем же целевым объектом, вы можете определить, соединять ли все совпадающие объекты (Присоединить один-ко-многим) или суммировать все объекты вместе (Присоединить один-к-одному):
- Присоединить один-ко-многим – присоединяет все совпадающие объекты в присоединяемом слое с объектами целевого слоя. Полученный в результате слой будет содержать несколько записей для целевого объекта.
- Присоединить один-к-одному – суммирует все совпадающие присоединяемые объекты, и присоединяет их к каждому объекту в целевом слое. Только совпадающие объекты будут включены в суммирование и результат. Количество присоединённых объектов будет добавлено в дополнение к другой статистике, такой как сумма, минимум, максимум, диапазон, дисперсия, среднее и стандартное отклонение. По умолчанию, только те целевые объекты, которые имеют заданное отношение с соединяемыми объектами, будут сохраняться в выходном классе объектов (внутреннее соединение). Если отмечена опция Сохранить все целевые объекты, в выходной класс объектов будут записаны все входные целевые объекты (это называется левым внешним соединением).
Показаны примеры операции присоединения один-ко-многим и один-к-одному. В этом примере присоединение один-к одному включает только количество; дополнительные статистические параметры могут быть вычислены, как показано ниже. Дополнительно вы можете построить выражение для присоединения пространственных объектов с помощью параметра Условие присоединения. Если вы указываете выражение, будут использоваться только соответствующие условию пространственные объекты. Например, используя выражение $target["Magnitude"] > $join["Explosion"] вы можете только соединить целевые объекты из поля Magnitude, если значение поля больше, чем у присоединяемого объекта в поле Explosion. Более подробно см. Выражения Arcade в инструментах геоаналитики Desktop.
При выполнении соединения "один ко многим" в выходные объекты включаются следующие поля:
- Все поля из целевых слоев
- Все поля из присоединяемого слоя
Если одно и то же имя поля существует в целевом и присоединяемом наборах данных, поле соединения будет начинаться со слова join (например, join_fieldname).
Имя поля Описание start_date
Это поле представляет время начала и создается, когда для входных данные задано время в виде момента или интервала.
end_date
Это поле представляет время окончания и создается, когда для входных данные задано время в виде интервала.
В дополнение ко всем полям из целевого слоя, следующие поля включаются в выходные объекты при выполнении соединения один к одному:
Имя поля Описание count
Число пространственных объектов, которые были присоединены.
statistic_fieldname
Каждая указанная статистика будет создавать поле атрибутов с именем в следующем формате: statistics_field name. Например, максимум и среднеквадратическое отклонение для поля id будет MAX_id и SD_id.
start_date
Это поле представляет время начала и создается, когда для входных данные задано время в виде момента или интервала.
end_date
Это поле представляет время окончания и создается, когда для входных данные задано время в виде интервала.
Вы можете повысить производительность инструмента Присоединить объекты, выполнив одно или несколько из следующих действий:
- Установите параметр среды Экстент так, чтобы вы анализировали только интересующие вас данные.
- Сделайте условия соединения как можно более избирательными. Например, пространственное соединение Рядом с условием 1 километр будет работать лучше, чем соединение с условием 5 километров на тех же данных.
- Добавляйте больше одного условия. Дополнительное условие присоединения делает соединение более избирательным. Например, пространственное соединение Рядом с условиями 1 километр и 1 час будет работать лучше, чем соединение с условием 1 километр на тех же данных.
- Применяйте выражение присоединения.
- Используйте локальные данные там, где запускается анализ.
Аналогичный анализ можно выполнить при помощи инструмента Пространственное соединение из набора инструментов Анализ.
Этот инструмент геообработки работает от Spark. Анализ выполняется на настольном компьютере с использованием нескольких ядер параллельно. См. Информация по инструментами GeoAnalytics Desktop, чтобы узнать больше о выполнении анализа.
При запуске инструментов GeoAnalytics Desktop анализ выполняется на настольном компьютере. Для оптимальной производительности данные должны быть доступны на настольном компьютере. Если вы используете размещенный векторный слой, рекомендуется использовать ArcGIS GeoAnalytics Server. Если данные находятся не на жестком диске, для запуска инструмента потребуется больше времени. Для использования ArcGIS GeoAnalytics Server в целях выполнения анализа см. раздел GeoAnalytics Tools.
Параметры
arcpy.gapro.JoinFeatures(target_layer, join_layer, output, join_operation, {spatial_relationship}, {spatial_near_distance}, {temporal_relationship}, {temporal_near_distance}, {attribute_relationship}, {summary_fields}, {join_condition}, {keep_all_target_features})
Имя | Описание | Тип данных |
target_layer | Содержит целевые объекты. Атрибуты целевых объектов, к которым присоединяются атрибуты присоединяемых объектов и которые будут перенесены в выходной. | Table View |
join_layer | Содержит присоединяемые объекты. Атрибуты, которые будут присоединены к объектам целевого класса. Дополнительные сведения о том, как тип операции соединения влияет на объединение присоединяемых атрибутов, см. в описании параметра Операции соединения (join_operation в Python). | Table View |
output | Новый класс пространственных объектов, содержащий объекты целевого слоя со связанными объектами. | Feature Class;Table |
join_operation | Определяет, как будут осуществляться соединения между значениями target_layer и join_layer в выходном классе объектов, если найдено несколько присоединяемых объектов, которые имеют то же пространственное расположение по отношению к одному целевому объекту.
| String |
spatial_relationship (Дополнительный) | Задает критерии, которые будут использованы для пространственного соединения объектов.
| String |
spatial_near_distance (Дополнительный) |
Расстояние от целевого объекта, в пределах которого будут рассматриваться объекты соединения, для пространственного соединения. Радиус поиска действует, только когда для параметра spatial_relationship задано NEAR или NEAR_GEODESIC. | Linear Unit |
temporal_relationship (Дополнительный) | Задает критерии времени, которые будут использованы для сопоставления объектов.
| String |
temporal_near_distance (Дополнительный) |
Расстояние во времени от целевого объекта, в пределах которого будут рассматриваться объекты соединения, для пространственного соединения. Время действует, только когда для temporal_relationship выбрано NEAR, NEAR_BEFORE или NEAR_AFTER, и оба объекта содержат информацию о времени. | Time Unit |
attribute_relationship [attribute_relationship,...] (Дополнительный) | Соединяет объекты по значениям атрибутивного поля. Указывает, какое атрибутивное поле целевого слоя должно быть сопоставлено с атрибутивным полем слоя соединения.
| Value Table |
summary_fields [summary_fields,...] (Дополнительный) | Статистика, которая будет рассчитываться по определенным полям.
| Value Table |
join_condition (Дополнительный) | Применяет к указанным полям условие. Будут присоединены только объекты, значение полей которых соответствуют этим условиям. Например, вы можете применить условие присоединения к объектам, у которых атрибутивное значение HealthSpending в слое соединения на 20 процентов больше, чем значение Income в целевом слое. Используйте выражение Arcade, например, $join["HealthSpending"] > $target["Income"] * .2. | String |
keep_all_target_features (Дополнительный) | Определяет, будут ли поддерживаться в выходном классе объектов (внешнее соединение) все целевые объекты или только те, у которых имеется заданное отношение с соединяемыми объектами (внутреннее соединение).
| Boolean |
Пример кода
В следующем автономном скрипте показано использование функции JoinFeatures.
# Name: JoinFeatures.py
# Description: Join crime events that are close together in time and space, and
# return the count of nearby crimes. This example is a self join
# (joining the same layer to itself).
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/CityData.gdb"
# Enable time on the input features using a .lyrx file.
# To create the .lyrx file, add your layer to a map, open the layer properties
# and enable time. Then right-click the layer and select Share As Layer File.
inputLyrx = r'C:\data\ChicagoCrimes.lyrx'
# MakeFeatureLayer converts the .lyrx to features
chicagoCrimesLayer = arcpy.MakeFeatureLayer_management(inputLyrx, "Crimes_layer")
# ApplySymbologyFromLayer sets the time using the .lyrx file definition
arcpy.ApplySymbologyFromLayer_management(chicagoCrimesLayer, inputLyrx)
# Set local variables
spatialOperation = "NEAR"
nearDistance = "1 Kilometers"
temporalOperation = "NEAR"
nearTime = "3 Hours"
out = "CloseCrimes"
# Execute Join Features
arcpy.gapro.JoinFeatures(chicagoCrimesLayer, inFeatures, out, "JOIN_ONE_TO_ONE",
spatialOperation, nearDistance, temporalOperation,
nearTime)
Параметры среды
Особые случаи
Информация о лицензиях
- Basic: Нет
- Standard: Нет
- Advanced: Да
Связанные разделы
- Обзор группы инструментов Суммировать данные
- Информация по инструментами GeoAnalytics Desktop
- Поиск инструмента геообработки
- Пространственные отношения в наборе инструментов GeoAnalytics Desktop
- Временные отношения в наборе инструментов GeoAnalytics Desktop
- Выражения Arcade в наборе инструментов GeoAnalytics Desktop