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

概要

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

使用法

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

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

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

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

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

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

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

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

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

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

  • [レプリカ ジオメトリ フィーチャ] を使用して、レプリカ ジオメトリを指定できます。[範囲] 環境設定を使用してレプリカ ジオメトリを指定することもできます。

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

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

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

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

構文

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)
パラメーター説明データ タイプ
in_data
[in_data,...]

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

Layer; 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

派生した出力

名前説明データ タイプ
out_child_geodatabase

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

ワークスペース
output_replica_name

出力レプリカの名前。

文字列

コードのサンプル

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: いいえ
  • Standard: はい
  • Advanced: はい

関連トピック