Skip to main content

createLabelClass

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

Предоставляет доступ к базовым свойствам слоя и методам.

Обсуждение

На слои можно ссылаться внутри проекта, используя метод listLayers класса Map или из файла слоя (.lyr или .lyrx), сохраненного на диске, используя метод listLayers класса LayerFile.

Объект Layer имеет единый универсальный дизайн для работы со всеми слоями. Существует большое количество различных типов слоев, и не все они поддерживают одинаковый набор свойств. Например, векторный слой поддерживает определяющий запрос, тогда как растровый слой его не поддерживает, при этом каталог растров - поддерживает. Вместо того, чтобы работать с разными отдельными объектами слоя для всех возможных типов слоев и комбинаций свойств, есть некоторые полезные свойства, которые позволяют получить информацию о слое и поддерживаемых им свойствах. Существует множество свойств is, которые позволяют определить, подходит ли слой к общей категории, например, is3DLayer, isFeatureLayer, isGroupLayer, isRasterLayer, isWebLayer, и т.д.

Есть несколько специализированных слоев и наборов данных, которые не попадают ни в одну из этих общих категорий: подклассы аннотаций, объекты-размеры, наборы данных Terrain, наборы данных топологии и так далее. В этих случаях, необходимо проверить другие свойства и изолировать интересующий вас слой, прежде чем начинать работу с ним. Метод supports используется, чтобы помочь определить, какой конкретный слой поддерживает конкретное свойство слоя. Это дает возможность проверить, поддерживает ли слой свойство, прежде чем пытаться получить или установить его значение, и тем самым уменьшает необходимость в дополнительном поиске ошибок. Например, см. следующий код:

if lyr.supports("BRIGHTNESS"):
    lyr.brightness = 10

Метод listLayers возвращает значения индекса Map class, которые генерируются сверху вниз в том порядке, в каком они появляются в таблице содержания, или как они появляются в файле слоя. То же самое происходит, если составной слой находится внутри другого составного слоя. Например, карта с одним составным слоем, содержащим три подслоя, возвратит список из четырех имен слоев, при этом групповой слой будет первым, а три подслоя - вторым, третьим и четвертым. Есть два способа определения составного слоя. Во-первых, вы можете проверить, поддерживает ли слой свойство isGroupLayer. Во-вторых, вы можете оценить свойство longName. Значение слоя longName будет включать имя группы в дополнение к имени слоя. Например, слой с именем Layer1 в составном слое Group1, будет иметь значение longName, равное Group1\Layer1. Если значение name равно значению longName, слой не находится внутри составного слоя. При работе с подслоями составных слоев свойство longName будет содержать и имя подслоя, и имя слоя верхнего уровня.

ArcGIS Pro может читать устаревшие типы файлов .lyr, но сохранять может только типы файлов .lyrx. При ссылке на тип файла .lyr и вызове метода save он будет преобразован в тип файла .lyrx, но с тем же именем файла.

Векторный слой может поддерживать от нуля до нескольких определяющих запросов, но только один запрос может быть активным. Также возможно, что присутствует один или несколько определяющих запросов, но ни один из них не активен. Существует два способа управлять определяющими запросами. Во-первых, вы можете использовать свойство definitionQuery. Если вы устанавливаете уникальную строку SQL на слое, не имеющем определяющего запроса, или слое, который имеет несколько определяющих запросов, новый определяющий запрос добавляется и становится активным запросом. Если вы устанавливаете строку SQL на слое, который уже имеет такой же запрос, он устанавливает ее как активный определяющий запрос, если он еще не активен. Второй способ управлять определяющими запросами - использовать комбинацию функций listDefinitionQueries и updateDefinitionQueries. Функция listDefinitionQueries возвращает список словарей Python, которые представляют свойства, связанные с каждым запросом. Ключи словаря - name, sql и isActive. Определяющие запросы могут быть добавлены, изменены или удалены из списка Python с помощью базовых функций Python. Значение словаря isActive может быть установлено на True, чтобы установить активный запрос. Снова только один запрос может быть активным. При попытке сделать активным более одного запроса будет возвращена ошибка. После внесения изменений функция updateDefinitionQueries используется для установки новых изменений.

