サーバーからレプリカを作成 (Create Replica From Server) (データ管理)

サマリー

ArcGIS Server 上で公開されているジオデータ サービスを使用して、リモート ジオデータベースから、指定されたフィーチャクラス、レイヤー、フィーチャ データセット、およびテーブルのリストを使用してレプリカを作成します。

使用法

  • ソースはリモート エンタープライズ ジオデータベースを公開しているジオデータ サービスでなければなりません。 ターゲットはローカルまたはリモート ジオデータベースのいずれでもかまいません。

  • 複製するデータはトラディショナル バージョン対応登録する必要がありますが、ベース テーブル移行オプションを使用することはできません。 接続されたデータベース ユーザーには、データへの書き込みアクセス権が必要です。 双方向レプリカと、両方のタイプの一方向レプリカの場合は、すべてのデータセットに GlobalID 列と高精度の空間参照が必要です。

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

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

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

  • フィーチャクラスの場合は、デフォルトですべてのフィーチャがレプリカに含まれます。 テーブルの場合、デフォルトのフィルターは [スキーマのみ] であり、そのテーブルのスキーマだけがレプリカに含まれます。 範囲を設定した場合やレプリカ ジオメトリ フィーチャを指定した場合は、範囲が空間フィルターとして適用され、その範囲と交差するフィーチャのみがレプリカに含まれます。 また、レプリカに含まれるテーブルの行に関連付けられる行も含まれます。

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

    • [レプリカ ジオメトリ フィーチャ] パラメーターのみを設定した場合は、レプリカ ジオメトリ フィーチャと交差するデータだけが複製されます。
    • [範囲] 環境設定のみを設定した場合は、その範囲と交差するデータだけが複製されます。
    • [レプリカ ジオメトリ フィーチャ] パラメーターと [範囲] 環境設定の両方を設定した場合は、[レプリカ ジオメトリ フィーチャ] パラメーターが使用されます。
    • [レプリカ ジオメトリ フィーチャ] パラメーターと [範囲] 環境設定のどちらも指定しない場合は、データの全範囲が使用されます。

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

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

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

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

パラメーター

ラベル説明データ タイプ
ジオデータ サービス

レプリカの作成元となるジオデータベースを表すジオデータ サービス。 ジオデータ サービスによって参照されるジオデータベースはエンタープライズ ジオデータベースでなければなりません。

GeoDataServer
データセット

ジオデータ サービスから複製するフィーチャ データセット、スタンドアロン フィーチャクラス、テーブル、およびスタンドアロン属性リレーションシップ クラスのリスト。

String
レプリカ タイプ

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

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

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

Workspace ; GeoDataServer
レプリカ名

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 履歴管理変更の追跡にアーカイブが使用されます。
  • 履歴管理を使用しない変更の追跡にアーカイブが使用されません。 これがデフォルトです。
Boolean
テーブルのすべてのレコード
(オプション)

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

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

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

Boolean

派生した出力

ラベル説明データ タイプ
出力ジオデータ サービス

更新されたジオデータ サービス。

Workspace;GeoDataServer
レプリカ名

出力レプリカの名前。

String

arcpy.management.CreateReplicaFromServer(in_geodataservice, datasets, in_type, out_geodatabase, out_name, {access_type}, {initial_data_sender}, {expand_feature_classes_and_tables}, {reuse_schema}, {get_related_data}, {geometry_features}, {archiving}, {all_records_for_tables})
名前説明データ タイプ
in_geodataservice

レプリカの作成元となるジオデータベースを表すジオデータ サービス。 ジオデータ サービスによって参照されるジオデータベースはエンタープライズ ジオデータベースでなければなりません。

GeoDataServer
datasets
[dataset_name,...]

ジオデータ サービスから複製するフィーチャ データセット、スタンドアロン フィーチャクラス、テーブル、およびスタンドアロン属性リレーションシップ クラスのリスト。

String
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
all_records_for_tables
(オプション)

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

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

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

派生した出力

名前説明データ タイプ
out_geodata

更新されたジオデータ サービス。

Workspace;GeoDataServer
output_name

出力レプリカの名前。

String

コードのサンプル

CreateReplicaFromServer (サーバーからレプリカを作成) の例 1 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、イミディエイト モードで CreateReplicaFromServer 関数を使用する方法を示しています。

import arcpy
arcpy.env.workspace = "C:/Data/MySDEdata.sde"
arcpy.management.CreateReplicaFromServer(
        "C:/MyServerConn/RoadMap.GeoDataServer", "Roads", "TWO_WAY_REPLICA", 
        arcpy.env.workspace, "MajorRoads_replica", "FULL", "CHILD_DATA_SENDER", 
        "USE_DEFAULTS", "DO_NOT_REUSE", "GET_RELATED")
CreateReplicaFromServer (サーバーからレプリカを作成) の例 2 (スタンドアロン スクリプト)

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

# Name: CreateReplicaFromServer_Example2.py
# Description: Creates a two-way replica from a geodata service

# Import system modules
import arcpy

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

# Set local variables
gisServer = "C:/MyServerConn/RoadMap.GeodataServer"
in_datasets = "Roads; Streets"
replica_type = "TWO_WAY_REPLICA"
out_workspace = env.workspace
replica_name = "MajorRoads_replica"
access_type = "FULL"
initial_sender = "CHILD_DATA_SENDER"
expand = "USE_DEFAULTS"
reUse = "DO_NOT_REUSE"
related = "GET_RELATED"
replica_geometry = "LA_County"
archiving = "DO_NOT_USE_ARCHIVING"

# Run CreateReplicaFromServer
arcpy.management.CreateReplicaFromServer(
        gisServer, in_datasets, replica_type, out_workspace, replica_name, 
        access_type, initial_sender, expand, reUse, related, replica_geometry, 
        archiving)

ライセンス情報

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

関連トピック