Сводка
Позволяет передвинуть слой в нужное местоположение во фрейме данных или составном слое документа карты (.mxd).
Описание
Метод MoveLayer позволяет перемещать слой в пределах фрейма данных, а также в пределах групповых слоев в одном и том же фрейме данных. Слои moved_layer и reference_layer должны находиться в одном и том же фрейме данных. Нельзя переместить слой из одного фрейма данных в другой, даже в пределах одного документа карты. В этом случае можно использовать функции AddLayer, InsertLayer и RemoveLayer.
Синтаксис
MoveLayer (data_frame, reference_layer, move_layer, {insert_position})
Параметр | Объяснение | Тип данных |
data_frame | Ссылка на объект DataFrame, в пределах которого будет перемещаться слой. | DataFrame |
reference_layer | Ссылка на объект Layer, представляющий существующий слой, который определяет положение, относительно которого будет перемещаться слой. | Layer |
move_layer | Ссылка на объект Layer, представляющий слой, выбираемый для перемещения. | Layer |
insert_position | Константа, определяющая размещение перемещаемого слоя по отношению к слою ссылки.
(Значение по умолчанию — BEFORE) | String |
Пример кода
MoveLayer, пример:
Следующий скрипт перемещает слой Реки и размещает его над слоем ссылки Озера. Оба слоя находятся во фрейме данных Карты областей.
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "County Maps")[0]
for lyr in arcpy.mapping.ListLayers(mxd, "", df):
if lyr.name.lower() == "rivers":
moveLayer = lyr
if lyr.name.lower() == "lakes":
refLayer = lyr
arcpy.mapping.MoveLayer(df, refLayer, moveLayer, "BEFORE")
mxd.saveACopy(r"C:\Project\Project2.mxd")
del mxd