Изменение источника данных слоя – это общее требование. Более подробное обсуждение, сведения о параметрах, сценарии и примеры кода см. в разделе справки Обновление и исправление источников данных.

Синтаксис

createLabelClass()

Свойства

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

brightness

(Чтение / Запись)

Значение яркости слоя. По умолчанию нормальная яркость - 0 процентов. Введите любое значение от +100 процентов до -100 процентов. Введите знак плюс или минус слева от значения, чтобы указать, находится ли оно выше или ниже 0.

Integer

connectionProperties

(Только для чтения)

Возвращает информацию о подключении к источнику данных слоя как словарь Python.

Dictionary

contrast

(Чтение / Запись)

Значение контраста слоя. По умолчанию нейтральный контраст - 0 процентов. Введите любое значение от +100 процентов до -100 процентов. Введите знак плюс или минус слева от значения, чтобы указать, находится ли оно выше или ниже 0.

Integer

dataSource

(Только для чтения)

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

Подсказка:

Слои многопользовательских баз геоданных в проекте ArcGIS Pro не хранят путь к файлу подключения к базе данных (.sde), который использовался для создания слоя.

String

definitionQuery

(Чтение / Запись)

Определяющий запрос слоя. Если вы устанавливаете уникальную строку SQL на слое, не имеющем определяющего запроса, или слое, который имеет несколько определяющих запросов, новый определяющий запрос добавляется и становится активным запросом. Если вы устанавливаете строку SQL на слое, который уже имеет такой же запрос, он просто устанавливает ее как активный определяющий запрос, если он еще не активен.

String

elevation

(Только для чтения)

Возвращает объект LayerElevation слоя, если поддерживается высота. Проверьте заблаговременно с помощью Layer.supports('ELEVATION').

Object

groupType

(Только для чтения)

Возвращает тип составного слоя. Слой должен быть составным, поэтому лучше сначала проверить, что isGroupLayer равно True. Для установки groupType используйте метод setGroupType. Возможные значения:

  • CHECKBOX—Составной слой стилей с флажками.

  • RADIO—Составной слой стилей с переключателями.

String

is3DLayer

(Только для чтения)

Возвращает True, если слой является 3D слоем.

Boolean

isBasemapLayer

(Только для чтения)

Возвращает True, если слой является слоем базовой карты.

Boolean

isBroken

(Только для чтения)

Возвращает True, если источник данных слоя поврежден.

Boolean

isFeatureLayer

(Только для чтения)

Возвращает True, если слой является векторным.

Boolean

isGraphicsLayer

(Только для чтения)

Возвращает True, если это графический слой.

Boolean

isGroupLayer

(Только для чтения)

Возвращает True, если слой является составным.

Boolean

isNetworkAnalystLayer

(Только для чтения)

Возвращает True, если слой является слоем Расширение ArcGIS Network Analyst.

Boolean

isNetworkDatasetLayer

(Только для чтения)

Возвращает True, если слой является слоем набора сетевых данных Расширение ArcGIS Network Analyst.

Boolean

isParcelFabricLayer

(Только для чтения)

Возвращает True, если это слой наборов данных участков.

Boolean

isRasterLayer

(Только для чтения)

Возвращает True, если слой является растровым.

Boolean

isSceneLayer

(Только для чтения)

Возвращает True, если слой является слоем сцены.

Boolean

isTimeEnabled

(Только для чтения)

Указывает, включено ли время в слое. Если isTimeEnabled возвращает True, свойство time слоя можно использовать для возврата объекта LayerTime. Используйте метод enableTime, чтобы включить время на слое, содержащем информацию о времени.

Boolean

isTopologyLayer

(Только для чтения)

Возвращает True, если слой является слоем топологии.

Boolean

isWebLayer

(Только для чтения)

Возвращает True, если слой является сервисом ГИС. ГИС сервисы – это автоматизированные географические информационные сервисы, которые опубликованы и доступны в Интернете с помощью стандартных технологий и протоколов. Примером являются базовые карты Esri.

Boolean

longName

(Только для чтения)

Полное имя слоя, включая структуру составного слоя.

String

maxThreshold

