创建复本 (Data Management)
摘要
由 ArcSDE 地理数据库的要素类、图层、数据集和/或表的指定列表创建个人、文件或 ArcSDE 地理数据库的复本。
用法
-
所有数据集必须来自同一 ArcSDE 数据库。
-
必须对您要复制的数据进行版本化,但是不勾选“将编辑内容移动到基表”选项。连接的数据库用户也必须具有对该数据的写入权限。对于双向复本和单向复本(两种类型),所有数据集都必须具有 globalid 列并且具有高精度的空间参考。
-
对于检出复本和单向复本,子复本地理数据库可以是 ArcSDE、文件或个人地理数据库。
-
对于双向复本和单向“子-父”复本,子地理数据库必须是 ArcSDE 地理数据库。
-
要对单向复本使用归档,父工作空间必须连接至“默认”版本。对于单向“子-父”复本,子工作空间必须连接至“默认”版本。
-
在 ArcMap 中,针对图层或表中设置的定义查询和选择属性用于确定复制哪些数据。
-
对于表,默认过滤器是“仅方案”,即只复制表的方案。要对表应用过滤器,必须首先创建一个表视图,用于设置所需过滤器。然后,您便可将其作为创建复本工具的输入使用。有关详细信息,请参阅创建表视图。要获取关于过滤器和复制的更多信息,请参阅准备要复制的数据。
复本几何要素可用来定义复本的几何。也可以使用范围环境设置来定义复本几何。
复本几何要素可以是点、线或面。
用于复本几何要素的要素图层可以包含一个或多个要素。如果有多个要素,则将合并几何,并仅复制与合并的几何相交的数据。
如果已对复本几何要素定义了过滤器(例如空间、选择内容或定义查询),则将仅使用符合这些过滤器的要素定义复本几何。有关详细信息,请参阅准备要复制的数据。
-
重用方案参数选项仅适用于检出复本。
语法
参数 | 说明 | 数据类型 |
in_data [in_data,...] |
要复制的数据此列表中所包含的图层和表引用了来自 ArcSDE 地理数据库中版本化的可编辑数据。 | Layer; Table View; Dataset |
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 |
代码实例
以下 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")
以下 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)