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

サマリー

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

使用法

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

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

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

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

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

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

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

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

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

  • テーブルの場合、デフォルトのフィルターは [スキーマのみ] であり、そのテーブルのスキーマだけがレプリカに含まれます。 フィルターをテーブルに適用するには、必要なフィルターを使用してテーブル ビューを最初に作成します。 次にこのビューを [レプリカの作成 (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

派生した出力

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

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

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

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

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_child_geodatabase

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

Workspace
output_replica_name

出力レプリカの名前。

String

コードのサンプル

CreateReplica (レプリカの作成) の例 1 (Python ウィンドウ)

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

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

arcpy.CreateReplica_management("roads", "ONE_WAY_REPLICA", 
                               "C:\Data\MyTargetGDB.gdb", "MyReplica", "FULL", 
                               "PARENT_DATA_SENDER", "USE_DEFAULTS", 
                               "DO_NOT_REUSE", "TRUE")
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"

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

ライセンス情報

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

関連トピック