(Чтение / Запись)

Порог максимального масштаба слоя для 2D-карт и его максимальное расстояние над поверхностью земли для 3D-карт. Слой не будет отображаться, если степень увеличения превзошла максимальный масштаб. Для очистки максимального масштаба установите значение на 0.

Double

metadata

(Чтение / Запись)

Получите или задайте информацию о Метаданных класса слоя.

Примечание:

Установка метаданных зависит от значения свойства isReadOnly.

Metadata

minThreshold

(Чтение / Запись)

Порог минимального масштаба слоя для 2D-карт и его максимальное расстояние над поверхностью земли для 3D-карт. Слой не будет отображаться, если степень уменьшения превзошла минимальный масштаб. Для очистки минимального масштаба установите значение на 0.

Double

name

(Чтение / Запись)

Имя слоя в том виде, в каком оно будет выглядеть в таблице содержания. Можно использовать пробелы. Является важным, чтобы все слои карты имели уникальные имена, благодаря чему на них было бы легко ссылаться по имени.

String

pageQuery

(Только для чтения)

Возвращает именованный кортеж Python свойств запроса страницы:

  • fieldName—Имя поля, используемое в запросе страницы.

  • match—Логическое значение, указывающее, фильтруются ли объекты, если они соответствуют текущей странице серии карт.

Примечание:

Фильтры запросов к странице применяются только если слой находится в MapFrame, которая указывается в MapSeries.

tuple

showLabels

(Чтение / Запись)

Управляет отображением надписей слоя. Если задано True, надписи отображаются; если задано False, надписи не отображаются.

Boolean

symbology

(Чтение / Запись)

Обеспечивает доступ к символам слоя.

Object

time

(Только для чтения)

Возвращает объект LayerTime, если на слое включено время.

LayerTime

transparency

(Чтение / Запись)

Значение прозрачности слоя. Это свойство позволяет вам видеть сквозь слой. Используйте значения между 0 и 100. Значение 0 соответствует полной непрозрачности. Значение прозрачности более 90 процентов обычно приводит к тому, что слой не отображается совсем.

Integer

URI

(Только для чтения)

Universal Resource Indicator слоя. Это уникальный идентификатор слоя в проекте, который иногда требуется при использовании доступа Python CIM. После добавления слоя и установления URI значение со временем не меняется. Например, если вы измените имя слоя, URI не изменится.

String

visible

(Чтение / Запись)

Управляет отображением слоя. Если задано True, слой отображается; если задано False, слой не отображается.

Boolean

Методы

createLabelClass(name, expression, {sql_query}, {labelclass_language})

Метод createLabelClass создает LabelClass для слоя.

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

name

The name of the new label class. Names must be unique.

String

expression

An expression to be applied. Its syntax must match the labelclass_language value.

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

String

sql_query

(Дополнительный)

An optional query that is useful for restricting the features that are labeled.

String

labelclass_language

(Дополнительный)

The following are the supported scripting languages.

  • ARCADE—Arcade

  • JSCRIPT—JScript

  • PYTHON—Python

  • VBSCRIPT—VBScript

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

String

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

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

LabelClass

Если указана переменная, она будет ссылаться на вновь возращенный объект LabelClass.

disableTime()

Отключает свойства времени для объекта Layer.

enableTime({startTimeField}, {endTimeField}, {autoCalculateTimeRange}, {timeDimension})

Включает время в слое, если там имеется информация о времени.

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

startTimeField

(Дополнительный)

The name of the field containing the start time values. If each feature has a single time field, specify that field name in the startTimeField and leave endTimeField blank. If each feature has a start and end time field, specify both the startTimeField and endTimeField.

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

String

endTimeField

(Дополнительный)

The name of the field containing the end time values. Not all layers use an end time field. If each feature has a single time field, specify that field name in the startTimeField and leave endTimeField blank. If each feature has a start and end time field, specify both the startTimeField and endTimeField.

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

String

autoCalculateTimeRange

(Дополнительный)

If set to True, the start and end time attribute information is used to calculate the layer's time extent.

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

Boolean

timeDimension

(Дополнительный)

The name of the dimension containing time values when using netCDF data.

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

String

