Сводка
Комбинирует слои объектов для создания единого результирующего слоя.
Для работы инструмента необходимо, чтобы оба входных набора данных были одного типа геометрии (точка, линия или полигон), либо таблицами. Если в одном из слоев включена опция времени, то и для другого слоя также должна быть включена эта опция, а также должен использоваться тот же тип времени (текущий или интервальный). В результате всегда будут сохраняться все поля из входного слоя. По умолчанию все поля из присоединяемого слоя также будут добавлены, но вы можете настроить пользовательские правила для присоединяемых полей. Ниже приведены примеры:
- У вас имеется три слоя административных границ Великобритании: Англия, Уэльс и Шотландия; вы хотите создать единый слой Великобритании. Вы можете использовать Слияние слоев для того, чтобы слить все эти области и сохранить поля из каждого слоя.
- У вас есть 2 слоя, каждый из которых содержит информацию о земельных участках в смежных районах. Вы хотите выполнить слияние их в один слой, сохранив только поля с одинаковыми названиями и типами из обоих слоев.
Иллюстрация
Использование
Оба входных набора данных должны быть одного типа геометрии (точка, линия или полигон), либо таблицами.
Оба входных набора данных должны использовать одинаковый тип времени (текущий или интервальный), либо не использовать время вовсе.
По умолчанию, все поля обоих слоев переносятся в выходные данные. Дополнительно вы можете переименовать, удалить или сопоставить поля из присоединяемого слоя с входным слоем.
Операция Описание Пример Переименовать
Поле в выходных данных будет переименовано. Появится текстовое поле, в котором можно указать новое имя.
Вы хотите выполнить слияние двух слоев, у каждого из которых есть поле COUNT. В этом поле в одном слое указано число людей, а в другом – число семей. Два поля COUNT по умолчанию будут объединены, поскольку их имена совпадают. Используйте инструмент Переименовать, чтобы изменить имя поля в слое слияния на MERGE_COUNT, чтобы в результирующем слое эти два поля будут отдельными.
Удалить
Поле будет удалено из выходных данных.
Вы хотите выполнить слияние двух полей, но вам не нужно, чтобы были сохранены некоторые поля в слое слияния, например, полеOBJECTID. Используйте опцию Удалить, чтобы эти поля не записывались в результирующий слой, а сохранялись только интересующие вас поля.
Сопоставить
Имена полей приведены в соответствие друг другу. Значения поля из слоя для объединения будут скопированы в соответствующие выходные поля.
Вы хотите объединить два табличных слоя с результатами опроса. Во входном слое есть поле Name, содержащее имена участников опроса. Соответствующее поле в итоговом слое называется Participant. Используйте функцию Сопоставить, чтобы указать, что оба этих поля эквивалентны, они оба будут записаны как одно поле с именем Name в результирующем слое.
Если входной слой и слой слияния содержат поля с совпадающими именами, но с несовпадающими типами полей, инструмент завершится неудачно, пока эти два типа полей не будут успешно объединены. Если входное поле является строковым, а поле слияния числовым, поля будут объединены в одно строковое поле в выходном слое. Если входное поле является double, а поле слияния numeric, поля будут объединены в одно поле double в выходном слое. Во всех остальных случаях Слияние атрибутов должно использоваться для переименования или удаления одного из соответствующих полей для запуска инструмента.
Вы можете улучшить производительность инструмента Слияние слоев, выполнив одно или оба из следующих действий:
- Установите параметр среды Экстент так, чтобы вы анализировали только интересующие вас данные.
- Используйте локальные данные там, где запускается анализ.
Этот инструмент геообработки работает на ArcGIS GeoAnalytics Server. Анализ выполняется на вашем GeoAnalytics Server, а результаты сохраняются в ресурсы на вашем ArcGIS Enterprise.
При работе инструментов GeoAnalytics Server, анализ выполняется на GeoAnalytics Server. Для оптимальной производительности сделайте данные доступными для GeoAnalytics Server через векторные слои, размещенные на вашем портале ArcGIS Enterprise или через файловое хранилище больших данных. Данные, которые не являются локальными для GeoAnalytics Server, будут перемещены на GeoAnalytics Server до начала анализа. Это означает, что для запуска инструмента потребуется больше времени, а в некоторых случаях перемещение данных с ArcGIS Pro на GeoAnalytics Server может завершиться ошибкой. Порог сбоя зависит от скорости сети, а также от размера и сложности данных. Соответственно рекомендуется всегда предоставлять доступ к данным или создавать файловое хранилище больших данных.
Более подробно о публикации локаторов на портале
Более подробно о создании файловых хранилищ больших данных в Server Manager
Синтаксис
arcpy.geoanalytics.MergeLayers(input_layer, merge_layer, output_name, {merging_attributes}, {data_store})
Parameter | Объяснение | Тип данных |
input_layer | Точечные, линейные или полигональные объекты или таблицы для объединения со слоем слияния. | Record Set |
merge_layer | Точечные, линейные или полигональные объекты или таблицы для слияния с входным слоем. Слой слияния должен содержать объекты такого же типа геометрии и времени, что и входной слой. | Record Set |
output_name | Имя выходного сервиса пространственных объектов. | String |
merging_attributes [[Merge Field, Action, Input Field],...] (Дополнительный) | Список значений, который описывает, как изменяются поля слоя объединения и как они сопоставляются с полями входного слоя. Все поля из входного слоя будут перенесены в выходной класс объектов. Если не были заданы атрибуты для слияния, то все поля из присоединяемого слоя будут записаны в итоговый слой. Если поле существует только в одном слое, выходной слой будет содержать оба поля. Для входных объектов, у которых нет этого поля, в выходном поле будет содержаться нулевое значение. Например, если входной слой содержит поле TYPE, а в слое объединения нет поля TYPE, в выходных данных будет содержаться поле TYPE, но его значения будут нулевыми для всех объектов, скопированных из слоя объединения. Вы можете управлять тем, как поля из присоединяемого слоя будут записаны в итоговом слое с помощью типов слияния:
| Value Table |
data_store (Дополнительный) | Задает ArcGIS Data Store, где будут сохраняться выходные данные. По умолчанию – SPATIOTEMPORAL_DATA_STORE. Все результаты, находящиеся в хранилище пространственно-временных больших данных, будут храниться в системе WGS84. Результаты в реляционном хранилище данных сохраняют свои систему координат.
| String |
Производные выходные данные
Name | Объяснение | Тип данных |
output | Выходной слой, содержащий объекты и атрибуты, скомбинированные из входного и объединяемого слоев. | Набор записей |
Пример кода
В следующем скрипте окна Python показано, как используется инструмент MergeLayers.
#-------------------------------------------------------------------------------
# Name: MergeLayers.py
# Description: Merge two layers containing parcel information.
#
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inputFeatures = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/parcels_west/FeatureServer/0"
mergeFeatures = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/east_parcels/FeatureServer/0"
mergingAttributes = [["CODE", "MATCH", "ID"], ["globalid", "REMOVE"]]
outFS = "all_parcels"
dataStore = "SPATIOTEMPORAL_DATA_STORE"
# Execute Merge Layers
arcpy.geoanalytics.MergeLayers(inputFeatures, mergeFeatures, outFS,
mergingAttributes, dataStore)
Environments
- Выходная система координат
Система координат, используемая при анализе. Если данный параметр не указан, анализ будет выполнен во входной системе координат. Для Инструменты GeoAnalytics готовые результаты будут храниться в пространственно-временном хранилище данных в системе координат WGS84.
Информация о лицензиях
- Basic: Требуется ArcGIS GeoAnalytics Server
- Standard: Требуется ArcGIS GeoAnalytics Server
- Advanced: Требуется ArcGIS GeoAnalytics Server