Свойства отслеживания редактирования
Краткая информация
Функция Describe возвращает следующие свойства наборов данных с включенным отслеживанием редактирования.
Отслеживание редактирования может поддерживаться в группах свойств Класс пространственных объектов, Таблица, Набор данных мозаики или Каталог растров. Свойства отслеживания редактирования поддерживаются только типами данных базы геоданных. Возвращаемое dataType является dataType класса пространственных объектов, таблицы, набора данных мозаики или каталога растров.
Свойства
| Свойство | Объяснение | Тип данных |
|---|---|---|
|
editorTrackingEnabled (Только для чтения) |
True, если отслеживание изменений в наборе данных включено. |
Boolean |
|
creatorFieldName (Только для чтения) |
Имя поля, которое содержит имя пользователя, создавшего объект, строку или растр. |
String |
|
createdAtFieldName (Только для чтения) |
Имя поля, которое содержит дату и время создания объекта, строки или растра. |
String |
|
editorFieldName (Только для чтения) |
Имя поля, которое содержит имя последнего пользователя, редактировавшего объект, строку или растр. |
String |
|
editedAtFieldName (Только для чтения) |
Имя поля, которое содержит дату и время последнего редактирования объекта, строки или растра. |
String |
|
isTimeInUTC (Только для чтения) |
True, если время в полях CreatedAt и EditedAt хранится в UTC (Всемирное координированное время). False, если это время базы данных. |
Boolean |
Пример кода
Пример свойства набора данных с отслеживанием редактирования
Следующий автономный скрипт показывает количество объектов в классе, которые редактировались последними каждым из пользователей:
import arcpy
# Create a Describe object from the feature class
gdb_fc = "C:/data/ParcelBase.gdb/parcels_enabled"
desc = arcpy.Describe(gdb_fc)
# If the feature class has editor tracking enabled, then
# list how many features were last edited by each user.
if desc.editorTrackingEnabled:
# Get the editorFieldName from the describe object
whoField = desc.editorFieldName
# Use a cursor to search through all the features
userDictionary = {}
cur = arcpy.da.SearchCursor(gdb_fc, [whoField])
for row in cur:
featureEditedBy = row[0]
if featureEditedBy in userDictionary:
userDictionary[featureEditedBy] += 1
else:
userDictionary[featureEditedBy] = 1
# Print the results
for user in list(userDictionary.keys()):
if user == None:
print('Last edited before editor tracking was enabled: '+ \
str(userDictionary[user]))
else:
print("Last edited by " + user + ": " + str(userDictionary[user]))
else:
print('Editor tracking not enabled for '+gdb_fc)