レプリカの作成 (Create Replica) (データ管理)

サマリー

エンタープライズ ジオデータベース内の指定されたフィーチャクラス、レイヤー、データセット、およびテーブルのリストから、ジオデータベースにレプリカを作成します。

使用法

  • すべてのデータセットのソースは同一のエンタープライズ ジオデータベースでなければなりません。

  • 複製するデータはトラディショナル バージョン対応登録する必要がありますが、ベース テーブル移行オプションを使用することはできません。

  • 接続されたデータベース ユーザーには、データへの書き込みアクセス権が必要です。

  • 双方向レプリカと、両方のタイプの一方向レプリカの場合は、すべてのデータセットに GlobalID 列が必要です。

  • チェックアウト レプリカと一方向レプリカの場合、子レプリカ ジオデータベースはエンタープライズまたはファイル ジオデータベースのいずれかとなります。

  • 双方向および子から親への一方向レプリカの場合、子ジオデータベースはエンタープライズ ジオデータベースでなければなりません。

  • 一方向レプリカで履歴管理を使用するには、親ワークスペースがデフォルト バージョンに接続されていなければなりません。 子から親への一方向レプリカの場合、子ワークスペースがデフォルト バージョンに接続されていなければなりません。

  • データセットのすべてのデータを複製するか、データのサブセットを複製することができます。 複製するデータのサブセットは、次の方法で指定できます。

    • データにフィルター設定を使用する。
    • ジオプロセシングの [範囲] 環境設定を使用して範囲を指定する。
    • このツールの [レプリカ ジオメトリ フィーチャ] パラメーターを使用する。

  • テーブルの場合、デフォルトのフィルターは [スキーマのみ] であり、そのテーブルのスキーマだけがレプリカに含まれます。 フィルターをテーブルに適用するには、必要なフィルターを使用してテーブル ビューを最初に作成します。 次にこのビューを [レプリカの作成 (Create Replica)] ツールへの入力として使用します。 詳細については、「テーブル ビューの作成 (Make Table View)」をご参照ください。 フィルターとレプリケーションの詳細については、「レプリケーションのためのデータの準備」をご参照ください。

  • [レプリカ ジオメトリ フィーチャ] パラメーターか [範囲] 環境設定を使用してレプリカ ジオメトリを指定できます。

    • [レプリカ ジオメトリ フィーチャ] パラメーターに値が指定されている場合、これがレプリカ ジオメトリとして使用されます。
    • [レプリカ ジオメトリ フィーチャ] パラメーターに値が指定されていない場合は、範囲環境設定がレプリカ ジオメトリとして使用されます。
    • [レプリカ ジオメトリ フィーチャ] パラメーター値と範囲環境設定のどちらも指定しない場合は、データの全範囲が使用されます。

  • レプリカ ジオメトリ フィーチャとして、ポイント、ライン、またはポリゴンを指定できます。

  • レプリカ ジオメトリ フィーチャに使用されるフィーチャ レイヤーには、1 つ以上のフィーチャを含めることができます。 複数のフィーチャがある場合は、ジオメトリがマージされ、マージされたジオメトリと交差するデータだけが複製されます。

  • フィルター (選択、定義クエリなど) がレプリカ ジオメトリ フィーチャに指定されている場合は、それらのフィルター条件を満たすフィーチャだけがレプリカ ジオメトリの定義に使用されます。 詳細については、「レプリケーションのためのデータの準備」をご参照ください。

  • [スキーマの再使用] パラメーター オプションは、チェックアウト レプリカの場合にのみ使用できます。

パラメーター

ラベル説明データ タイプ
レプリカ データセット

複製されるデータ。 このリストは、エンタープライズ ジオデータベースの編集可能なバージョン対応登録されたデータを参照しているレイヤーおよびテーブルから構成されます。

Table View; Dataset
レプリカ タイプ

作成するレプリカのタイプを指定します。

  • 双方向レプリカ子レプリカと親レプリカの間で、両方向に変更データが送信されます。
  • 一方向レプリカ親レプリカから子レプリカへの方向にのみ変更データが送信されます。
  • チェックアウト レプリカデータの複製、編集、およびチェックインは 1 度だけ実行されます。
  • 一方向 (子から親へ) レプリカ子レプリカから親レプリカへの方向にのみ変更データが送信されます。
