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

Краткая информация

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

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

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

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

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

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

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

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

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

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

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

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

Параметры

ПодписьОписаниеТип данных
Входной набор данных

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

Dataset; Topology; Network Dataset
Поле создателя:
(Дополнительный)

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

String
Поле даты создания
(Дополнительный)

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

String
Поле последнего редактора
(Дополнительный)

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

String
Поле даты последнего изменения
(Дополнительный)

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

String
Добавить поля
(Дополнительный)

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

  • Не отмечено — поля не добавляются. Заданные поля должны быть уже созданы в значении параметра Входной набор данных. Это значение по умолчанию
  • Отмечено — поля будут добавлены, если они еще не существуют. Вам нужно задать имена добавляемых полей для параметров Создатель, Дата создания, Последний редактор и Дата последнего изменения.
Boolean
Записывать даты в:
(Дополнительный)

Определяет формат времени, в котором будут записаны дата создания и дата последнего изменения.

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

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

ПодписьОписаниеТип данных
Измененный входной набор данных

Измененный входной набор данных.

Dataset

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; Topology; Network Dataset
creator_field
(Дополнительный)

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

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

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

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

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

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

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

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

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

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

Определяет формат времени, в котором будут записаны дата создания и дата последнего изменения.

  • UTCДаты будут храниться в формате UTC. Это значение по умолчанию
  • DATABASE_TIMEДаты будут храниться в часовом поясе, в котором находится база данных.
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')

Параметры среды

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