ArcGIS for Desktop

  • Документация
  • Стоимость
  • Поддержка

  • My Profile
  • Справка
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS for Desktop

Полноценная профессиональная ГИС

ArcGIS for Server

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Стоимость
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

Справка

  • Главная
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительно...

InsertLayer

  • Краткая информация
  • Обсуждение
  • Синтаксис
  • Пример кода

Краткая информация

Обеспечивает возможность вставлять слой в нужное местоположение фрейма данных или в составной слой документа карты (.mxd).

Обсуждение

InsertLayer – более точный способ позиционирования слоя во фрейме данных или составном слое, поскольку для указания точного положения используется базовый слой. Слой добавляется либо перед базовым слоем, либо после него.

Если базовый слой ссылается на слой корневого уровня фрейма данных, вставляемый слой будет добавлен на корневом уровне фрейма данных. Если базовый слой ссылается на слой внутри составного слоя, вставляемый слой будет добавлен в группу. Поскольку базовый слой является обязательным параметром, с помощью InsertLayer невозможно добавить слой в пустой фрейм данных или пустой составной слой. Добавить слой в пустой фрейм данных или составной слой позволяют соответственно функции AddLayer или AddLayerToGroup.

Вставляемый слой должен ссылаться на уже имеющийся слой (помните о том, что слой может также быть составным). Источник может находиться в файле слоя на диске, внутри общего документа карты или фрейма данных, внутри общего документа карты, но другого фрейма данных, либо даже в отдельном документе карты.

Способ отображения слоя в таблице содержания (TOC) после добавления зависит от способа отображения слоя источника. Например, некоторые слои полностью свернуты и не отражают свои стрелки в TOC. Эта настройка сохраняется в слое. Если слой свернут и сохранен в файле слоя, а потом добавлен в документ карты, слой будет свернут в новом документе карты при добавлении через InsertLayer.

Синтаксис

InsertLayer (data_frame, reference_layer, insert_layer, {insert_position})
ПараметрОбъяснениеТип данных
data_frame

Ссылка на объект DataFrame, в который будет вставлен новый слой.

DataFrame
reference_layer

Объект Layer, соответствующий существующему слою, который определяет положение, где будет вставлен новый слой.

Layer
insert_layer

Ссылка на объект Layer, представляющий слой, который будет вставлен.

Layer
insert_position

Константа, определяющая размещение добавляемого слоя по отношению к базовому слою.

  • AFTER —Вставляет новый слой после базового слоя или под ним
  • BEFORE —Вставляет новый слой перед базовым слоем или над ним

(Значение по умолчанию — BEFORE)

String

Пример кода

InsertLayer, пример 1:

Следующий скрипт вставит новый слой из файла слоя (.lyr) на диске и разместит его перед слоем, называемым Lakes (Озера), который представляет собой фрейм данных с именем County Maps (Карты областей).

import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "County Maps")[0]
refLayer = arcpy.mapping.ListLayers(mxd, "Lakes", df)[0]
insertLayer = arcpy.mapping.Layer(r"C:\Project\Data\Rivers.lyr")
arcpy.mapping.InsertLayer(df, refLayer, insertLayer, "BEFORE")
mxd.saveACopy(r"C:\Project\Project2.mxd")
del mxd, insertLayer
InsertLayer, пример 2:

Следующий скрипт вставит слой с именем Rivers (Реки) из другого, независимого документа карты над слоем с именем Lakes (Озера) во фрейме данных с именем County Maps (Карты областей).

import arcpy

#Reference layer in secondary map document
mxd2 = arcpy.mapping.MapDocument(r"C:\Project\ProjectTemplate.mxd")
df2 = arcpy.mapping.ListDataFrames(mxd2, "Layers")[0]
insertLayer = arcpy.mapping.ListLayers(mxd2, "Rivers", df2)[0]

#Insert layer into primary map document
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "County Maps")[0]
refLayer = arcpy.mapping.ListLayers(mxd, "Lakes", df)[0]
arcpy.mapping.InsertLayer(df, refLayer, insertLayer, "BEFORE")

#Save to a new map document and clear variable references
mxd.saveACopy(r"C:\Project\Project2.mxd")
del mxd, mxd2, insertLayer
Отзыв по этому разделу?

ArcGIS for Desktop

  • На главную
  • Документация
  • Стоимость
  • Поддержка

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Об Esri

  • О нас
  • Карьера
  • Блог сотрудников
  • Конференция пользователей
  • Саммит разработчиков
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | Конфиденциальность | Правовая информация