String
複製したデータを格納するジオデータベース
(オプション)

子レプリカをホストするジオデータベース。 ジオデータ サービスはリモート ジオデータベースを表すために使用されます。 ジオデータベースは、エンタープライズかファイル ジオデータベースのどちらかになります。 双方向および子から親への一方向レプリカの場合、子ジオデータベースはエンタープライズ ジオデータベースでなければなりません。 一方向レプリカおよびチェックアウト レプリカの場合は、ファイル ジオデータベースかエンタープライズ ジオデータベースのどちらでもかまいません。

[出力タイプ] パラメーターが [ジオデータベース] に設定されている場合、このパラメーターは必須です。

Workspace; GeoDataServer
レプリカ名

レプリカを識別する名前。

String
レプリカ アクセス タイプ
(オプション)

作成するレプリカ アクセスのタイプを指定します。

  • すべてトポロジなどのコンプレックス タイプがサポートされており、データがバージョン対応登録されている必要があります。 これがデフォルトです。
  • シンプル子レプリカのデータはバージョン対応登録されておらず、シンプル タイプである必要があります。 このオプションを指定すると、レプリカの相互運用が可能になります。 親の非シンプル フィーチャ (たとえばトポロジのフィーチャ) は、シンプル フィーチャ (たとえば、ポイント、ライン、ポリゴン フィーチャクラス) に変換されます。
String
初期のデータ送信側
(オプション)

非接続モード時にどちらのレプリカがデータ変更を送信するかを指定します。 接続モードで動作中は、このパラメーターに意味はありません。 このオプションを指定すると、最初のデータ送信を行うレプリカから変更データが最初に受信されるまで、相対レプリカは更新内容を送信することはありません。

  • 子データ送信側初期のデータ送信側は子レプリカです。 これがデフォルトです。
  • 親データ送信側初期のデータ送信側は親レプリカです。
String
拡張フィーチャクラスとテーブル
(オプション)

ネットワーク、トポロジ、またはリレーションシップ クラスに存在するフィーチャクラスやテーブルなど、関連するフィーチャクラスおよびテーブルを追加するかどうかを指定します。

  • デフォルトの使用レプリカ内のフィーチャクラスおよびテーブルに関連するフィーチャクラスおよびテーブルが追加されます。 フィーチャクラスの場合は、デフォルトで空間フィルターを交差するすべてのフィーチャがレプリカに含まれます。 空間フィルターが指定されていないと、すべてのフィーチャが含まれます。 テーブルの場合は、デフォルトでスキーマのみがレプリカに含まれます。 これがデフォルトです。
  • スキーマのみを使用して追加関連するフィーチャクラスおよびテーブルのスキーマのみが追加されます。
  • すべての行関連するフィーチャクラスおよびテーブルのすべての行が追加されます。
  • 追加しない関連するフィーチャクラスまたはテーブルが追加されません。
String
スキーマの再使用
(オプション)

複製するデータのスキーマを含むジオデータベースを再使用するかどうかを指定します。 これにより、データの複製にかかる時間が短縮されます。 このパラメーターはチェックアウト レプリカの場合にのみ使用できます。

  • 再使用しないスキーマは再利用されません。 これがデフォルトです。
  • 再使用スキーマが使用されます。
String
関連データの複製
(オプション)

レプリカに存在する行に関連付けられている行を複製するかどうかを指定します。 たとえば、レプリケーション フィルター内部にフィーチャ (f1) があり、そのフィルター外部にこのフィーチャに関連付けられた別のクラスの関連フィーチャ (f2) があるとします。 この場合、関連データの取得を選択すると、フィーチャ f2 がレプリカに含まれます。

  • 関連しない関連データは複製されません。
  • 関連付ける関連データが複製されます。 これがデフォルトです。
String
レプリカ ジオメトリ フィーチャ
(オプション)

複製するエリアを指定するために使用されるフィーチャ。

Feature Layer
履歴管理を使用して、一方向レプリケーションの変更を追跡する
(オプション)

変更の追跡に、バージョニングの差分テーブルを使用する代わりにアーカイブ クラスを使用するかどうかを指定します。 このオプションは、一方向レプリカでのみ使用できます。

  • 履歴管理変更の追跡にアーカイブが使用されます。
  • 履歴管理を使用しない変更の追跡にアーカイブが使用されません。 これがデフォルトです。