extrusion({extrusion_type}, {expression})

Вытягивает 2D объекты слоя для отображения 3D символов.

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

extrusion_type

(Дополнительный)

Строка, задающая метод вытягивания. Значение по умолчанию равно NONE, что выключает вытягивание слоя.

  • ABSOLUTE_HEIGHT—Пространственный объект вытягивается в соответствии с указанным z-значением подобно плоской вершине, независимо от z-значения самого объекта.

  • BASE_HEIGHT—Z-значения вычисляется для каждой вершины основания пространственного объекта, поэтому объект вытягивается на различные z-значения, создавая многогранную вершину.

  • MAX_HEIGHT—Добавляет высоту вытягивания к минимальному z-значению пространственного объекта, и объект вытягивается в плоскую вершину на данное значение.

  • MIN_HEIGHT—Добавляет высоту вытягивания к минимальному z-значению пространственного объекта, и объект вытягивается в плоскую вершину на данное значение.

  • NONE—Объекты не вытянуты.

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

String

expression

(Дополнительный)

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

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

String

getDefinition(cim_version)

Получает определение слоя CIM.

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

cim_version

A string that represents the major version of the CIM.

String

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

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

Object

Возвращает определение CIM для объекта Layer.

getSelectionSet()

Возвращает выборку слоя как набор Object ID Python.

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

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

List

Возвращает определение CIM для BookmarkMapSeries.

getSymbologyDefinition(cim_version)

Возвращает условные обозначения слоя CIM.

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

cim_version

A string that represents the major version of the CIM that will be used.

  • V2—The 2.x version of the CIM will be used.

  • V3—The 3.x version of the CIM will be used.

String

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

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

Object

Возвращает условные обозначения CIM для Layer.

listCharts({wildcard})

Возвращает список объектов диаграммы Python в слое.

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

wildcard

(Дополнительный)

A wildcard is based on the chart title and is not case sensitive. A combination of asterisks (*) and characters can be used to help limit the resulting list.

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

String

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

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

List

Возвращает список объектов диаграммы Python в слое.

listDefinitionQueries({wildcard})

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

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

wildcard

(Дополнительный)

A wildcard is based on the query name and is not case sensitive. A combination of asterisks (*) and characters can be used to limit the resulting list.

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

String

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

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

List

Список словарей Python, представляющих свойства, связанные с каждым запросом. Ключами этого словаря являются name, sql, isActive и spatialClause.

listLabelClasses({wildcard})

Возвращает список Python объектов LabelClass в слое.

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

wildcard

(Дополнительный)

Групповой символ базируется на имени класса надписей и не является чувствительным к регистру. Для наложения ограничений на результирующий список можно использовать сочетание звездочек (*) и символов.

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

String

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

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

List

Возвращает список Python объектов LabelClass в слое.

listLayers({wildcard})

Возвращает список Python для объектов Слой из группового слоя.

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

wildcard

(Дополнительный)

Подстановочный знак основан на имени слоя и не чувствителен к регистру. Для наложения ограничений на результирующий список можно использовать сочетание звездочек (*) и символов.

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

String

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

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

List

Возвращает список Python для объектов Слой из группового слоя.

listTables({wildcard})

Возвращает список Python объектов Table, которые существуют в составном слое.

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

wildcard

(Дополнительный)

A wildcard is based on the table name and is not case sensitive. A combination of asterisks (*) and characters can be used to limit the resulting list.

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

String

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

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

List

Список Python объектов Table в слое.

openTableView({show_selected})

Метод openTableView открывает и активирует вид таблицы атрибутов слоя в приложении.

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

show_selected

(Дополнительный)

A Boolean that specifies whether all rows will be displayed in the view or only the selected rows.

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

Boolean

pasteProperties(source_layer, {layer_paste_properties[layer_paste_properties,...]})

Метод pasteProperties вставляет свойства из одного слоя объектов в другой слой объектов.

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

source_layer

A feature layer with the properties that will be pasted.

Layer

layer_paste_properties[layer_paste_properties,...]

(Дополнительный)

