Resumen
The Describe function returns the following properties for datasets that have Editor Tracking enabled.
Editor Tracking can be enabled for a FeatureClass, Table, Mosaic Dataset, or Raster Catalog. Editor Tracking Properties are only supported by geodatabase data types. The dataType returned is the dataType of the Feature Class, Table, Mosaic Dataset, or Raster Catalog.
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 user name of the person 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 user name of the person 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 |
Muestra 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 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)