Boolean
既存データのみ登録
(オプション)

子ジオデータベースに存在するデータを使用してレプリカ データセットを登録するかどうかを指定します。 子ジオデータベース内のデータセットは、親データベース内のデータセットと同じ名前である必要があり、子ジオデータベースに接続されたユーザーによって所有される必要があります。

  • オン - 子ジオデータベースの既存データを使用してレプリカを登録します。
  • オフ - 親ジオデータベース内のデータが子ジオデータベースにコピーされます。 これがデフォルトです。

Boolean
出力タイプ
(オプション)

複製されるデータの出力タイプを指定します。

  • ジオデータベースデータが既存のジオデータベースに複製されます。 これがデフォルトです。
  • XML ファイルデータが XML ワークスペース ドキュメントに複製されます。
  • 新しいファイル ジオデータベースツールの実行時に作成される新しいファイル ジオデータベースにデータが複製されます。 [ファイル ジオデータベースの場所] パラメーターに、新しいファイル ジオデータベースの場所と名前を指定します。 このオプションは、一方向レプリカおよびチェックアウト レプリカでのみ使用できます。
String
データの複製先の XML ファイル
(オプション)

作成される .xml ファイルの名前と場所。

[出力タイプ] パラメーターが [XML ファイル] に設定されている場合、このパラメーターは必須です。

File
テーブルのすべてのレコード
(オプション)

フィルターが適用されていないテーブル (選択やフィルター設定など) の子ジオデータベースにすべてのレコードをコピーするか、スキーマのみをコピーするかを指定します。

フィルターが適用されているテーブルが優先されます。

  • オン - フィルターが適用されていないテーブルの場合、すべてのレコードがテーブルの子ジオデータベースにコピーされます。 このオプションは [拡張フィーチャクラスとテーブル] パラメーター値をオーバーライドします。
  • オフ - フィルターが適用されていないテーブルの場合、スキーマのみがテーブルの子ジオデータベースにコピーされます。 フィルターが適用されているテーブルが優先されます。 これがデフォルトです。

Boolean
ファイル ジオデータベースの場所
(オプション)

子レプリカをホストするために作成されるファイル ジオデータベースの場所。 [出力タイプ] パラメーターが [新しいファイル ジオデータベース] に設定され、一方向レプリカおよびチェックアウト レプリカでのみ使用できる場合に、このパラメーターは必須です。

Folder
ファイル ジオデータベース名
(オプション)

子レプリカをホストするために作成されるファイル ジオデータベースの名前。 [出力タイプ] パラメーターが [新しいファイル ジオデータベース] に設定され、一方向レプリカおよびチェックアウト レプリカでのみ使用できる場合に、このパラメーターは必須です。

String

派生した出力

ラベル説明データ タイプ
出力子バージョン ワークスペース

出力子ジオデータベース。

Workspace
出力レプリカ名

出力レプリカの名前。

String

arcpy.management.CreateReplica(in_data, in_type, {out_geodatabase}, out_name, {access_type}, {initial_data_sender}, {expand_feature_classes_and_tables}, {reuse_schema}, {get_related_data}, {geometry_features}, {archiving}, {register_existing_data}, {out_type}, {out_xml}, {all_records_for_tables}, {out_filegdb_folder_path}, {out_filegdb_name})
名前説明データ タイプ
in_data
[in_data,...]

複製されるデータ。 このリストは、エンタープライズ ジオデータベースの編集可能なバージョン対応登録されたデータを参照しているレイヤーおよびテーブルから構成されます。

Table View; Dataset
in_type

作成するレプリカのタイプを指定します。

  • TWO_WAY_REPLICA子レプリカと親レプリカの間で、両方向に変更データが送信されます。
  • ONE_WAY_REPLICA親レプリカから子レプリカへの方向にのみ変更データが送信されます。
  • CHECK_OUTデータの複製、編集、およびチェックインは 1 度だけ実行されます。
  • ONE_WAY_CHILD_TO_PARENT_REPLICA子レプリカから親レプリカへの方向にのみ変更データが送信されます。
String
out_geodatabase
(オプション)

