Свойства набора данных отслеживания редактора (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
9/10/2013