Difference between Copy Features and Feature Class to Feature Class tools?

The Feature Class to Feature Class tool is a Conversion tool. The idea is to convert a feature class in one format (e.g. shapefile) to another (e.g. geodatabase). It also allows the user to control the Field Map - i.e. which fields will be copied over.

The Copy Features tool simply creates an exact copy of the input features. Note - this tool can also be used for data conversion but cannot be used to manipulate the Field Map.


The most basic difference is the level at which each of the functions are working.

The Feature Class to Feature Class tool is working at the Layer level, meaning that regardless of the features selected, it treats them as a whole. A new feature class is going to be created. This means that you have control over the structure of the new featureclass, including adding and deleting fields. You can choose a subset of features to copy over, but the emphasis is on the layer structure itself.

On the other hand, the Copy Features tool is working at the individual Feature level. Here, the focus is on taking a subset of features from a layer and copying them and all their attributes to a new layer. Copying the features means taking all of the attributes as well.

There are pros and cons to each approach. Both tools will create a new feature class, whether with a new name, or if you have the geoprocessing setting correct, by overwriting an existing feature class. The Feature Class to Feature Class tool lets you map fields, but restricts you to an SQL query to export any type of subset of features. The Copy Features tool lets you select any or all of the features in the featureclass if it is a feature layer with a selection applied to it. The tradeoff being that there is no control over the structure of the output featureclass. HT to @blah238 for the clarification.

Edit - 5/13/2013

After taking a closer look at your second question, and the comments from others about posting it as a second question, it seems that it directly relates to benefit comparison between the two tools.

The results of the Feature Compare tool show that the ObjectID and the Shape field are different. I am not sure the parameters you chose for this tool, but in the Help document, it states that you want to choose appropriate Sort orders to make sure that you are comparing the same features.

It is probably a safe assumption that you used the ObjectID as the sort feature, or just used the default, since the two featureclasses have the same features. This brings up a critical difference between the two tools:

Copy Features Maintains the ObjectID of the features being copied. Feature Class to Feature Class generates a New ObjectID for each feature. This removes any gaps in consecutive numbering that occur when features are deleted or combined with others.

Thus, the Feature Compare tool is seeing differences in the ObjectID field, because they no longer have the same numbers, and in the Shape field, because two features with the same ObjectID may now no longer be identical.

Example: Two Layers, each with 100 Features. ObjectID's range from 1-100. At some point in time, Feature 98 is deleted, leaving 99 Features Let's look at the last 5 features in each layer:

Original    Copy Feat    Feat to Feat  
    95          95             95  
    96          96             96  
    97          97             97  
    99          99             98  
   100         100             99

As you can see, 98 is missing from one layer, triggering the ObjectID mismatch. ObjectID 99 now refers to different features, triggering the Shape mismatch.

There are a few situations where it is useful to maintain an ObjectID. These are generally where ESRI has built internal links between features or layers, like in Relationship Classes, or Geometric Networks.