概要
エンタープライズ ジオデータベース内の指定されたフィーチャクラス、レイヤー、データセット、およびテーブルのリストから、ジオデータベースにレプリカを作成します。
使用法
すべてのデータセットのソースは同一のエンタープライズ ジオデータベースでなければなりません。
複製するデータはバージョン対応登録する必要がありますが、ベース テーブル移行オプションを使用することはできません。接続するデータベース ユーザーは、データへの書き込み権限も持っている必要があります。双方向レプリカと、両方のタイプの一方向レプリカの場合は、すべてのデータセットに GlobalID 列と高精度の空間参照が必要です。
チェックアウト レプリカと一方向レプリカの場合、子レプリカ ジオデータベースはエンタープライズ、ファイル、またはパーソナル ジオデータベースのいずれかとなります。
双方向および子から親への一方向レプリカの場合、子ジオデータベースはエンタープライズ ジオデータベースでなければなりません。
一方向レプリカで履歴管理を使用するには、親ワークスペースが DEFAULT バージョンに接続されていなければなりません。子から親への一方向レプリカの場合、子ワークスペースが DEFAULT バージョンに接続されていなければなりません。
ArcMap では、レイヤーまたはテーブルに対するフィルター設定と選択プロパティ セットによって、複製されるデータが決まります。
テーブルの場合、デフォルトのフィルターは [スキーマのみ] であり、そのテーブルのスキーマだけがレプリカに含まれます。フィルターをテーブルに適用するには、必要なフィルターが設定されたテーブル ビューを最初に作成する必要があります。次にこのビューを [レプリカの作成 (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 | 作成するレプリカの種類。
| String |
out_geodatabase | 子レプリカをホストするローカル ジオデータベースまたはジオデータ サービス。ジオデータ サービスはリモート ジオデータベースを表すために使用されます。ジオデータベースは、エンタープライズ、ファイル、パーソナル ジオデータベースのいずれかになります。双方向レプリカの場合、子ジオデータベースはエンタープライズ ジオデータベースでなければなりません。一方向レプリカおよびチェックアウト レプリカの場合は、パーソナル、ファイル、エンタープライズ ジオデータベースのいずれでもかまいません。パーソナル ジオデータベースまたはファイル ジオデータベースは、このツールを実行する前にすでに存在している必要があります。 | Workspace ; GeoDataServer |
out_name | レプリカを識別する名前。 | String |
access_type (オプション) | 必要なアクセスのタイプ。
| String |
initial_data_sender (オプション) | 非接続モード時にどちらのレプリカが変更データを送信できるかをレプリケーションで指定するために使用されます。接続モードで動作中は、このパラメーターに意味はありません。このオプションを指定すると、最初のデータ送信を行うレプリカから変更データが最初に受信されるまで、相対レプリカは更新内容を送信することはありません。
| String |
expand_feature_classes_and_tables (オプション) | ジオメトリック ネットワーク、トポロジ、またはリレーションシップ クラスに存在するフィーチャクラスやテーブルなど、関連するフィーチャクラスおよびテーブルをレプリカに含めるかどうかを指定します。
| String |
reuse_schema (オプション) | 複製するデータのスキーマをレプリカを作成するジオデータベースが含んでいる場合に、そのスキーマを再利用するかどうかを指定します。これにより、データの複製にかかる時間が短縮されます。このオプションは、チェックアウト レプリカでのみ使用できます。
| String |
get_related_data (オプション) | レプリカに含まれている行に関連付けられている行を複製するかどうかを指定します。たとえば、レプリケーション フィルター内部にフィーチャ (f1) があり、そのフィルター外部にこのフィーチャに関連付けられた別のクラスの関連フィーチャ (f2) があるとします。この場合、関連データの取得を選択すると、フィーチャ f2 がレプリカに含まれます。
| String |
geometry_features (オプション) | 複製するエリアを指定するために使用されるフィーチャ。 | Feature Layer |
archiving | 変更の追跡に、バージョニングの差分テーブルを使用する代わりに履歴管理クラスを使用するかどうかを指定します。このオプションは、一方向レプリカでのみ使用できます。
| Boolean |
コードのサンプル
CreateReplica (レプリカの作成) の例 1 (Python ウィンドウ)
次の Python ウィンドウ スクリプトは、Python ウィンドウで CreateReplica (レプリカの作成) 関数を使用する方法を示しています。
import arcpy
from arcpy import env
env.workspace = "C:/Data/MySDEdata.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 スクリプトは、スタンドアロン 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
from arcpy import env
# Set workspace
env.workspace = "C:/Data/MySDEdata.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: はい