サーバからレプリカを作成(Create Replica From Server) (データ管理)
サマリ
ArcGIS for Server 上で公開されるジオデータ サービスを使用するリモート ジオデータベースから、指定されたフィーチャクラス、レイヤ、フィーチャ データセット、およびテーブルのリストを使用してレプリカを作成します。
使用法
-
ソースはリモート ArcSDE ジオデータベースを表すジオデータ サービスでなければなりません。ターゲットはローカルまたはリモート ジオデータベースのいずれでもかまいません。
-
複製するデータはバージョン対応登録する必要がありますが、ベース テーブル移行オプションを使用することはできません。接続するデータベース ユーザは、データへの書き込み権限も持っている必要があります。双方向レプリカと、両方のタイプの一方向レプリカの場合は、すべてのデータセットに GlobalID 列と高精度の空間参照が必要です。
-
チェックアウト レプリカと一方向レプリカの場合、子レプリカ ジオデータベースは ArcSDE、ファイル、またはパーソナル ジオデータベースのいずれかとなります。
-
双方向および子から親への一方向レプリカの場合、子ジオデータベースは ArcSDE でなければなりません。
-
一方向レプリカで履歴管理を使用するには、親ワークスペースが DEFAULT バージョンに接続されていなければなりません。子から親への一方向レプリカの場合、子ワークスペースが DEFAULT バージョンに接続されていなければなりません。
-
フィーチャクラスの場合は、デフォルトですべてのフィーチャがレプリカに含まれます。テーブルの場合、デフォルトのフィルタは [スキーマのみ] であり、そのテーブルのスキーマだけがレプリカに含まれます。範囲環境を設定した場合やレプリカ ジオメトリ フィーチャを指定した場合は、範囲が空間フィルタとして適用され、その範囲と交差するフィーチャのみがレプリカに含まれることになります。テーブルには、レプリカを構成する行に関連付けられる行も含まれます。
[レプリカ ジオメトリ フィーチャ] を使用して、レプリカ ジオメトリを指定できます。[範囲] 環境設定を使用してレプリカ ジオメトリを指定することもできます。
レプリカ ジオメトリ フィーチャとして、ポイント、ライン、またはポリゴンを指定できます。
レプリカ ジオメトリ フィーチャに使用されるフィーチャ レイヤには、1 つ以上のフィーチャを含めることができます。複数のフィーチャがある場合は、ジオメトリがマージされ、マージされたジオメトリと交差するデータだけが複製されます。
フィルタ(空間、選択、定義クエリなど)がレプリカ ジオメトリ フィーチャに指定されている場合は、それらのフィルタ条件を満たすフィーチャだけがレプリカ ジオメトリの定義に使用されます。詳細については、「レプリケーションのためのデータの準備」をご参照ください。
-
[スキーマの再使用] パラメータ オプションは、チェックアウト レプリカの場合にのみ使用できます。
構文
パラメータ | 説明 | データ タイプ |
in_geodataservice |
レプリカの作成元となるジオデータベースを表すジオデータ サービス。ジオデータ サービスによって参照されるジオデータベースは ArcSDE ジオデータベースでなければなりません。 | GeoDataServer |
datasets dataset_name |
ジオデータ サービスから複製するフィーチャ データセット、スタンドアロン フィーチャクラス、テーブル、およびスタンドアロン属性リレーションシップ クラスのリスト。 | String |
in_type |
作成するレプリカの種類。
| String |
out_geodatabase |
子レプリカをホストするローカル ジオデータベースまたはジオデータ サービス。ジオデータ サービスはリモート ジオデータベースを表すために使用されます。ジオデータベースは、ArcSDE、ファイル、パーソナル ジオデータベースのいずれかになります。双方向レプリカの場合、子ジオデータベースは ArcSDE でなければなりません。一方向レプリカおよびチェックアウト レプリカの場合は、パーソナル、ファイル、ArcSDE ジオデータベースのいずれでもかまいません。パーソナル ジオデータベースまたはファイル ジオデータベースは、このツールを実行する前にすでに存在している必要があります。 | 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 |
コードのサンプル
import arcpy
from arcpy import env
env.workspace = "C:/Data/MySDEdata.sde"
arcpy.CreateReplicaFromServer_management("GIS Servers\jerome\RoadMap.GeoDataServer", "Roads", "TWO_WAY_REPLICA", env.workspace, "MajorRoads_replica", "FULL", "CHILD_DATA_SENDER", "USE_DEFAULTS", "DO_NOT_REUSE", "GET_RELATED")
# Name: CreateReplicaFromServer_Example2.py
# Description: Creates a two-way replica from a geodata service
# Import system modules
import arcpy
from arcpy import env
# Set workspace
env.workspace = "C:/Data/MySDEdata.sde"
# Set local variables
gisServer = "GIS Servers/jerome/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"
# Execute CreateReplicaFromServer
arcpy.CreateReplicaFromServer_management(gisServer, in_datasets, replica_type, out_workspace, replica_name, access_type, initial_sender, expand, reUse, related, replica_geometry, archiving)