从服务器创建复本 (数据管理)

摘要

使用在 ArcGIS Server 上发布的地理数据服务,从远程地理数据库利用指定列表中的要素类、图层、要素数据集和表创建复本。

使用情况

  • 源必须是表示远程企业级地理数据库的地理数据服务。 目标地理数据库可以是本地地理数据库,也可以是远程地理数据库。

  • 您要复制的数据必须已注册为传统版本,但未使用将编辑移动到基表的选项。 此外,连接的数据库用户必须具有对数据的写入权限。 对于双向复本和单向复本(两种类型),所有数据集都必须具有 globalid 列并且具有高精度的空间参考。

  • 对于检出复本和单向复本,子复本地理数据库可以是企业级或文件地理数据库。

  • 对于双向复本和单向“子-父”复本,子地理数据库必须是企业级地理数据库。

  • 要对单向复本使用归档,父工作空间必须连接至默认版本。 对于单向“子-父”复本,子工作空间必须与默认版本连接。

  • 要素类的默认设置是复制所有要素。 表的默认过滤器是“仅方案”,即只复制表的方案。 如果设置范围环境或指定复本几何要素,会将其作为空间过滤器加以应用,这样将只复制与该范围相交的要素。 表中还将包含与作为复本一部分的行相关的行。

  • 复本几何要素参数可用来定义复本的几何。 还可以使用范围环境设置定义复本几何。

    • 如果仅设置了复本几何要素参数,则仅复制与复本几何要素相交的数据。
    • 如果仅设置了范围环境,则仅复制与范围相交的数据。
    • 如果同时设置了复本几何要素参数和范围环境,则将使用复本几何要素参数。
    • 如果复本几何要素参数或范围环境均未指定,则将使用数据的全部范围。

  • 复本几何要素可以是点、线或面。

  • 用于复本几何要素的要素图层可以包含一个或多个要素。 如果有多个要素,则将合并几何,并仅复制与合并的几何相交的数据。

  • 如果已对复本几何要素定义了过滤器(例如空间、选择内容或定义查询),则将仅使用符合这些过滤器的要素定义复本几何。 有关详细信息,请参阅准备要复制的数据

  • 重用方案参数选项仅适用于检出复本。

参数

标注说明数据类型
地理数据服务

表示用于创建复本的地理数据库的地理数据服务。 地理数据服务所引用的地理数据库必须是企业级地理数据库。

GeoDataServer
数据集

地理数据服务中要复制的要素数据集、独立要素类、表和独立属性关系类的列表。

String
复本类型

指定要创建的复本类型。

  • 双向复本变更将在子复本和父复本之间进行双向发送。
  • 单向复本变更只能从父复本发送到子复本。
  • 检出复本一次复制、编辑并检回数据。
  • “子-父”单向复本变更只能从子复本发送到父复本。
String
数据复制的目标地理数据库

将托管子复本的本地地理数据库。 地理数据服务用于表示远程地理数据库。 地理数据库可以是企业级或文件地理数据库。 对于双向复本,子地理数据库必须是企业级地理数据库。 对于单向复本和检出复本,地理数据库可以是文件或者企业级地理数据库。 运行此工具前,必须存在文件地理数据库。

Workspace ; GeoDataServer
复本名称

用于识别复本的名称。

String
复本访问类型
(可选)

指定要创建的复本访问类型。

  • 全部支持复杂类型(例如拓扑),并且必须对数据进行版本化。 这是默认设置。
  • 简单子复本上的数据不可版本化且必须为简单形式。 将允许复本互相操作。 在复制期间,父地理数据库中的非简单要素(例如,拓扑中的要素)转换为简单要素(例如点、线和面要素类)。
String
初始数据发送方
(可选)

指定在断开连接模式下哪个复本可发送变更。 如果在连接模式下工作,此参数无关紧要。 这样可确保首先从初始数据发送方接收到变更后,关系复本才发送更新。

  • 子数据发送方子复本将为初始数据发送方。 这是默认设置。
  • 父数据发送方父复本将为初始数据发送方。
String
扩展要素类和表
(可选)

指定是否将添加扩展要素类和表(例如网络、拓扑或关系类中的要素类和表)。

  • 使用默认值将添加与复本中的要素类和表相关的扩展要素类和表。 要素类的默认设置是复制所有与空间过滤器相交的要素。 如果未提供任何空间过滤器,则系统会将所有要素包括在内。 表的默认设置是仅复制方案。 这是默认设置。
  • 仅使用方案添加将仅为扩展要素类和表添加方案。
  • 所有行将为扩展要素类和表添加所有行。
  • 不添加将不添加扩展要素类或表。
String
重用方案
(可选)

指定是否将重用包含要复制数据的方案的地理数据库。 这可以减少复制数据所需的时间。 此参数仅适用于检出复本。

  • 不重用将不会重用方案。 这是默认设置。
  • 重用将使用方案。
String
复制相关数据
(可选)

指定是否将复制与复本中现有行相关的行。 例如,复本过滤器内部存在一个要素 (f1),且该过滤器外部存在一个来自其他类的相关要素 (f2)。 如果您选择获取相关数据,则要素 f2 会包含到复本中。

  • 不取得关联将不会复制相关数据。
  • 取得关联将复制相关数据。 这是默认设置。
String
复本几何要素
(可选)

将用于定义要复制区域的要素。

Feature Layer
使用归档追踪单向复制的变更
(可选)

指定是否使用存档类来追踪变更而非对增量表进行版本化。 这仅适用于单向复本。

  • 存档存档将用于追踪变更。
  • 不使用存档存档将不会用于追踪变更。 这是默认设置。
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})
名称说明数据类型
in_geodataservice

表示用于创建复本的地理数据库的地理数据服务。 地理数据服务所引用的地理数据库必须是企业级地理数据库。

GeoDataServer
datasets
[dataset_name,...]

地理数据服务中要复制的要素数据集、独立要素类、表和独立属性关系类的列表。

String
in_type

指定要创建的复本类型。

  • TWO_WAY_REPLICA变更将在子复本和父复本之间进行双向发送。
  • ONE_WAY_REPLICA变更只能从父复本发送到子复本。
  • CHECK_OUT一次复制、编辑并检回数据。
  • 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_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: 否
  • Standard: 是
  • Advanced: 是

相关主题