Краткая информация
Определяет, находится ли данный набор данных или рабочая область в сеансе редактирования.
Обсуждение
Для того, чтобы проверить, находится ли источник данных в данный момент в сеансе редактирования, можно использовать метод IsBeingEdited. Это аналогично свойству isEditing класса Editor, но не требует создания объекта Editor. Это может быть полезно при работе с источниками данных, в которых несколько пользователей или автоматизированных скриптов пытаются выполнить редактирование одновременно.
Синтаксис
IsBeingEdited (dataset)
Параметр | Описание | Тип данных |
dataset | The input dataset or workspace to be checked for an ongoing edit session. | String |
Тип данных | Описание |
Boolean | True, если входной набор данных или рабочая область находятся в сеансе редактирования. |
Пример кода
Следующий код проверяет, находится ли уже данная рабочая область в сеансе редактирования, прежде чем запускать новый.
import arcpy
arcpy.env.workspace = r"C:\data\myGDB.gdb"
if not arcpy.IsBeingEdited(arcpy.env.workspace):
edit = arcpy.da.Editor(arcpy.env.workspace)
edit.startEditing()
Следующий код содержит список всех пространственных слоев карты, которые предстоит редактировать.
import arcpy
aprx = arcpy.mp.ArcGISProject("CURRENT")
map = aprx.listMaps()[0]
for lyr in map.listLayers():
if lyr.isFeatureLayer and arcpy.IsBeingEdited(lyr):
print(lyr.name)