編集情報の記録の概要

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

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

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

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

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

リレーションシップ クラスのタイプによっては、編集情報の記録がサポートされません。 編集情報の記録は、多対多や、属性付き 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 ワークスペース ドキュメントをインポートする

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

ユーザー名の記録方法

フィーチャを作成または編集したユーザーの名前は、作成者フィールドと編集者フィールドに記録されます。 ファイル、モバイル、またはエンタープライズ ジオデータベースにアクセスするために使用されるユーザーと認証方法によってこれが決定されます。

次の認証方法を確認してください。

  • オペレーティング システムの認証 - ArcGIS Pro クライアントを使用して編集したファイルおよびモバイル ジオデータベース、オペレーティング システム認証を使用して接続しているエンタープライズ ジオデータベースの場合、オペレーティング システムにサイン インするのに使用されたログイン名に基づいてユーザー名が記録されます。
  • データベース認証 - エンタープライズ ジオデータベースの場合、データベースに保存されている有効なデータベース ユーザー名に基づいてユーザー名が記録され、この名前がジオデータベースへの接続に使用されます。 この方法では、別の認証情報を入力することで、別のデータベース ユーザーとして接続できます。

    データベース認証を使用すると、Emily としてユーザーがサイン インした場合、Emily がユーザー名として記録されます。 翌日にこのユーザーが別の有効なデータベース ユーザーである GIS を使用してログインした場合、GIS がユーザー名として記録されます。

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

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

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

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

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

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

編集情報の記録が有効になっている状態でフィーチャ サービスとして Web 経由でデータを共有した場合にユーザー名が記録される仕組みの詳細

レルム

データがエンタープライズ ジオデータベースに格納されており、データベース認証を使用した場合、編集を行うユーザーの名前にレルム (@esri.com など) を追加できます。 たとえば、Denver オフィスに JohnSeattle オフィスに 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)] ジオプロセシング ツールを使用します。 すべての編集が同じタイム ゾーンで実行されることが確実な場合のみ、データベースのタイム ゾーンを使用してください。

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