编辑器追踪数据集属性 (arcpy)
摘要
Describe 函数可返回以下编辑器追踪数据集属性。
属性
| 属性 | 说明 | 数据类型 | 
| editorTrackingEnabled (只读) | True if editor tracking is enabled for the dataset. | Boolean | 
| creatorFieldName (只读) | The name of the field that contains the account name of the user who created a feature, row, or raster. | String | 
| createdAtFieldName (只读) | The name of the field that contains the date and time a feature, row, or raster was created. | String | 
| editorFieldName (只读) | The name of the field that contains the account name of the user who most recently edited a feature, row, or raster. | String | 
| editedAtFieldName (只读) | The name of the field that contains the date and time a feature, row, or raster was most recently edited. | String | 
| isTimeInUTC (只读) | True if times stored in the CreatedAt field and EditedAt field are stored in UTC (Coordinated Universal Time). False if they are stored in database time. | Boolean | 
代码实例
The following stand-alone script displays how many features in a feature class were most recently edited by each user.
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