复制 (数据管理)

摘要

用于将输入数据复制到与输入工作空间具有相同数据类型的输出工作空间。

使用情况

  • 此工具仅在相同数据类型的工作空间之间进行复制:从文件夹到文件夹以及从任何地理数据库类型到任何地理数据库类型(文件地理数据库、企业级地理数据库或移动地理数据库)。 要在不同工作空间类型之间复制数据,请使用复制要素工具或“转换”工具箱中的其他工具。

    此工具不支持复制到内存工作空间或者从内存工作空间进行复制。

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

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

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

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

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

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

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

参数

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

要复制的数据。

Data Element
输出数据

输出数据的位置和名称。

Data Element
数据类型
(可选)

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

仅当两种不同数据类型之间发生名称冲突时才需要此参数。 例如,地理数据库可以包含与要素类同名的关系类。 如果是这种情况,请指定相关关键字。

  • FeatureClass - 如果名称重复,将使用要素类
  • FeatureDataset - 如果名称重复,将使用要素数据集
  • MosaicDataset - 如果名称重复,将使用镶嵌数据集
  • ParcelFabric - 如果名称重复,将使用宗地结构
  • RelationshipClass - 如果名称重复,将使用关系类
  • Topology - 如果名称重复,将使用拓扑
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
(可选)

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

仅当两种不同数据类型之间发生名称冲突时才需要此参数。 例如,地理数据库可以包含与要素类同名的关系类。 如果是这种情况,请指定相关关键字。

  • FeatureClass - 如果名称重复,将使用要素类
  • FeatureDataset - 如果名称重复,将使用要素数据集
  • MosaicDataset - 如果名称重复,将使用镶嵌数据集
  • ParcelFabric - 如果名称重复,将使用宗地结构
  • RelationshipClass - 如果名称重复,将使用关系类
  • Topology - 如果名称重复,将使用拓扑
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 值中,则将通过向 from_name 值附加下划线和数字(例如 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)
Copy 示例 4(Python 窗口)

以下 Python 窗口脚本演示了如何在企业级地理数据库环境中使用 Copy 函数和要素数据集并指定 associated_data 参数。

import arcpy
arcpy.management.Copy( 
   in_data=r"C:\Users\GIS\SQLServerDatabase.sde\DBO.Mexico", 
   out_data=r"C:\Users\GIS\SQLServerDatabase.sde\DBO.PyCmd_Mexico", 
   data_type="FeatureDataset", 
   associated_data="DBO.Rivers FeatureClass DBO.PyCmd_Rivers #;DBO.Lakes FeatureClass DBO.PyCmd_Lakes #;DBO.Cities FeatureClass DBO.PyCmd_Cities #" 
)
Copy 示例 5(独立脚本)

以下 Python 脚本演示了如何在企业级地理数据库环境中使用 Copy 函数和要素数据集并指定 associated_data 参数。

# Description: Copy a feature dataset and specify associated_data within an
#              Enterprise geodatabase environment 

# Import system modules
import arcpy

# The input is a feature dataset containing 3 feature classes: lakes, cities,
# rivers.
in_data = r"C:\Users\GIS\SQLServerDatabase.sde\DBO.Mexico"

# The output is a new feature dataset that the feature classes from in_data will
# be copied to
out_data = r"C:\Users\GIS\SQLServerDatabase.sde\DBO.Py_Mexico"

# Define schema of the from_name and to_name values when preparing data to be
# created in an enterprise geodatabase
associated_data = ";".join(["DBO.Lakes FeatureClass DBO.Py_Lakes #",
                            "DBO.Cities FeatureClass DBO.Py_Cities #",
                            "DBO.Rivers FeatureClass DBO.Py_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)

许可信息

  • Basic: 是
  • Standard: 是
  • Advanced: 是

相关主题