ArcGIS Desktop

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

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

ArcGIS Online

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

ArcGIS Desktop

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

ArcGIS Enterprise

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

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ArcMap

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

ListBookmarks

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

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

Возвращает список именованных кортежей Python, который предоставляет доступ к имени и экстенту каждой пространственной закладки.

Описание

ListBookmarks всегда возвращает список именованных кортежей Python. Каждый кортеж предоставляет имя закладки как строку и экстент закладки как объект Extent. Чтобы вернуть отдельный кортеж, необходимо использовать индексное значение для списка (например, bkmk = arcpy.mapping.ListBookmarks(mxd)[0]). For зацикливает список, что обеспечивает простой механизм итерации каждого кортежа из списка (например, для bkmk в методе arcpy.mapping.ListBookmarks(mxd):).

Групповые символы используются для свойства name и не являются чувствительными к регистру. Строка группового символа "so*" вернет пространственную закладку с именем South East. Групповые символы в синтаксисе скрипта можно пропустить, передав пустую строку (""), звездочку (*) или значение wildcard=None, а также не передавая ничего в случае, если это последний дополнительный параметр в синтаксисе.

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

Синтаксис

ListBookmarks (map_document, {wildcard}, {data_frame})
ПараметрОбъяснениеТип данных
map_document

Переменная, которая ссылается на объект MapDocument.

MapDocument
wildcard

Для наложения ограничения на результаты можно использовать сочетание звездочек (*) и символов. Используется для фильтрации имен пространственных закладок.

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

String
data_frame

Переменная, которая ссылается на объект DataFrame. Используется для нахождения пространственной закладки, связанной с определенным фреймом данных.

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

DataFrame

Возвращаемое значение

Тип данныхОбъяснение
List

Список именованных кортежей в Python.

  • экстент —Объект геообработки Extent
  • name —Строка, представляющая имя пространственной закладки.

Пример кода

Пример ListBookmarks 1

Данный скрипт напечатает имя каждой пространственной закладки во фрейме данных с названием Transportation. Параметр группового символа пропущен, вместо него передана пустая строка.

import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "Transportation")[0]
for bkmk in arcpy.mapping.ListBookmarks(mxd, "", df):
    print bkmk.name
del mxd
Пример ListBookmarks 2

Как и в примере 1, следующий скрипт выполнит цикл по всем закладкам во фрейме данных Transportation, установит экстент фрейма данных и экспортирует фрейм данных в файл JPEG.

import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\Project\Project.mxd")
df = arcpy.mapping.ListDataFrames(mxd, "Transportation")[0]
for bkmk in arcpy.mapping.ListBookmarks(mxd, data_frame=df):
    df.extent = bkmk.extent
    outFile = r"C:\Project\Output\\" + bkmk.name + ".jpg"
    arcpy.mapping.ExportToJPEG(mxd, outFile, df)
del mxd
Пример ListBookmarks 3

Этот пример сконвертирует каждую закладку документа карты в объект. Полученный класс объектов может быть использован для множества рабочих процессов, включая использование в качестве индексного слоя Многостраничной компоновки (Data Driven Pages) при создании атласов.

import arcpy, os

# The map with the bookmarks
mxd = arcpy.mapping.MapDocument(r"C:\Project\Counties.mxd")

# The output feature class to be created -
# This feature class will store the bookmarks as features
outFC = r'C:\Project\Counties.gdb\Bookmarks'

# A template feature class that contains the attribute schema
# Including a "Name" field to store the bookmark name
template = r'C:\Project\Counties.gdb\Template'

if arcpy.Exists(outFC):
    arcpy.Delete_management(outFC)
arcpy.CreateFeatureclass_management(os.path.dirname(outFC),
                                    os.path.basename(outFC), 
                                    "POLYGON", template, 
                                    spatial_reference=template)

cur = arcpy.da.InsertCursor(outFC, ["SHAPE@", "Name"])
array = arcpy.Array()
for bkmk in arcpy.mapping.ListBookmarks(mxd):
    array.add(arcpy.Point(bkmk.extent.XMin, bkmk.extent.YMin))
    array.add(arcpy.Point(bkmk.extent.XMin, bkmk.extent.YMax))
    array.add(arcpy.Point(bkmk.extent.XMax, bkmk.extent.YMax))
    array.add(arcpy.Point(bkmk.extent.XMax, bkmk.extent.YMin))
    # To close the polygon, add the first point again
    array.add(arcpy.Point(bkmk.extent.XMin, bkmk.extent.YMin))
    cur.insertRow([arcpy.Polygon(array), bkmk.name])
    array.removeAll()

ArcGIS Desktop

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

ArcGIS Platform

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

Об Esri

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