子レプリカをホストするジオデータベース。 ジオデータ サービスはリモート ジオデータベースを表すために使用されます。 ジオデータベースは、エンタープライズかファイル ジオデータベースのどちらかになります。 双方向および子から親への一方向レプリカの場合、子ジオデータベースはエンタープライズ ジオデータベースでなければなりません。 一方向レプリカおよびチェックアウト レプリカの場合は、ファイル ジオデータベースかエンタープライズ ジオデータベースのどちらでもかまいません。

このパラメーターは、out_type パラメーターが GEODATABASE に設定されている場合に必須です。

Workspace; GeoDataServer
out_name

レプリカを識別する名前。

String
access_type
(オプション)

作成するレプリカ アクセスのタイプを指定します。

  • FULLトポロジなどのコンプレックス タイプがサポートされており、データがバージョン対応登録されている必要があります。 これがデフォルトです。
  • SIMPLE子レプリカのデータはバージョン対応登録されておらず、シンプル タイプである必要があります。 このオプションを指定すると、レプリカの相互運用が可能になります。 親の非シンプル フィーチャ (たとえばトポロジのフィーチャ) は、シンプル フィーチャ (たとえば、ポイント、ライン、ポリゴン フィーチャクラス) に変換されます。
String
initial_data_sender
(オプション)

非接続モード時にどちらのレプリカがデータ変更を送信するかを指定します。 接続モードで動作中は、このパラメーターに意味はありません。 このオプションを指定すると、最初のデータ送信を行うレプリカから変更データが最初に受信されるまで、相対レプリカは更新内容を送信することはありません。

  • CHILD_DATA_SENDER初期のデータ送信側は子レプリカです。 これがデフォルトです。
  • PARENT_DATA_SENDER初期のデータ送信側は親レプリカです。
String
expand_feature_classes_and_tables
(オプション)

ネットワーク、トポロジ、またはリレーションシップ クラスに存在するフィーチャクラスやテーブルなど、関連するフィーチャクラスおよびテーブルを追加するかどうかを指定します。

  • USE_DEFAULTSレプリカ内のフィーチャクラスおよびテーブルに関連するフィーチャクラスおよびテーブルが追加されます。 フィーチャクラスの場合は、デフォルトで空間フィルターを交差するすべてのフィーチャがレプリカに含まれます。 空間フィルターが指定されていないと、すべてのフィーチャが含まれます。 テーブルの場合は、デフォルトでスキーマのみがレプリカに含まれます。 これがデフォルトです。
  • ADD_WITH_SCHEMA_ONLY関連するフィーチャクラスおよびテーブルのスキーマのみが追加されます。
  • ALL_ROWS関連するフィーチャクラスおよびテーブルのすべての行が追加されます。
  • DO_NOT_ADD関連するフィーチャクラスまたはテーブルが追加されません。
String
reuse_schema
(オプション)

複製するデータのスキーマを含むジオデータベースを再使用するかどうかを指定します。 これにより、データの複製にかかる時間が短縮されます。 このパラメーターはチェックアウト レプリカの場合にのみ使用できます。

  • DO_NOT_REUSEスキーマは再利用されません。 これがデフォルトです。
  • REUSEスキーマが使用されます。
String
get_related_data
(オプション)

レプリカに存在する行に関連付けられている行を複製するかどうかを指定します。 たとえば、レプリケーション フィルター内部にフィーチャ (f1) があり、そのフィルター外部にこのフィーチャに関連付けられた別のクラスの関連フィーチャ (f2) があるとします。 この場合、関連データの取得を選択すると、フィーチャ f2 がレプリカに含まれます。

  • DO_NOT_GET_RELATED関連データは複製されません。
  • GET_RELATED関連データが複製されます。 これがデフォルトです。
String
geometry_features
(オプション)

複製するエリアを指定するために使用されるフィーチャ。

Feature Layer
archiving
(オプション)

変更の追跡に、バージョニングの差分テーブルを使用する代わりにアーカイブ クラスを使用するかどうかを指定します。 このオプションは、一方向レプリカでのみ使用できます。

  • ARCHIVING変更の追跡にアーカイブが使用されます。
  • DO_NOT_USE_ARCHIVING変更の追跡にアーカイブが使用されません。 これがデフォルトです。
Boolean
register_existing_data
(オプション)

