Свойства набора данных отслеживания редактора (arcpy)
Резюме
Функция Describe возвращает следующие свойства наборов отслеживания редактора.
Свойства
Свойство | Объяснение | Тип данных |
editorTrackingEnabled (только чтение) |
Верно, если отслеживание редактора включено для выбранного набора данных. | Boolean |
creatorFieldName (только чтение) | Имя поля, содержащее имя учетной записи пользователя, создавшего объект, строку или растр. | String |
createdAtFieldName (только чтение) | Имя поля, содержащее дату и время создания объекта, строки или растра. | String |
editorFieldName (только чтение) | Имя поля, содержащее имя учетной записи пользователя, который последним редактировал объект, строку или растр. | String |
editedAtFieldName (только чтение) |
Имя поля, содержащее дату и время последнего редактирования объекта, строки или растра. | String |
isTimeInUTC (только чтение) |
Верно, если время в полях CreatedAt и EditedAt хранится в формате UTC (универсальное мировое время). Неверно, если оно хранится в формате времени базы данных. | 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 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