Working with Coordinate Systems
The great thing about geographic information systems is that data from different sources can be juxtaposed, according to the way that each is related to the suface of the planet -- and new information emerges about possible realtionships. This is made possible by spatial referencing systems such as Latitude and Longitude or projected coordinate systems. Software is getting better at aligning images and layers that are referenced in different coordinate systems, nevertheless we often encounter problems getting layers to line up as they should. This document provides some tips for troubleshooting and fixing alignment problems with spatial data.
GIS databases organize information about observations with information about location. Inside a dataset, the location information is recorded using coordinate references. Because of the difficulties of referencing locations on this irregularly shaped planet, a dataset may utilize decimal degrees latitude and longitude or any of hundreds local coordinate systems. The problem of causing these layers to line up is that the software must understand how the coordinates inherent in the data relate to the surface of the planet. If a dataset carries information that provides this information about its coordinates, then the software can transform the geometry of any layer to overlay correctly with any other. As described in Fundamentals of Geospatial Coordinate Systems the identification of a coordinate systems amounts to the sprecification of an Earth Model, Projection Method and Projection Case. Software such as ArcGIS can do a good job of transforming the coordinate systems of raster images, feature classes and CAD data, aligning them on-the-fly, provided these data have embedded metadata that accurately identifies the coordinate system that is used to identify locations within the dataset. When data layers don't line up, it is because one data layer or another does not have the proper embedded coordinate system information.
Because ArcGIS can re-project the coordinate systems of layers for display purposes, and will do a certain amount of educated guessing, it can be a bit confusing. You may have layers of many different coordinate systems all being aligned well and being displayed in yet another coordinate system. Depending on the order that layers are added to a map, you may have layers that align well sometimes, and the next time you add them, they don't align!
Most of the time ArcMap is able to load different layers and to project them apropriately. This is because most GIS datasets carry computer-readable properties (metadata) that indentifies their coordinate referencing system. Not all datasets have this information. This includes many images, CAD Data, and GIS datasets that were created before 2002 or so, when the idea of embedded metadata was put into common practice. Because the arcmap dataframe reprojects data layers silently, solving the problem of unidentified, or mis-identified coordinate systems can be a bit confusing. It is helpful to understand these independent variables:
To assure that data layers will always align, the coordinate systems of all layers need to be defined, and these definitions need to be embedded into the data layer. The first task in assessing the situation with layers that don't align is to check the source properties of the layers you have open, and checking the coordinate system definition under the Source tab. If some of your layers is 'Undefined' or 'No Projection' then these you need to figure out the coordinate system of the data, and then you may have to have their projection defined using the Define Projection tool that can be found in the Geoprocessing toolbox under Data Management>Projections toolset.
In the case of CAD data and images, it is likely that the coordinates inherent in the data are completely arbitrary. When this is the case, you need to georeference the data as described in Georeferencing Images and CAD data.
If you have a layer whose coordinate system properties are Undefined or Unknown , there are a number of alternatives for figuring out what its coordinate system is. Did the data layer come with any metadata (documentation about the data?) This would be the best way to learn whatr the coordinate system is. If not, you should figure out what the native coordinate units of the layer are, and then proceed to guess what the projection is.
What are the Units? the most fundamental aspect of a coordinate system are the coordinate units. This can be accomplished bu measuring something such as the width of a street. But this can be very confusing if the ArcMap dataframe is set to transform units. Since the coordinate units of the layer in question are undefined, this can be confusing. So before measuring things on the map you should Clear the projection properties of the dataframe so that ArcMap will stop re-aligning the layers automatically and show each data layer in its own coordinate space. You should also set the Map Units, under the General Properties tab, to unknown units, so that ArcMap will cease its transformation of units, so you can learn what they actually are! Once you have done this, you may see that several layers that were aligned aren't anymore. That's OK, you can right click on any layer and zoom to its extents. Now, when you wave the mouse over the map, you can watch the coordinates change on the bottom right side of the map frame. Are all of the coordinates between [-180 < X > 180] and [90 > Y > -90]? If so, then you have a layer with an unprojected, Latitude Longitude in Decimal Degrees (Geographic) coordinate system. If the coordinates aren't in decimal degrees, they are most likely in feet or meters. Use the measure tool to get the length of things like the width of a street, or the distance between two known points to see the length in the natural units of that layer. Since a a measurement in Feet will be approximately three times what you would expect a measurement in Meters would be, it is easy to guess what the units are.
The Projection: guessing a projection is easy if the creator of the data layer followed one of many extant conventions. If the data was compiled by a state or city government in the US, it is more than likely in the appropriate state-plane zone. You can find a shape file of US State Plane zones in the shared volume, \\terra\geo in the folder util\projections. If the data is locally detailed but part of a wide-ranging database that is broken down into many small tiled datasets, such as US Geological Survey or British Ordinance Survey maps, then the projection is most likely in the apropriate zone of the Universal Transverse Mercator System (UTM). Here is a handy image of UTM Zones. If the dataset covers a wide region, such as a country or continent in a single piece, then it may use one of the pre-defined national or continental coordinate systems that will be suggested in the coordinate system picker in ArcGIS.
The Earth Model A necessary component of a projection definiton is the earth model, sometimes known as the geographic Coordionate system. For data concerning North America, your choice is typically between the North American Datum (NAD) of 1927 or 1983. If you you think that your data was based on a map made before 1983, then pick NAD27. If not, choose NAD83. Guessing wrong can lead to errors as big as 20 feet. If your projection is UTM, and the focus is not in North America, then your earth model is probably the World Geodetic Spheroid of 1972 or WGS 1984. These guesses will cover about 95 percent of the data encounterd at the GSD.
A handy aspect of ArcMap's projection capabilities is that it is easy to reproject data on the fly to see what it looks like. You can change the projection of the data frame, and the layers with defined coordinate systems will transform; any layers without defined coordinate systems will remain in place. This can be a useful technique for experimenting. If your defined layers line up with the undefined layer, then you have picked the correct projection! The data layers stored in the shared volume \\terra\geo in the folder util\projections provide many reference layers that will be handy for experimenting with projections.
OK, so now you have figured out what the coordinate system is for your data. How can you embed the proper coordinate system info into your data? This is accomplished with Define Projection tool that can be found in the Geoprocessing toolbox under Data Management->Projections toolset. Note that your GIS data layers have a inherent coodinate system. Using the define projection tool to set the coordinate system properties of a dataset does not change the coodinnate system, it merely identifies it. If, in setting the coordinate system properties, you misidentify the data's coordinate system, not only will the data not line up with other layers, but it will be very difficult for anyone to figure out what the problem is.
Remember to redefine the projection properties of the data frame to something sensible before testing the alignment of your newly-defined data layer. ArcGIS won't try to align layers with disparate coordinate systems unless you tell it how you want the layers to be transformed!