Editor Tracking Dataset properties (arcpy)
Resumen
The Describe function returns the following properties for Editor Tracking Datasets.
Propiedades
Propiedad | Explicación | Tipo 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
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