編集情報の記録を有効化 (Enable Editor Tracking) (データ管理)

概要

ジオデータベース内のフィーチャクラス、テーブル、フィーチャ データセット、またはリレーションシップ クラスに対して編集情報の記録を有効化します。

使用法

  • 入力データセットをエンタープライズ データセットから取得する場合、データの所有者として確立されたデータベース接続から取得する必要があります。

  • 存在していないフィールドは、このツールによって追加できます。フィールドがすでに存在している場合は、正しいデータ タイプである必要があります。[作成者フィールド][最終編集者フィールド] は文字列フィールドであり、[作成日フィールド][最終編集日フィールド] は日付フィールドである必要があります。

  • 編集情報の記録は、既存のデータセットに対する操作にのみ適用されます。データセットを作成する操作には適用されません。たとえば、データセットをコピーして新しいデータセットを作成する場合、新しいデータセットでは記録した値が更新されません。

  • 編集の日付は、データベースのタイム ゾーンまたは UTC (協定世界時) のいずれかで記録できます。

    複数のタイム ゾーンの間でデータのコピーと複製を計画している場合、またはフィーチャ サービスを通して編集することを計画している場合は、UTC を使用します。編集者は世界のどこからでも編集を適用できるため、この場合は UTC が適しています。UTC は、一般的に利用されている矛盾のない方式で時間が記録されることを保証します。

    データベースのタイム ゾーンを使用するように編集情報の記録を構成することは、すべての編集が同じタイム ゾーン内で実行されることが明らかである場合にのみ推奨されます。

  • このツールは、すでに編集情報の記録が有効なデータセットに対して実行できますが、有効にできるのは追加情報の記録だけです。たとえば、データセットが作成者と作成日だけを記録している場合、このツールを実行して、最終編集者と最終編集日の記録を追加できます。このツールは、フィールドの記録の無効化、記録対象のフィールドの切り替え、UTC とデータベース時刻の切り替えはできません。これらの操作を実行する必要がある場合、このツールを実行する前に、入力データセットの編集情報の記録を無効化してください。

  • リレーションシップ クラスのすべてのタイプで編集情報の記録を有効化できるわけではありません。編集情報の記録は、テーブルベースのリレーションシップ クラス (つまり多対多または属性付きリレーションシップ クラス) でのみ有効化できます。

  • ArcGIS Pro 2.4 では、このツールへの入力としてフィーチャ データセットがサポートされています。フィーチャ データセットの各アイテムに新しいフィールドを追加する場合、フィールドにはデフォルトで created_usercreated_datelast_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})
パラメーター説明データ タイプ
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_fieldcreation_date_fieldlast_editor_field、および last_edit_date_field パラメーターに指定する必要があります。
Boolean
record_dates_in
(オプション)

作成日と最終編集日を記録する日付形式。デフォルトは UTC です。

  • UTCUTC で日付が記録されます。これがデフォルトです。
  • DATABASE_TIMEデータベースが配置されているタイム ゾーンで日付が記録されます。
String

派生した出力

名前説明データ タイプ
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')

環境

このツールは、ジオプロセシング環境を使用しません。

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック