描述
使用在 ArcGIS Server 上发布的地理数据服务,从远程地理数据库利用指定列表中的要素类、图层、要素数据集和表创建复本。
使用方法
源必须是表示远程企业级地理数据库的地理数据服务。 目标地理数据库可以是本地地理数据库,也可以是远程地理数据库。
要复制的数据必须进行版本化,但是无法通过“将编辑内容移动到基表”选项进行版本化。
对于检出复本和单向复本,子复本地理数据库可以是企业级、文件或个人地理数据库。
对于双向复本和单向“子-父”复本,子地理数据库必须是企业级地理数据库。
要对单向复本使用归档,父工作空间必须连接至默认版本。对于单向“子-父”复本,子工作空间必须与默认版本连接。
要素类的默认设置是复制所有要素。 表的默认过滤器是“仅方案”,即只复制表的方案。 如果设置范围环境或指定复本几何要素,会将其作为空间过滤器加以应用,这样将只复制与该范围相交的要素。 表中还将包含与作为复本一部分的行相关的行。
复本几何要素参数可用来定义复本的几何。还可以使用范围环境设置定义复本几何。
复本几何要素可以是点、线或面。
用于复本几何要素的要素图层可以包含一个或多个要素。如果有多个要素,则将合并几何,并仅复制与合并的几何相交的数据。
如果已对复本几何要素定义了过滤器(例如空间、选择内容或定义查询),则将仅使用符合这些过滤器的要素定义复本几何。有关详细信息,请参阅准备要复制的数据。
重用方案参数选项仅适用于检出复本。
语法
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})
参数 | 说明 | 数据类型 |
in_geodataservice | 表示用于创建复本的地理数据库的地理数据服务。 地理数据服务所引用的地理数据库必须是企业级地理数据库。 | GeoDataServer |
datasets [dataset_name,...] | 地理数据服务中要复制的要素数据集、独立要素类、表和独立属性关系类的列表。 | String |
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 |
派生输出
名称 | 说明 | 数据类型 |
out_geodata | 已更新地理数据服务。 | Workspace;GeoDataServer |
output_name | 输出复本名称。 | String |
代码示例
从服务器创建复本 (CreateReplicaFromServer) 示例 1(Python 窗口)
以下 Python 窗口脚本演示了如何在即时模式下使用 CreateReplicaFromServer 函数。
import arcpy
arcpy.env.workspace = "C:/Data/MySDEdata.sde"
arcpy.CreateReplicaFromServer_management(
"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"
# Execute CreateReplicaFromServer
arcpy.CreateReplicaFromServer_management(
gisServer, in_datasets, replica_type, out_workspace, replica_name,
access_type, initial_sender, expand, reUse, related, replica_geometry,
archiving)
环境
许可信息
- Basic: 否
- Standard: 是
- Advanced: 是