子ジオデータベースに存在するデータを使用してレプリカ データセットを登録するかどうかを指定します。 子ジオデータベース内のデータセットは、親ジオデータベース内のデータセットと同じ名前である必要があります。

  • REGISTER_EXISTING_DATA子ジオデータベースの既存データを使用してレプリカを登録します。
  • DO_NOT_USE_REGISTER_EXISTING_DATA親ジオデータベース内のデータが子ジオデータベースにコピーされます。 これがデフォルトです。
Boolean
out_type
(オプション)

複製されるデータの出力タイプを指定します。

  • GEODATABASEデータが既存のジオデータベースに複製されます。 これがデフォルトです。
  • XML_FILEデータが XML ワークスペース ドキュメントに複製されます。
  • NEW_FILE_GEODATABASEツールの実行時に作成される新しいファイル ジオデータベースにデータが複製されます。 out_filegdb_folder_path パラメーターに、新しいファイル ジオデータベースの位置と名前を指定します。 このオプションは、一方向レプリカおよびチェックアウト レプリカでのみ使用できます。
String
out_xml
(オプション)

作成される .xml ファイルの名前と場所。

このパラメーターは、out_type パラメーターが XML_FILE に設定されている場合に必須です。

File
all_records_for_tables
(オプション)

フィルターが適用されていないテーブル (選択やフィルター設定など) の子ジオデータベースにすべてのレコードをコピーするか、スキーマのみをコピーするかを指定します。

フィルターが適用されているテーブルが優先されます。

  • ALL_RECORDS_FOR_TABLESフィルターが適用されていないテーブルの場合、すべてのレコードが子ジオデータベースにコピーされます。 このオプションは expand_feature_classes_and_tables パラメーター値をオーバーライドします。
  • SCHEMA_ONLY_FOR_TABLESフィルターが適用されていないテーブルの場合、スキーマのみが子ジオデータベースにコピーされます。 フィルターが適用されているテーブルが優先されます。 これがデフォルトです。
Boolean
out_filegdb_folder_path
(オプション)

子レプリカをホストするために作成されるファイル ジオデータベースの場所。 out_type パラメーターが NEW_FILE_GEODATABASE に設定され、一方向レプリカおよびチェックアウト レプリカでのみ使用できる場合に、このパラメーターは必須です。

Folder
out_filegdb_name
(オプション)

子レプリカをホストするために作成されるファイル ジオデータベースの名前。 out_type パラメーターが NEW_FILE_GEODATABASE に設定され、一方向レプリカおよびチェックアウト レプリカでのみ使用できる場合に、このパラメーターは必須です。

String

派生した出力

名前説明データ タイプ
out_child_geodatabase

出力子ジオデータベース。

Workspace
output_replica_name

出力レプリカの名前。

String

コードのサンプル

CreateReplica の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、Python ウィンドウの CreateReplica 関数の使用方法を示しています。

import arcpy
arcpy.env.workspace = "C:/Data/MyData.sde"
arcpy.management.CreateReplica("roads", "ONE_WAY_REPLICA", 
                               "C:\Data\MyTargetGDB.gdb", "MyReplica", "FULL", 
                               "PARENT_DATA_SENDER", "USE_DEFAULTS", 
                               "DO_NOT_REUSE", "GET_RELATED")
CreateReplica (レプリカの作成) の例 2 (スタンドアロン スクリプト)

次の Python スクリプトは、スタンドアロン Python スクリプトで CreateReplica 関数を使用する方法を示しています。

# Name: CreateReplica_Example2.py
# Description: Create a one-way replica of a Feature Dataset to a file geodatabase. 

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/Data/MyData.sde"

# Set local variables
in_data = "Parks" # a feature dataset
replica_type = "ONE_WAY_REPLICA"
output_workspace = "C:\Data\MyTargetGDB.gdb"
replica_name = "MyReplica"
access_type = "FULL"
initial_sender = "PARENT_DATA_SENDER"
expand = "USE_DEFAULTS"
reuse_schema = "DO_NOT_REUSE"
get_related = "GET_RELATED"
replica_geometry = "LA_County"
archiving = "DO_NOT_USE_ARCHIVING"

# Run CreateReplica
arcpy.management.CreateReplica(in_data, replica_type, output_workspace, 
                               replica_name, access_type, initial_sender, 
                               expand, reuse_schema, get_related, 
                               replica_geometry, archiving)

関連トピック