描述
用于在地理数据库中对要素类、表、镶嵌数据集或栅格目录启用编辑者追踪。
使用方法
如果输入数据集来自企业级地理数据库,则其必须来自作为数据所有者建立的数据库连接。
如果字段不存在,此工具可添加字段。 如果存在字段,它们必须是正确的数据类型。 为创建者字段和上次编辑者字段参数指定的值必须是字符串字段,为创建日期字段和上次编辑日期字段参数指定的值必须是日期字段。
编辑者追踪仅适用于对现有数据集的操作。 它不适用于创建数据集的操作。 例如,如果复制数据集以创建新的数据集,追踪值不会在新的数据集中进行更新。
您可以在数据库所在的时区或协调世界时间 (UTC) 中记录编辑日期。
如果数据的复制是要跨时区的,或需要通过要素服务进行编辑,请使用 UTC。 由于编辑者可能会在世界上任何地方应用编辑,所以 UTC 比较适合,因为它确保了以一种普遍接受且一致的方式记录时间。
仅当您确定所有编辑都将在该时区中执行时,才建议将编辑者跟踪配置为使用数据库所在的时区。
可在启用了编辑者追踪功能的数据集中运行此工具,但仅限于启用对附加信息的追踪。 例如,如果数据集仅追踪创建者和创建日期,便可运行此工具添加编辑者的追踪和最后一次编辑日期。 此工具不能对字段禁用追踪,不能将追踪从一个字段切换到另一个字段,也不能在 UTC 和数据库时区之间进行切换。 如果要执行上述任一操作,则需要在运行此工具前禁用编辑者对数据集的追踪。
通过在 ModelBuilder 中使用此工具,您可以同时对地理数据库中的若干个或所有数据集启用编辑者追踪功能。 目录窗口允许您对多个数据集同时启用追踪功能。 有关详细信息,请参阅对多个数据集启用编辑者追踪。
语法
arcpy.management.EnableEditorTracking(in_dataset, {creator_field}, {creation_date_field}, {last_editor_field}, {last_edit_date_field}, {add_fields}, {record_dates_in})
参数 | 说明 | 数据类型 |
in_dataset | 将启用编辑者追踪的要素类、表、镶嵌数据集或栅格目录。 | Dataset |
creator_field (可选) | 字段的名称,该字段将存储创建要素或记录的用户的名称。 如果此字段已存在,它必须为字符串型的字段。 | String |
creation_date_field (可选) | 字段的名称,该字段将存储创建要素或记录的日期。 如果此字段已存在,它必须为日期型的字段。 | String |
last_editor_field (可选) | 字段的名称,该字段将存储上次编辑要素或记录的用户的名称。 如果此字段已存在,它必须为字符串型的字段。 | String |
last_edit_date_field (可选) | 字段的名称,该字段将存储上次编辑要素或记录的日期。 如果此字段已存在,它必须为日期型的字段。 | String |
add_fields (可选) | 指定如果字段不存在是否添加字段。
| Boolean |
record_dates_in (可选) | 指定记录创建日期和最后一次编辑日期采取的时间格式。
| String |
派生输出
名称 | 说明 | 数据类型 |
out_dataset | 已修改的输入数据集。 | Dataset |
代码示例
EnableEditorTracking 示例(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 EnableEditorTracking 函数。
import arcpy
arcpy.EnableEditorTracking_management("d:/RC.gdb/Buildings","Creator","Created","Editor","Edited","ADD_FIELDS","UTC")
EnableEditorTracking 示例 2(独立脚本)
以下独立脚本演示了如何在地理数据库中启用对所有要素类的编辑者追踪。
# Name: EnableEditorTracking_Ex02.py
# Description: Enables editor tracking for all datasets in a geodatabase
# Import system modules
import arcpy
import os
# Set the workspace
workspace = arcpy.GetParameterAsText(0)
# Set the workspace environment
arcpy.env.workspace = "d:/test/data.gdb"
# Get all the stand alone tables and feature classes
dataList = arcpy.ListTables() + arcpy.ListFeatureClasses()
# For feature datasets get all of the featureclasses
# from the list and add them to the master list
for dataset in arcpy.ListDatasets("", "Feature"):
arcpy.env.workspace = os.path.join(workspace,dataset)
dataList += arcpy.ListFeatureClasses()
# Execute enable editor tracking
for dataset in dataList:
print('Enabling tracking on ' + dataset)
arcpy.EnableEditorTracking_management(dataset, "ET_CREATOR",
"ET_CREATED", "ET_EDITOR", "ET_EDITED", "ADD_FIELDS", "UTC")
print('Enabling complete')
环境
此工具不使用任何地理处理环境。
许可信息
- Basic: 是
- Standard: 是
- Advanced: 是