Editor Tracking Dataset properties (arcpy)

Resumen

The Describe function returns the following properties for Editor Tracking Datasets.

Propiedades

PropiedadExplicaciónTipo de datos
editorTrackingEnabled
(Sólo lectura)

True if editor tracking is enabled for the dataset.

Boolean
creatorFieldName
(Sólo lectura)

The name of the field that contains the account name of the user who created a feature, row, or raster.

String
createdAtFieldName
(Sólo lectura)

The name of the field that contains the date and time a feature, row, or raster was created.

String
editorFieldName
(Sólo lectura)

The name of the field that contains the account name of the user who most recently edited a feature, row, or raster.

String
editedAtFieldName
(Sólo lectura)

The name of the field that contains the date and time a feature, row, or raster was most recently edited.

String
isTimeInUTC
(Sólo lectura)

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

Ejemplo de código

Editor Tracking Dataset properties example (stand-alone script)

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
9/11/2013