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

サマリー

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

使用法

    注意:

    このツールを実行すると、入力データが変更されます。 詳細と不要なデータの変更を回避するための方法については、「入力データを変更または更新するツール」をご参照ください。

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

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

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

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

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

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

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

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

  • アタッチメントを含むフィーチャクラスに対して編集の記録が有効化されている場合は、アタッチメント テーブルに対しても編集の記録が有効化されます。 新しいフィールドを追加すると、それらのフィールドはアタッチメント テーブルにも追加されます。 既存のフィールドを再利用するときに、それらのフィールドがアタッチメント テーブルに存在しない場合は追加されます。

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

作成日と最終編集日を記録する日付形式を指定します。

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

派生した出力

名前説明データ タイプ
out_dataset

変更された入力データセット。

Dataset

コードのサンプル

EnableEditorTracking の例 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで EnableEditorTracking 関数を使用する方法を示しています。

import arcpy
arcpy.management.EnableEditorTracking("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 feature classes
# 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()

# Run the EnableEditorTracking tool for each dataset
for dataset in dataList:
    print(f'Enabling tracking on {dataset}')
    arcpy.management.EnableEditorTracking(dataset, "ET_CREATOR",
        "ET_CREATED", "ET_EDITOR", "ET_EDITED", "ADD_FIELDS", "UTC")
print('Enabling complete')

環境

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

関連トピック