編集情報の記録の概要

編集情報の記録では、フィーチャクラスおよびテーブルに設定を指定します。これにより、行われた挿入および更新の情報が自動的に記録できます。データおよび編集が発生したタイム スタンプを作成または変更した編集者の記録が維持されます。多くの組織では、編集情報の記録は、信頼性と透明性を維持し、品質管理標準を適用する際に役立つとされています。

編集情報の記録では、データベース内で行われた編集の責任者は誰か、などといった質問に答えることができます。フィーチャクラスまたはテーブルで編集情報の記録をオンにすると、次の情報が自動的に追跡されます。

  • フィーチャの作成者
  • フィーチャの作成日時
  • フィーチャの最終編集ユーザー
  • フィーチャの最終編集日時
ジオデータベースの現在のビュー内の特定の編集に対する責任ユーザーのリスト

次のデータ タイプの編集情報の記録を、ファイルまたはエンタープライズ ジオデータベース内で有効化できます。

  • テーブル
  • フィーチャクラス
  • アノテーション クラス
  • ディメンション クラス
  • フィーチャ データセット
  • 属性リレーションシップ クラス
メモ:

リレーションシップ クラスのタイプによっては、編集情報の記録がサポートされません。編集情報の記録は、多対多や、属性付き 1:1 または 1:M リレーションシップ クラスなどのテーブルベースのリレーションシップ クラスでのみ有効化できます。

編集情報の記録の仕組み

ファイルまたはエンタープライズ ジオデータベース内のデータセットで ArcGIS Pro の編集情報の記録が有効になると、属性テーブルが更新され、編集情報を追跡するために指定されたフィールドが追加されます。フィーチャを作成するときに、編集情報の記録により、フィーチャを作成したユーザーの名前と作成日時が記録されます。既存のフィーチャが更新されるときに、編集を行ったユーザーの名前と編集が行われた日時が追跡されます。

デフォルトの設定を使用して編集情報の記録を有効にする場合、次の 4 つのフィールド名とフィールド データ タイプが自動的に追加されます。

  • created_user (Text)
  • created_date (Date)
  • last_edited_user (Text)
  • last_edited_date (Date)

フィーチャ レイヤーとして公開されたデータへの編集を追跡するには、フィーチャ サービス内の一部またはすべてのレイヤーの編集情報の記録を有効化します。有効にすると、フィーチャ サービスを通じてデータに行われた編集は、ArcGIS Pro の場合と同様に追跡されます。

ArcGIS Runtime SDK での編集について

値が記録されるタイミング

編集情報の記録を有効にすると、フィーチャまたはレコードが挿入されるか何らかの方法で変更された場合に、ArcGIS は新しい編集情報の記録値を記録します。この変更には、ユーザー定義の属性列、ユーザー定義以外のシステム列、およびフィーチャ ジオメトリを格納する Shape 列に対する変更が含まれます。

メモ:

編集情報の記録が有効にされたときに存在していたフィーチャは、指定された編集情報の記録フィールドに <NULL> 値を表示します。データを作成したユーザーおよびフィーチャが最初に作成された日付を追跡するフィールドは、<NULL> のままになります。

内部での自動データ更新を含む、ほとんどの操作で編集記録の値が記録されます。たとえば、シンプル リレーションシップの関連元を削除すると、関連先フィーチャの外部キー列が自動的に更新され、関連フィーチャの新しい編集記録の値が記録されます。

編集情報の記録は、既存のデータセットの操作のみに適用され、データセットを作成する操作には適用されません。さらに、スキーマが変更される操作でも、列の値を変更しない場合は、新しい編集記録の値が記録されません。

たとえば、次の操作のいずれを実行しても、編集情報の記録の値は更新されません。

  • 列の値を修正しないスキーマの変更
  • フィールドを追加または削除する
  • フィーチャクラスをコピーして貼り付ける
  • バージョン対応データによるリコンサイルおよびポスト処理
  • データ抽出ツールでデータをコピーする
  • ラベルからアノテーションに変換する
  • XML ワークスペース ドキュメントをインポートする

必要に応じて、履歴管理機能を使用してデータセットの完全な編集履歴を記録しこれにアクセスできます。

ユーザー名の記録方法

ユーザー名は、ファイルまたはエンタープライズ ジオデータベースにサイン インおよびアクセスする際に使用される次の 2 つの認証方法に基づいて記録されます。

  • オペレーティング システム認証 - オペレーティング システム認証によって接続した ArcGIS Pro クライアントおよびエンタープライズ ジオデータベースで編集されたファイル ジオデータベース。書き込まれるユーザー名はオペレーティング システム ログインです。
  • データベース認証 - エンタープライズ ジオデータベースへの接続に使用されるデータベース アカウントによって確立されたユーザー名が記録されます。

たとえば、編集情報の記録が「Schools」という名前のフィーチャクラスで有効になっているとします。編集情報の記録フィールドは、以下の画像で黄色にハイライト表示されています。

「Schools」という名前のフィーチャクラスで事前定義された設定を使用して編集情報の記録が有効にされると、4 つのフィールドが追加されます。

編集情報の記録は、ユーザー「EEVANS」が「Highgrove Ridge High School」という名前の新しい学校を追加した日時を記録しました。

新しいフィーチャが追加されたときに編集情報の記録フィールドに記録された情報

