Краткая информация
Обеспечивает возможность добавления слоя в составной слой документа карты (.mxd) с использованием простых опций размещения.
Обсуждение
AddLayerToGroup является удобным способом добавления слоя в уже существующий составной слой. С ее помощью можно добавить новый слой с функцией автоматического упорядочивания в составной слой аналогично функции кнопки Add Data (Добавить данные) в ArcMap; она размещает слой с учетом правил определения веса слоя и типа геометрии. Другими вариантами размещения являются верхняя или нижняя часть составного слоя.
AddLayerToGroup является единственной функцией, с помощью которой можно добавить слой в пустой составной слой. AddLayerToGroup не позволяет добавлять слои в составные слои внутри файла слоя. Для управления файлами слоев и их создания следует использовать ArcMap.
Целевой слой должен быть составным слоем.@@@ Свойство isGroupLayer объекта Layer – способ убедиться, что возвращаемый объект Layer действительно является составным слоем.
Добавляемый слой должен ссылаться на уже имеющийся слой (помните о том, что слой может также быть составным). Источник может находиться в файле слоя на диске, внутри общего документа карты или фрейма данных, внутри общего документа карты, но другого фрейма данных, либо даже в отдельном документе карты.
Способ отображения слоя в таблице содержания (TOC) после добавления зависит от способа отображения слоя источника. Например, некоторые слои полностью свернуты и не отражают свои стрелки в TOC. Эта настройка сохраняется в слое. Если слой свернут и сохранен в файле слоя, а потом добавлен в документ карты, этот слой будет свернут в новом документе карты при добавлении через AddLayerToGroup.
Синтаксис
AddLayerToGroup (data_frame, target_group_layer, add_layer, {add_position})
Параметр | Объяснение | Тип данных |
data_frame | Ссылка на объект DataFrame, содержащий составной слой, к которому будет добавлен новый слой. | DataFrame |
target_group_layer | Объект Layer, представляющий составной слой, к которому будет добавлен новый слой. Он должен быть составным слоем. | Layer |
add_layer | Ссылка на объект Layer, представляющий слой, выбираемый для добавления. Данная ссылка может ссылаться на файл слоя на диске или слой в документе карты. | Layer |
add_position | Константа, определяющая размещение добавленного слоя во фрейме данных.
(Значение по умолчанию — AUTO_ARRANGE) | String |
Пример кода
Пример использования AddLayerToGroup:
Следующий скрипт добавит новый слой из файла слоя (.lyr) на диске и разместит его в нижней части составного слоя, называемого 24000 Scale Data (Данные масштаба 24000), во фрейме данных с именем County Maps (Карты областей).
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "County Maps")[0]
targetGroupLayer = arcpy.mapping.ListLayers(mxd, "24000 Scale Data", df)[0]
addLayer = arcpy.mapping.Layer(r"C:\Project\Data\StreetsWithLabels.lyr")
arcpy.mapping.AddLayerToGroup(df, targetGroupLayer, addLayer, "BOTTOM")
mxd.saveACopy(r"C:\Project\Project2.mxd")
del mxd, addLayer