编辑者追踪属性

摘要

Describe 函数将为已启用编辑者追踪的数据集返回以下属性。

要素类镶嵌数据集栅格目录属性组可以支持编辑者追踪。 仅地理数据库数据类型支持编辑者追踪属性。 返回的 dataType 是要素类、表、镶嵌数据集或栅格目录的 dataType

属性

属性说明数据类型
editorTrackingEnabled
(只读)

如果数据集启用编辑者追踪,则返回 true。

Boolean
creatorFieldName
(只读)

包含创建要素、行或栅格的人员的用户名的字段名称。

String
createdAtFieldName
(只读)

包含创建要素、行或栅格的日期和时间的字段名称。

String
editorFieldName
(只读)

包含最近编辑要素、行或栅格的人员的用户名的字段名称。

String
editedAtFieldName
(只读)

包含最近编辑要素、行或栅格的日期和时间的字段名称。

String
isTimeInUTC
(只读)

如果 CreatedAt 字段和 EditedAt 字段中存储的时间以 UTC(协调世界时间)存储,则返回 true。 如果以数据库时间存储,则返回 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)

在本主题中