AddLayerToGroup (arcpy.mapping)

Резюме

Обеспечивает возможность добавления слоя в составной слой документа карты (.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Автоматически размещает слой аналогично функции кнопки Add Data (Добавить данные) в ArcMap
  • BOTTOMРазмещает слой в нижней части фрейма данных.
  • TOPРазмещает слой в верхней части фрейма данных.

(Значение по умолчанию — 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
9/11/2013