A single string or a list of strings that specify the property or properties that will be pasted. For example, layer_paste_properties="SYMBOLOGY" will paste only symbology properties, whereas layer_paste_properties=["SYMBOLOGY", "LABELING", "VISIBILITY_RANGE"]) will paste multiple properties.

  • ALL—All applicable properties will be pasted.

  • CHARTS—Only chart properties will be pasted.

  • DEFINITION_QUERIES—Only definition query properties will be pasted.

  • DISPLAY_EXPRESSION—Only display expression properties will be pasted.

  • DISPLAY_FILTERS—Only display filter properties will be pasted.

  • FIELD_PROPERTIES—Only field properties will be pasted.

  • LABELING—Only labeling properties will be pasted.

  • POPUPS—Only pop-up configuration properties will be pasted.

  • SYMBOLOGY—Only symbology properties will be pasted.

  • VISIBILITY_RANGE—Only visibility range properties will be pasted.

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

String

saveACopy(file_name)

Сохраняет слой в файл слоя (.lyrx).

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

file_name

Строка, которая включает местоположение и имя выходного файла слоя (.lyrx).

String

setDefinition(definition_object)

Настраивает определение слоя CIM.

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

definition_object

Объект измененного определения CIM, изначально полученный с помощью getDefinition.

Object

setGroupType(group_type)

Метод setGroupType задает тип группы слоя.

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

group_type

A string that specifies the selection method that will be used.

  • CHECKBOX—The group layer will be set to a check box style.

  • RADIO—The group layer will be set to a radio style.

String

setPageQuery({field_name}, {match})

Метод setPageQuery задает фильтр запроса к странице для слоя.

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

field_name

(Дополнительный)

The name of the field that contains values that match the map series page name field in the index layer.

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

String

match

(Дополнительный)

If set to True, features with the same map series page name will be displayed, if False, the inverse set of features will be displayed.

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

Boolean

setSelectionSet({oidList[oidList,...]}, {method})

Задает выборку слоя, используя список Object ID Python.

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

oidList[oidList,...]

(Дополнительный)

Список Object ID Python для работы с соответствующим способом выборки объектов.

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

Integer

method

(Дополнительный)

Строка, задающая используемый метод выборки.

  • NEW—Создает новую выборку объектов из oidList.

  • DIFFERENCE—Выбирает объекты, не входящие в текущую выборку, но находящиеся в oidList.

  • INTERSECT—Выбирает объекты, входящие в текущую выборку и в oidList.

  • SYMDIFFERENCE—Выбирает объекты, входящие либо в текущую выборку, либо в oidList, но не в оба списка одновременно.

  • UNION—Выбирает все объекты, входящие как в текущую выборку, так и в oidList.

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

String

setSymbologyDefinition(definition_object)

Задает условные обозначения слоя CIM.

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

definition_object

A modified CIM definition object originally retrieved using getSymbologyDefinition.

Object

supports(layer_property)

Используется для определения, поддерживает ли конкретный тип слоя свойство для объекта слоя. Не все слои поддерживают одинаковый набор свойств; свойство supports может быть использовано для тестирования, поддерживает ли слой данное свойство перед попыткой его установить.

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

layer_property

The name of a particular layer property that will be tested.

  • BRIGHTNESS—A raster layer's brightness value.

  • CONNECTIONPROPERTIES—A Layer's connection information.

  • CONTRAST—A raster layer's contrast value

  • DATASOURCE—A layer's file path or connection file.

  • DEFINITIONQUERY—A layer's definition query string.

  • ELEVATION—A layer that LayerElevation can be accessed.

  • LONGNAME—A layer's path including the group layers it may be nested within.

  • MAXTHRESHOLD—A layer's maximum threshold to display the features.

  • METADATA—A layer that can persist metadata.

  • MINTHRESHOLD—A layer's minimum threshold to display the features.

  • NAME—A layer's name.

  • SHOWLABELS—A layer that can display labels.

  • SYMBOLOGY—A layer that symbology can be accessed.

  • TIME—A layer's time properties.

  • TRANSPARENCY—A layer's transparency value.

  • URI—A layer's Universal Resource Identifier.

  • VISIBLE—A layer's visibility state.

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

String

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

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

Boolean

