ArcGIS Toolbox – Define Projection vs. Project – What’s the difference?
Well the difference is very important. If you’ve tried to add a shapefile into ArcMap that does not have a .prj file (Projection File), you will get the message that it has an Unknown Spatial Reference. Sometimes you will get lucky and have a map that happens to be projected the same way as the unknown shapefile. But what to do if your data is nowhere near where it should be?
Every GIS dataset ever created, has been created in some coordinate system with some unit of measurement, and has some extent on the surface of the earth. If you get data that does not have a coordinate system designated, that does not mean it was not created in a specific coordinate system. It only means that you have to determine the coordinate system yourself and define that in ArcGIS before it can be projected on the fly or used for any analysis or data collection. You cannot randomly select a projection to define the data or pick the one you prefer for your data. There is only one answer for that particular dataset and it is now your job to find it.
Determining projections of existing data
Each layer you bring into your map should already have its projection and datum defined. However, if you get an “Unknown Spatial Reference” warning or an “Inconsistent Extent” error, the layer may not have its spatial reference defined, or it may be defined incorrectly. If possible, request this information from the data source. If you are not sure where the data came from or the data source is unable to provide the spatial reference information, you will need to determine the spatial reference before the data can be used.
If the data has been defined incorrectly, you will need to remove that from the data before going any further. This can be done one of two ways:
- Close ArcMap, and delete the .prj file from the folder where the shapefile is stored. Or…
- Open the Define Projection tool, select the name of the dataset that you are working with, click on the Coordinate System browse button. On the Spatial Reference Properties , click Clear, then Apply, and then OK. Click OK again to remove the incorrect coordinate system.
After removing the incorrect coordinate system from the data, you also need to remove the incorrect coordinate system from the ArcMap data frame. In ArcMap, click View>Data Frame Properties and go to the Coordinate System tab. Click Clear and then OK. Now you are ready to try to identify the correct coordinate system for this data.
Examine the extent of the data
Most GIS data in North America will be in one of the following coordinate systems:
- Latitude/Longitude (Geographic Coordinate System)
- US State Plane (Projected Coordinate System)
- UTM (Projected Coordinate System)
- Local (Custom Projected Coordinate System)
This can easily be narrowed down by viewing the coordinates shown in the layer’s extent. Right-click the layer in your Table of Contents, go to Properties, and click on the Source tab.
If the numbers shown in the extent have only two or three digits left of the decimal, this indicates that the data is in a geographic coordinate system and is likely Latitude/Longitude.
If the numbers shown in the extent box have 6 to 8 digits left of the decimal point, then we know this is a projected coordinate system. Knowing a little bit about what coordinates usually look like in your area will help here. For example, we know that the Y value of UTM coordinates is always measured in meters from the equator. Here in the middle latitudes, this usually results in Y values in the millions.
However, if the data is in State Plane, you will usually be looking at 6-digit numbers in the Y-value because coordinates are measured from a false origin that is south and west of the State Plane zone, and you will not usually have coordinates in the millions. For example, here in southern Idaho, the Y coordinates are usually between 100,000 and 200,000. This, of course, is going to be very different in other locations, but you can get a good idea of what to expect in your area by looking at the extents of other data defined in the State Plane coordinate system.
Other combinations of numbers that don’t fall into one of these categories is likely a local, custom coordinate system.
Note: When the coordinate system is undefined, you will see question marks after the numbers in the extent box. This is where you would usually see the units of the defined coordinate system, but because the coordinate system is undefined, the units are unknown.
When you have it narrowed down to just a few choices, you can start experimenting to find the exact coordinate system and datum by comparing to known reference data.
When you know the correct coordinate system of your data, you can use the Define Projection tool in ArcToolbox to assign the projection. This will write the .prj file required for your data to be projected on the fly in ArcMap. If you define the projection incorrectly, your data will not appear in the correct location. Again, you cannot define the projection as anything you choose. It must be defined in the same coordinate system that the data actually exists in.
Let’s look at an example. Here I have downloaded some parcel data. It did not come with a .prj file or any information about the coordinate system that defines the data. When I add it to the map, I get the unknown spatial reference message, and the data appears in the Gulf of Guinea… not anywhere close to Billings, MT where it should be located.
When I look at the extent of the data, I see that both the X and Y values have 6 digits left of the decimal. I can eliminate Latitude/Longitude and UTM for reasons described above. I will use the Define Projection tool to define the data in the US State Plane, Montana coordinate system and see if it lines up.
Now when I zoom in close to my layer, I can see that it lines up nicely with my background data.
This may be enough for your application and you might be able to stop here. However, if you plan to do analysis, editing, or check the data out to ArcPad for field data collection, you will need to have the data in the same coordinate system as the other layers you are using.
Once the data has a coordinate system defined, you can re-project to the coordinate system you actually need. To do this, you use the Project tool located in ArcToolbox>Data Management Tools>Projections and Transformations. Instead of transforming the original file, this creates a new copy of the data in the new coordinate system.
This is the difference between the Define Projection and Project tools in ArcToolbox. Define Projection is used to assign the coordinate system that the defines the data. This cannot be anything other than the true coordinate system of the data. The Project tool is used to re-project the existing data from one coordinate system into another. Save yourself the frustration and don’t mix them up!