Copy (Data Management)

Summary

Copies the input data to an output workspace of the same data type as the input workspace.

Usage

  • This tool copies only between workspaces of the same data type: from a folder to a folder and from any geodatabase type to any geodatabase type (file, enterprise, or mobile). To copy data between different workspace types, use the Copy Features tool or other tools in the Conversion toolbox.

    This tool does not support copying to or from a memory workspace.

  • If a feature class is copied to a feature dataset, the spatial reference of the feature class and the feature dataset must match; otherwise, the tool will fail.

  • Any data that is dependent on the input is also copied. For example, copying a feature class or table that is part of a relationship class also copies the relationship class. This also applies to a feature class that has feature-linked annotation, domains, subtypes, and indices—all are copied along with the feature class. Copying geometric networks, network datasets, and topologies also copies the participating feature classes.

  • This tool does not copy layers, since a layer is only a reference to a feature class.

  • Copying a mosaic dataset copies the mosaic dataset to the designated location; the images referenced by the mosaic dataset are not copied.

  • This tool does not support copying a network dataset back into the same geodatabase.

  • This tool does not support the MRF image format. To copy an .mrf file, use the Copy Raster tool.

  • When the input has associated data, the Associated Data parameter value is displayed so the associated output data's name and config keyword can be controlled.

Parameters

LabelExplanationData Type
Input Data

The data that will be copied.

Data Element
Output Data

The location and name of the output data.

Data Element
Data type
(Optional)

The type of the data on disk that will be copied.

This parameter is only necessary in the event of a name conflict between two different data types. For example, a geodatabase can contain a relationship class with an identical name to a feature class. If that is the case, specify the relevant keyword.

  • FeatureClass—In the event of duplicate names, the feature class will be used.
  • FeatureDataset—In the event of duplicate names, the feature dataset will be used.
  • MosaicDataset—In the event of duplicate names, the mosaic dataset will be used.
  • ParcelFabric—In the event of duplicate names, the parcel fabric will be used.
  • RelationshipClass—In the event of duplicate names, the relationship class will be used.
  • Topology—In the event of duplicate names, the topology will be used.
String
Associated Data
(Optional)

When the input has associated data, this parameter can be used to control the associated output data's name and config keyword.

  • From Name—The data associated with the input data, which will also be copied.
  • Data Type—The type of the data on disk that will be copied. The only time you need to provide a value is when a geodatabase contains a feature dataset and a feature class with the same name. In this case, select the correct data type, FeatureDataset or FeatureClass, of the item you want to copy.
  • To Name—The name of the copied data in the Output Data parameter value.
  • Config Keyword—The geodatabase storage parameters (configuration).

The From Name and To Name column names will be identical if the To Name value is not used in the Output Data parameter value. If the name exists in the Output Data value, a unique To Name value will be automatically created by appending an underscore and a number (for example, rivers_1) to the From Name value.

Value Table

arcpy.management.Copy(in_data, out_data, {data_type}, {associated_data})
NameExplanationData Type
in_data

The data that will be copied.

Data Element
out_data

The location and name of the output data. The file name extension of the output data must match the extension of the input data. For example, if you are copying a file geodatabase, the output data element must have .gdb as a suffix.

Data Element
data_type
(Optional)

The type of the data on disk that will be copied.

This parameter is only necessary in the event of a name conflict between two different data types. For example, a geodatabase can contain a relationship class with an identical name to a feature class. If that is the case, specify the relevant keyword.

  • FeatureClass—In the event of duplicate names, the feature class will be used.
  • FeatureDataset—In the event of duplicate names, the feature dataset will be used.
  • MosaicDataset—In the event of duplicate names, the mosaic dataset will be used.
  • ParcelFabric—In the event of duplicate names, the parcel fabric will be used.
  • RelationshipClass—In the event of duplicate names, the relationship class will be used.
  • Topology—In the event of duplicate names, the topology will be used.
String
associated_data
[[from_name, data_type, to_name, config_keyword],...]
(Optional)

When the input has associated data, this parameter can be used to control the associated output data's name and config keyword.

  • from_name—The data associated with the input data, which will also be copied.
  • data_type—The type of the data on disk that will be copied. The only time you need to provide a value is when a geodatabase contains a feature dataset and a feature class with the same name. In this case, use the correct data type, FeatureDataset or FeatureClass, of the item you want to copy.
  • to_name—The name of the copied data in the out_data parameter value.
  • config_keyword—The geodatabase storage parameters (configuration).

The from_name and to_name column names will be identical if the to_name value is not used in the out_data parameter value. If the name exists in the out_data value, a unique to_name value will be created by appending an underscore plus a number (for example, rivers_1) to the from_name value.

Value Table

Code sample

Copy example 1 (Python window)

The following Python window script demonstrates how to use the Copy function in immediate mode.


import arcpy
arcpy.env.workspace = "C:/data"
arcpy.management.Copy("majorrds.shp", "C:/output/majorrdsCopy.shp")
Copy example 2 (stand-alone script)

The following Python script demonstrates how to use the Copy function in a stand-alone script.

# 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 example 3 (stand-alone script)

The following Python script demonstrates how to use the associated_data parameter on the Copy function.

# 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 example 4 (Python window)

This following Python window script demonstrates how to use the Copy function with a feature dataset and specify the associated_data parameter within an enterprise geodatabase environment.

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 example 5 (stand-alone script)

The following Python script demonstrates how to use the Copy function with a feature dataset and specify the associated_data parameter within an enterprise geodatabase environment.

# 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)

Related topics