その日のその後、別のユーザー「BHARDIN」が現在の学年の入学者数を更新しました。編集情報の記録は、「BHARDIN」をこのデータの最終編集ユーザーとして記録し、編集が行われた日時を記録しました。

既存のフィーチャが更新されたときに編集情報の記録フィールドに記録された情報

レルム

データがエンタープライズ ジオデータベースに格納されており、データベース認証を使用した場合、編集を行うユーザーの名前にレルム (@esri.com など) を追加できます。たとえば、デンバー オフィスとシアトル オフィスに同じ名前のユーザー John がいる場合、それぞれの編集作業を John@denver および John@seattle として記録すれば、どちらの John が編集したのかわかります。

エンタープライズ ジオデータベースでレルムを設定するには、ジオデータベースの管理者権限が必要です。[カタログ] ウィンドウで、対象ジオデータベースへの接続を右クリックし、[プロパティ] を選択して [編集情報の記録] タブをクリックします。ここで、デフォルトのレルムを使用するか、独自の修飾子を適用するかを選択できます。フィーチャ サービスでの編集内容にレルムを追加することもできます。

[データベース プロパティ] の [編集情報の記録のレルム] オプション

メモ:

レルムを使用すると、フィーチャ サービスを通じて行われた編集をジオデータベース内のデータに直接行った編集と区別することができます。詳細については、「フィーチャ サービスの編集情報の記録」をご参照ください。

時刻の記録方法

編集情報の記録を有効にした場合、日時の記録方法として、[UTC][データベース時間] の 2 つのオプションがあります。

  • UTC (Coordinated Universal Time) がデフォルトの設定として推奨されます。UTC は、ブランチ バージョン対応として登録されるデータセットまたは編集情報の記録を有効化してサービス経由で共有されるデータでは必須です。ワークフローのデータがタイム ゾーン間で分散している場合に UTC を使用するのが最適です。
  • データベース時間は、データベースが存在するローカルのタイム ゾーンに基づいており、データが同じタイム ゾーンに限られている場合にのみ使用すべきです。
メモ:

編集情報の記録が有効の場合に既存のデータ フィールドが選択されると、このフィールドに入力されている日時は、指定した編集情報の記録の時間標準と照合されます。

リコンサイルとポスト動作

バージョン対応データが編集されるとき、記録される日時の値は、リコンサイルが発生したときではなく、編集が行われたときになります。たとえば、ある編集者が変更を行っており、それをリコンサイルしてデフォルト バージョンに適用したのが次の日であるとします。この場合、デフォルト バージョンの行の最終編集日は、編集者が変更を行った日になります。

競合解決ポリシーにより、競合のあるバージョンがリコンサイルされるときに、編集済みバージョンの編集情報の記録フィールドに行われる更新が決定します。編集情報を記録するフィールドが異なるだけでは競合が発生しません。競合がない場合、編集情報の記録フィールドの値は、他のフィールドの値と同じように編集バージョンに適用されます。

編集情報の記録のプロパティ

[編集情報の記録] タブは、[カタログ] ウィンドウのテーブルまたはフィーチャクラス プロパティからアクセスし、編集情報の記録のプロパティを表示できます。また、デフォルトまたはカスタムのフィールド名値を使用して、編集情報の記録を有効化できます。編集情報の記録を有効にすると、指定したフィールドが存在しない場合にそれらのフィールドが自動的に作成されます。フィールドがすでに存在している場合は、正しい ArcGIS フィールド データ タイプである必要があります。

フィーチャクラス プロパティの [編集情報の記録] タブ

[編集情報の記録] タブでは、次の設定ができます。

  • [編集情報の記録を有効化] 切り替えボタンを使用して、編集情報の記録の有効/無効を切り替えます。
  • 新しいフィーチャまたはレコードを作成するときに更新するフィールドを選択します。
    • [作成者フィールド] - このフィールドのデフォルト値は、created_user であり、フィーチャまたはレコードを作成したユーザーの名前を格納します。

      [作成日フィールド] - このフィールドのデフォルト値は、created_date であり、フィーチャまたはレコードが作成された日時を格納します。

  • フィーチャまたはレコードを編集したときに更新するフィールドを選択します。
    • [編集者フィールド] - このフィールドのデフォルト値は、last_edited_user であり、新しいフィーチャまたはレコードを最終編集したユーザーの名前を格納します。

      [編集日フィールド] - このフィールドのデフォルト値は、last_edited_date であり、フィーチャまたはレコードが最終編集された日付を格納します。

  • 時間標準を選択します。
    • [UTC (推奨)] - 事前定義された設定を使用して、データセットの編集情報の記録を有効化すると、フィーチャまたはレコードが作成または更新されたときに記録される日時は、デフォルトで UTC による記録に設定されます。

      [データベース時間] - データベース時間で時間を記録するように編集情報の記録を有効化するには、データセットの [プロパティ] ダイアログ ボックスまたは [編集情報の記録を有効化 (Enable Editor Tracking)] ジオプロセシング ツールを使用します。すべての編集が同じタイム ゾーンで実行されることが確実な場合のみ、データベースのタイム ゾーンを使用してください。

編集情報の記録の有効化/無効化に使用できる方法の詳細については、「編集情報の記録を有効化」をご参照ください。