Lab 3: Geometric Rectification in ArcMap
Adapted from a tutorial developed by the Geographic Information Centre (GIC) of McGill University
Eidan W. Willis
Adapted from a tutorial developed by the Geographic Information Centre (GIC) of McGill University
Eidan W. Willis
Introduction
Section 1 – Getting Started
Section 2 – Georeferencing and Image Manipulation
Section 3 – Perfecting the Fit
Section 4 – Exporting your Georectified Image
Conclusion
In Lab 3 of ENVB 530, we explored a useful methodology for manipulating and transforming rasterized paper maps in ArcMap known as Geometric Rectification. Georectification allows us take an image (i.e., raster data) that has yet to be orthorectified and manually match it to a shapefile (i.e., vector data) that has been orthographically corrected. Essentially, we use vector data that has already been geometrically corrected for digital use as a reference to help us rectify a given set of raster data (e.g., a scan of a historical map, aerial photos, etc.). We will be using georectification to correct a scanned raster street map of Montreal in 1903 with present-day vector street data as reference. This lab will be broken into the following three sections:
In Section 1, we will unpack our data and preparing it for analysis. We'll also need to make a new .mxd file and orient our layers in the ArcMap Table of Contents.
In Section 2, we'll learn how to access the Georeferencing tool in ArcMap to help us orthorectify a street map of Montreal from 1903.
In Section 3, we expand on the utility of the Georeferencing tool to perfect our 1903 street map. The Control Points tool is our best friend in this section!
In Section 4, we export our image and learn how to edit and import projection metadata from one file to another.
To begin, we need to download and unpack our data. We will be using a vector data .shp file of the current street map of Montreal to georectify a scanned copy of a 1903 Montreal street map. The modern streets .shp file is large, so make sure you have enough space before you continue (this is particularly important if you're using a remote desktop like I was). Once we have our data unpacked and accessible via the Catalog in ArcMap, we can add our two layers – the modern street map .shp file and the 1903 street map .jpg file. Keep in mind that the 1903 street map is just an image without any metadata that would normally be accessible via the layer's Properties tab. This also means that the data contains no information on coordinates or projection. By now, you should have realized this from the error message that pops up telling us that this image has no information about the projection. Luckily, by the end of this lab, we shouldn't be getting this error message anymore!
The map of Montreal from 1903 (you'll have to zoom to layer to find it!).
But, because the 1903 street map image currently has no projection information, ArcMap gives it the coordinates (0, 0) and each pixel is standardized to 1 meter in size. To locate the file, navigate to the 1903 map layer in the Table of Contents, right-click, and hit the Zoom to Layer button. You should now be able to see the map in all its glory. Notice how ragged the map is after over 100 years of wear and tear; if we zoom in, we can even see that the creases developed after years of folding the map into fourths has slightly warped its contents. This, too, can be corrected with Georectification.
The current street map of Montreal.
Now, zoom to the .shp file of the current street map of Montreal. Adjust the transparency of the layer to your liking (30% would do) and place it above the 1903 map in the Table of Contents so that we can visualize the two layers on top of one another. Zoom in a bit to the layer so you can see street names. If only highway names show up, navigate to the layers Properties tab and set the Label Field to R_STNAME_C in order to display streets in the region you chose. Make sure you choose an area that is easily recognized even when the 1903 layer is underneath – personally, I picked the area around Parc Jeanne Mance because its an easy-to-recognize grouping of large rectangles right on the Northeast border of Mont Royal.
Zoomed into the modern .shp file to see a subset of Montreal somewhat centered around Mont Royal (i.e., the big space in middle).
Now that we've imported and taken a look at our two layers, we can visualize them together and manipulate them how we need using the Georeferencing tool. Navigate to the tool through Customize >> Toolbars >> Georeferencing at the top of your screen. In the Layer drop-down menu of the tool, make sure that you have the 1903 street map raster file selected – this tells ArcMap that this is the layer you are going to be georeferencing. In ArcGIS, items are drawn on the screen according to the projection information of the layer – unless there is no projection information, in which case the layer is given the coordinates (0, 0) as described above. The Georeferencing tool, however, breaks this rule by allowing for projection-irrespective superimposition.
In this way, we can visualize two layers directly on top of one another irrespective of their projections, the size of the layer, and other layer properties. From the leftmost tab of the Georeferencing tool (also titled Georeferencing), select Fit to Display to be able to superimpose the two images on top of one another. Keep in mind that the order in which they are superimposed in the display depends on the order you've specified in the Table of Contents, so make sure that you have the Raster data (i.e., 1903 image) superimposed on top of the Vector data (i.e., modern streets). Test out the georeferencing tool by stretching, rotating, and translating the 1903 street map layer to match with the modern street map base layer. Keep track of the place-marker you've chosen (i.e., for me, it was Jeanne Mance Parc) and use that place-marker to align the two layers as closely as you can.
Zoomed in to show a subset of Montreal centered around the Plateau in the 1903 map.
When you've gotten the two layers close enough to be able to see the edges of place-marker through both layers, use the Control Points tool (i.e., a button in the Georeferencing tool) to get an even better fit. Our goal is to align the two layers so well that the same projection used in the Vector layer can be used for the Raster layer. Control points will allow us to manually connect identifiable commonalities (e.g., street intersections, object corners and edges) between the two layers. Start by navigating to your place-marker and select the Control Points tool. It is essential to understand that ArcGIS assumes that you are first selecting the top layer (i.e., the 1903 street map) and then the bottom layer (i.e., the modern street map). This way, we can anchor roads and places of interest on the raster layer to itself on the orthorectified vector layer, thereby rectifying the raster layer itself. As you add control points, you'll notice that the raster layer will shift and mold to fit better and better with the vector layer. Continue to do this until you're satisfied with your result – I placed about 50 control points all around downtown Montreal. You can look at your control points, as well as the coordinates they have in both the Source layer (i.e., 1903 streets) and the Map layer (i.e., modern streets) using the Link Table (i.e., found on the Georeferencing toolbar). This is also where you can delete misplaced control points. And, if you're having trouble orienting yourself, use the Fit to Display tool to resize your maps to the ArcMap display size.
The Link Table displaying control points placed in the georectification process.
A look at the two maps superimposed upon one another. The red colored noise on the 1903 layer are all the control points I placed.
Once your satisfied with your resulting raster layer, save your work in ArcMap and choose the Rectify option in the drop-down menu of the Georeferencing tool. ArcGIS will default to creating an image with very high resolution (i.e., a Cell Size of 1-2 meters), which could take up more space than is needed for this project and/or crash your computer. To avoid this, set the Cell Size parameter in the Rectify tool to a larger size, like 5 meters. Be sure that the path to which you save the image has no gaps – this will allow you to choose the following image formats:
Set the image format to type TIFF.
Set the NoData value to 255 to ensure the image is a more universally accepted 8-bit format.
Save the image with a name that can be used to easily distinguish which file is most up-to-date in the case that new edits will be made. Once all of this is done, save the image and add it back to your Table of Contents to check that the XY Coordinate System property was inherited from the modern Montreal street map vector layer. In my case, the spatial reference metadata of the newly rectified 1903 street map image was still undefined, even though it had been shifted and corrected according to all the above steps. This might be the case for your image, as well, though this can be corrected as follows:
Find the image via the path you specified in the Catalog
Open the image's properties and select the Spatial Reference property to view the pop-up window
From the pop-up window, import the coordinate system attached to the modern Montreal street map .shp file to the image
Delete the old image from your Table of Contents, add the new image from the Catalog, and take a look at the Spatial Reference property in the Properties tab to ensure that the XY Coordinate System was properly imported.
And...voila! We now have a georectified street map of Montreal from 1903 ready for analysis!
From the pop-up window of the Spatial References property, we can see that the NAD_1983_MTM_1 projection from the modern Montreal street map .shp file has been imported.
After adding the image to a new data frame in the Table of Contents, we can now see that the spatial reference, though undefined, has the XY Coordinate System NAD_1983_MTM_1 that matched the modern clipped-streets shapefile.
The newly georectified 1903 Montreal street map .jpg file.
In this lab, we explored Georectification: a useful methodology for manipulating and transforming rasterized paper maps in ArcMap. We used a set of vector data – a modern street map of Montreal – that had already been geometrically corrected to help rectify a separate set of raster data – a scanned raster street map of Montreal in 1903. We did this by:
Unpacking our data and preparing it for analysis in Section 1.
Learning how to access the ArcMap Georeferencing tool in Section 2.
Employing control points to expand on the utility of the Georeferencing tool and perfect our 1903 street map in Section 3.
Exporting and (if necessary) importing projection metadata to a newly georectified image in Section 4.