复制 (数据管理)

摘要

复制输入数据。

使用情况

  • 将要素类复制到要素数据集时,要素类和要素数据集的空间参考必须匹配;否则该工具将无法运行。

  • 所有依赖于输入的数据也将一同复制。 例如,如果复制关系类的任一组成部分(要素类或表),那么关系类也将一起复制。 上述复制规则同样适用于所有具有与要素关联的注记、属性域、子类型和索引的要素类,也就是说,将随要素类一起复制所有与要素关联的项。 复制几何网络、网络数据集和拓扑的同时也会一并复制参与其中的所有要素类。

  • 此工具不会复制图层,因为图层只是对要素类的引用。

  • 复制镶嵌数据集会将镶嵌数据集复制到指定位置;镶嵌数据集所引用的影像数据则不会被复制。

  • 此工具不支持将网络数据集复制回同一地理数据库。

  • 此工具不支持 MRF 图像格式。 要复制 .mrf 文件,请使用复制栅格工具。

  • 如果输入具有关联的数据,则将显示可控制关联输出数据名称和配置关键字的关联数据参数值。

参数

标注说明数据类型
输入数据

要复制的数据。

Data Element
输出数据

输出数据的位置和名称。

Data Element
数据类型
(可选)

磁盘上要复制的数据的类型。

此参数将在名称冲突的情况下使用。 地理数据库可能包含同名的不同数据集,例如同名的要素类、要素数据集、镶嵌数据集和宗地结构可能存在于同一个地理数据库中。 如果有两个或多个同名数据集,指定一个值将指示工具使用该数据类型。

String
关联数据
(可选)

如果输入具有关联的数据,则此参数可用于控制关联输出数据名称和配置关键字。

  • 自名称 - 将与输入数据一同复制的相关联的数据。
  • 数据类型 - 磁盘上要复制的数据的类型。 只有在地理数据库中的要素数据集和要素类名称相同时,才需要提供一个值。 在这种情况下,需要为希望复制的项目选择正确的数据类型(即 FeatureDatasetFeatureClass)。
  • 至名称 - 输出数据参数值中已复制数据的名称。
  • 配置关键字 - 地理数据库存储参数(配置)。

如果在输出数据中未使用至名称值,则自名称至名称列名称将相同。 如果名称已存在于输出数据值中,则将通过附加下划线加数字(例如 rivers_1)来创建唯一的至名称值。

Value Table

arcpy.management.Copy(in_data, out_data, {data_type}, {associated_data})
名称说明数据类型
in_data

要复制的数据。

Data Element
out_data

输出数据的位置和名称。 输出数据的文件扩展名必须与输入数据的扩展名相匹配。 例如,如果要复制文件地理数据库,则输出数据元素的后缀必须为 .gdb

Data Element
data_type
(可选)

磁盘上要复制的数据的类型。

此参数将在名称冲突的情况下使用。 地理数据库可能包含同名的不同数据集,例如同名的要素类、要素数据集、镶嵌数据集和宗地结构可能存在于同一个地理数据库中。 如果有两个或多个同名数据集,指定一个值将指示工具使用该数据类型。

String
associated_data
[[from_name, data_type, to_name, config_keyword],...]
(可选)

如果输入具有关联的数据,则此参数可用于控制关联输出数据名称和配置关键字。

  • from_name - 将与输入数据一同复制的相关联的数据。
  • data_type - 磁盘上要复制的数据的类型。 只有在地理数据库中的要素数据集和要素类名称相同时,才需要提供一个值。 在这种情况下,需要为希望复制的项目使用正确的数据类型(FeatureDatasetFeatureClass)。
  • to_name - out_data 参数值中已复制数据的名称。
  • config_keyword - 地理数据库存储参数(配置)。

如果已在 out_data 中使用 to_name 值,则 from_nameto_name 列名称将相同。 如果某个名称已存在于 out_data 值中,则将通过附加下划线加数字(例如 rivers_1)来创建唯一的 to_name 值。

Value Table

代码示例

Copy 示例 1(Python 窗口)

以下 Python 窗口脚本演示了如何在即时模式下使用 Copy 函数。


import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.Copy("majorrds.shp", "C:/output/majorrdsCopy.shp")
Copy 示例 2(独立脚本)

以下 Python 脚本演示了如何在独立脚本中使用 Copy 函数:

# Name: Copy_Example2.py
# Description: Copy major roads dataset to preserve the original data

# Import system modules
import arcpy

# Set workspace
arcpy.env.workspace = "C:/data"

# Set local variables
in_data =  "majorrds.shp"
out_data = "C:/output/majorrdsCopy.shp"

# Run Copy
arcpy.management.Copy(in_data, out_data)
Copy 示例 3(独立脚本)

以下 Python 脚本演示了如何在 Copy 函数中使用 associated_data 参数:

# Name: Copy_Example3.py
# Description: Copy a feature dataset and specify associated_data

# Import system modules
import arcpy

# The input is a feature dataset containing 3 feature classes: lakes, cities, rivers
in_data =  "C:/data/proj.gdb/mexico" 
out_data = "C:/data/proj.sde/mexico"

associated_data = ";".join(["lakes FeatureClass mexico_lakes #",
                            "cities FeatureClass mexico_cities #",
                            "rivers FeatureClass mexico_rivers #"])

# Rename each feature class during the copy operation using the associated_data parameter
arcpy.management.Copy(in_data, out_data, associated_data=associated_data)