Включить отслеживание изменений (Управление данными)

Сводка

Включает отслеживание редактирования для класса пространственных объектов, таблицы, набора классов объектов или класса отношений в базе геоданных.

Использование

  • Если входной набор данных берется из подключения к многопользовательской базе геоданных, он должен браться из подключения к базе данных, установленного от имени владельца этих данных.

  • Этот инструмент добавляет поля, если они еще не существуют. Если поля существуют, они должны иметь корректный тип данных. Поле создателя и Поле последнего редактора должны быть строчными, а Поле даты создания и Поле даты последнего изменения – полями дат.

  • Отслеживание изменений применяется к операциям только с существующими наборами данных. Оно не применяется к операциям, которые создают новые наборы данных. Например, если набор данных копируется и вставляется для создания нового набора данных, значения отслеживания в новом наборе данных не обновляются.

  • Даты редактирования можно записывать в часовых поясах базы данных или в формате UTC.

    Если вы планируете копировать или реплицировать данные между разными часовым поясами, или редактировать при помощи сервиса объектов, используйте UTC. Поскольку редакторы могут использовать изменения, осуществленные в любой точке мира, формат UTC обеспечивает запись времени универсально принятым и последовательным методом.

    Настройка отслеживания изменений для использования часового пояса базы данных рекомендуется только в том случае, если редактирование происходит в одном часовом поясе.

  • Можно использовать этот инструмент для набора данных, для которого уже включено отслеживание изменений, но только для включения отслеживания дополнительной информации. Например, если набор данных отслеживает только автора и дату создания, можно запустить этот инструмент для добавления функции отслеживания изменений редактора и даты последних изменений. Этот инструмент не используется для отключения отслеживания поля, переход к отслеживанию другого поля или переключение времени в формате UTC на время базы данных. Для выполнения вышеуказанных операций необходимо отключить отслеживание изменений для набора входных данных до запуска этого инструмента.

  • Не для всех типов классов отношений можно включить отслеживание изменений. Отслеживание изменений можно активировать только для классов отношений с таблицами (то есть много-ко-многим).

  • В ArcGIS Pro 2.4 инструмент поддерживает в качестве входных данных наборы классов объектов. Если вы добавляете новые поля для каждого элемента в набор классов объектов, то эти поля будут по умолчанию иметь имена created_user, created_date, last_edited_user и last_edited_date. Если вы используете имеющиеся поля, они должны существовать во всех элементах набора.

Синтаксис

arcpy.management.EnableEditorTracking(in_dataset, {creator_field}, {creation_date_field}, {last_editor_field}, {last_edit_date_field}, {add_fields}, {record_dates_in})
ParameterОбъяснениеТип данных
in_dataset

Класс пространственных объектов, таблица, набор классов объектов или класс отношений, для которых необходимо включить отслеживание изменений.

Dataset; Topology; Network Dataset
creator_field
(Дополнительный)

Имя поля, в котором будут храниться имена пользователей, создавших объекты или записи. Если это поле уже существует, оно должно быть строковым полем.

String
creation_date_field
(Дополнительный)

Имя поля, в котором будут храниться даты создания объектов или записей. Если это поле уже существует, оно должно быть полем даты.

String
last_editor_field
(Дополнительный)

Имя поля, в котором хранятся имена последних пользователей, которые редактировали объекты или записи. Если это поле уже существует, оно должно быть строковым полем.

String
last_edit_date_field
(Дополнительный)

Имя поля, в котором хранятся даты последнего редактирования объектов или записей. Если это поле уже существует, оно должно быть полем даты.

String
add_fields
(Дополнительный)

Указывает, следует ли добавить поля, если они еще не существуют.

  • NO_ADD_FIELDSПоля не добавляются. Заданные поля уже должны быть созданы. Это значение по умолчанию.
  • ADD_FIELDSЕсли поля еще не существуют, они будут добавлены. Вам нужно задать названия добавляемых полей для параметров creator_field, creation_date_field, last_editor_field и last_edit_date_field.
Boolean
record_dates_in
(Дополнительный)

Формат времени, и дата последнего по времени изменения. По умолчанию – UTC.

  • UTCДаты будут храниться в формате UTC. Это значение по умолчанию.
  • DATABASE_TIMEДаты будут храниться в часовом поясе, в котором находится база данных.
String

Производные выходные данные

NameОбъяснениеТип данных
out_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')

Environments

Этот инструмент не использует параметры среды геообработки

Информация о лицензиях

  • Basic: Да
  • Standard: Да
  • Advanced: Да

Связанные разделы