updateConnectionProperties(current_connection_info, new_connection_info, {auto_update_joins_and_relates}, {validate}, {ignore_case})

Метод updateConnectionProperties заменяет свойства подключения, используя словарь либо путь к рабочей области.

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

current_connection_info

A string that represents the workspace path or a Python dictionary that contains connection properties to the source you want to update. If an empty string or None is used in current_connection_info, all connection properties will be replaced with the new_workspace_info, depending on the value of the validate parameter.

String

new_connection_info

A string that represents the workspace path or a Python dictionary that contains connection properties with the new source information.

String

auto_update_joins_and_relates

(Дополнительный)

If set to True, the updateConnectionProperties method will also update the connections for associated joins or relates.

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

Boolean

validate

(Дополнительный)

If set to True, the connection properties will only be updated if the new_connection_info value is a valid connection. If it is not valid, the connection will not be replaced. If set to False, the method will set all connections to match the new_connection_info value, regardless of a valid match. In this case, if a match does not exist, the data sources would be broken.

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

Boolean

ignore_case

(Дополнительный)

Determines whether searches will be case sensitive. By default, queries are case sensitive. To perform queries that are not case sensitive, set ignore_case to True.

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

Boolean

updateDefinitionQueries(definitionQueries[definitionQueries,...])

Обновления коллекции определяющих запросов слоя.

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

definitionQueries[definitionQueries,...]

Updates a list of dictionaries that represent the properties of each definition query.

List

updateLayerFromJSON(json_data)

Обновляет слой из строки JSON.

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

json_data

The layer definition in JavaScript Object Notation (JSON) format. See the ExportWebMap JSON specification for more information. ArcGIS API for JavaScript and ArcGIS Web AppBuilder allow you to get this JSON string from the web app. The layer definition is a subset of the webmap_json used in the ConvertWebMapToArcGISProject function. You don't need to create the web map JSON; the APIs take care of it for you. However, you need to extract the layer definition from the full webmap_json.

String

Пример кода

Layer пример 1

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

import arcpy
aprx = arcpy.mp.ArcGISProject(r"C:\Projects\YosemiteNP\Yosemite.aprx")
for m in aprx.listMaps():
    print("Map: {0} Layers".format(m.name))
    for lyr in m.listLayers():
        if lyr.isBroken:
            print("(BROKEN) " + lyr.name)
        else:
            print("  " + lyr.name)
del aprx
Layer пример 2

Следующий скрипт очищает все запросы определения слоев и отключает надписи для всех слоев на карте с именем Yosemite National Park:

import arcpy
aprx = arcpy.mp.ArcGISProject(r"C:\Projects\YosemiteNP\Yosemite.aprx")
m = aprx.listMaps("Yosemite National Park")[0]
for lyr in m.listLayers():
    if lyr.supports("DEFINITIONQUERY"):
        lyr.definitionQuery = ""
    if lyr.supports("SHOWLABELS"):
        lyr.showLabels = False
aprx.save()
del aprx
Layer пример 3

Следующий скрипт добавляет новый определяющий запрос к слою или устанавливает тот же запрос в качестве активного определяющего запроса, если строка SQL уже существует:

p = arcpy.mp.ArcGISProject('current')
m = p.listMaps()[0]
l = m.listLayers()[0]
if l.supports('DefinitionQuery'):
  l.definitionQuery = "AREA > 3000000"
Layer пример 4

Следующий скрипт создает новый определяющий запрос, добавляя словарь Python к существующим запросам списка. Поскольку запрос может уже быть активным, важно сначала очистить существующие активные запросы, прежде чем устанавливать новый активный запрос.

p = arcpy.mp.ArcGISProject('current')
m = p.listMaps()[0]
l = m.listLayers()[0]
if l.supports('DefinitionQuery'):
  #Get the list of definition queries
  dql = l.listDefinitionQueries()
  #Clear active definition queries otherwise the update will fail if there is already an active query
  for dq in dql:
    dq['isActive'] = False
  #Create a new definition query and append it to the list
  dql.append({'name': 'Appended Query', 'sql': "name = 'Lake Superior'", 'isActive': True})
  #Update the definition queries with the newly modified list
  l.updateDefinitionQueries(dql)