ListBookmarks (arcpy.mapping)
Резюме
Возвращает список именованных кортежей Python, который предоставляет доступ к имени и экстенту каждой пространственной закладки.
Обсуждение
ListBookmarks всегда возвращает список именованных кортежей Python. Каждый кортеж предоставляет имя закладки как строку и экстент закладки как объект Extent. Чтобы вернуть отдельный кортеж, необходимо использовать индексное значение для списка (например, bkmk = arcpy.mapping.ListBookmarks(mxd)[0]). For зацикливает список, что обеспечивает простой механизм итерации каждого кортежа из списка (например, для bkmk в методе arcpy.mapping.ListBookmarks(mxd):).
Групповые символы используются для свойства name и не являются чувствительными к регистру. Строка группового символа "so*" вернет пространственную закладку с именем South East. Групповые символы в синтаксисе скрипта можно пропустить, просто передав пустую строку (""), звездочку (*) или значение wildcard=None, а также не передавая ничего в случае, если это последний дополнительный параметр в синтаксисе.
Избегайте наличия пространственных закладок с одинаковыми именами в одном фрейме данных, поскольку свойство имени является единственным практическим способом идентификации пространственного экстента. Закладки могут иметь одинаковое имя, если они находятся в различных фреймах данных.
Синтаксис
Параметр | Объяснение | Тип данных |
map_document |
Переменная, которая ссылается на объект MapDocument. | MapDocument |
wildcard |
Для наложения ограничения на результаты можно использовать сочетание звездочек (*) и символов. Используется для фильтрации имен пространственных закладок. (Значение по умолчанию — None) | String |
data_frame |
Переменная, которая ссылается на объект DataFrame. Используется для нахождения пространственной закладки, связанной с определенным фреймом данных. (Значение по умолчанию — None) | DataFrame |
Тип данных | Объяснение |
List |
Список именованных кортежей в Python.
|
Пример кода
Данный скрипт напечатает имя каждой пространственной закладки во фрейме данных с названием 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
Как и в примере 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