Georegister a Scanned Paper Map

A common use of Manifold is to create drawings that are based on paper maps. Although many maps are already available as drawings in digital GIS formats there are still many maps published on paper in the world's archives. To use information from paper maps we first use a scanner to create an image. We can then import the image, georegister it, and use it within Manifold.


This example uses a map originally published in a book that shows climatic zones in Australia. Our objective is to get this image into Manifold and to georegister it. The image is a small one printed as a small part of a page in an atlas. However, the data is interesting and we would like to make as much use of it as we can.


Before reading further in this example please read:



Georegistering an Image to Known Coordinates

Error Surfaces

Create a Table and Add Records


This is a long example even though the material it covers is quite elementary. It is lengthy because it includes many small details that a reasonably experienced Manifold user would take for granted.


In most cases of georegistration we will georegister an image to a drawing where both image and drawing contain discernable geographic features that can be used as control points. For example, the image might clearly show an intersection between highways that is also obvious in the drawing. Georegistration in such cases is fairly obvious and how to do georegistration in those cases should be readily apparent based on the topics cited above.


This example takes a much more complex case, which goes into a major diversion to create "control points" within a table. It shows how even if we don't have a drawing to which we can georegister we can still georegister if there are locations within the image that can be assigned latitude and longitude locations. In this example those locations are intersections of graticule lines in a printed map. In other cases, the locations within the image might be some clearing or other visible location for which we have latitude and longitude locations, perhaps because we have visited such locations with a handheld GPS and have recorded their coordinates.


For example, it's often the case in forestry applications where an image of a forest must be georegistered but there is no drawing to which it can be georegistered. In such cases foresters might visit actual locations seen in the image and note the latitude / longitude coordinates of such locations using a handheld GPS. Such locations might be clearings, intersections of logging roads or other features that can be distinctly identified in the image.


For this example we assume the Project pane and the Control Points pane are both open.


Step 1: Scan the Image and Import into Manifold


We lay the book on our scanner and scan in an image. Our scanner produces a .tif or other graphics format image that we can import into Manifold. We crop the image to Australia and convert it to RGB. We've named the image Oz, a friendly nickname for the enchanted land of Australia.




The paper map was printed in the book using a Winkels projection. When imported into Manifold the image is imported using the default Orthographic projection. We really don't care what projection was used initially or how it was imported since the georegistration process will re-project the image as needed. Likewise, we really don't care if the book was placed on the scanner with imperfect alignment. If the image was rotated the georegistration will remedy that as well.


Step 2: Place Control Points in the Image


Most paper maps have a graticule (lines of latitude and longitude) printed on the map. The graticule lines are usually placed at round numbered latitudes and longitudes.




If we examine the book we see that the graticule lines for our example have been placed every 10 degrees of latitude and every 15 degrees of longitude. By inspecting the map we can immediately read the latitude and longitude location of each graticule intersection. For example, in the illustration above the intersection immediately to the North of the printed "Wellington" caption is located at longitude 180 and latitude -40. [South latitudes and West longitudes are written as negative numbers.]


We will use graticule intersections in the image as control points. We intend to follow a procedure similar to that given in the Georegistering an Image to Known Coordinates topic.




images\btn_new_thing.gif Opening the Control Points pane we click on the New Control Point button and add control points at graticule intersections near Australia.


We name each control point with a short name that helps us keep track of which control point is which. When placing control points in a regular grid it is often helpful to use names like A1, A2, A3 and so on for the control points in the first row and then B1, B2, B3 and so on for the next row.


Note that when placing control points on graticule lines in this way all of the A points have the same latitude value, as do all of the B, C and D points. Likewise all the points on the same longitude line have the same longitude value. We will exploit this coincidence later in this topic to enter more rapidly the values of control points that will be used to guide georegistration.


We do not show the full illustration in this example, but the printed book shows that all of the A control points are at latitude -10, the B points are all at latitude -20, the C points are at latitude -30 and the D points are at latitude -40. The 1, 2, 3 and 4 points are mostly at longitudes 105, 120, 135 and 150. The D4 control point is at longitude -165.


Note: When placing control points, it is often helpful in Tools - Options to uncheck Autoscroll window on edit or selection process. This prevents the image window from scrolling as we move the control point insertion cursor into the window. Also, it is often helpful to zoom into the image for each control point so we can place it more precisely.




After we finish placing control points the control pane will have a list of control points as seen above. [The coordinates for each don't really matter since they are abstract coordinates giving their position within the Orthographic coordinate system of the image.]


Step 3: Create a Table with Control Points


By reading the paper map we can determine the exact coordinates of each of the sixteen control points marked on the image. This will allow us to use a procedure like that in the Georegistering an Image to Known Coordinates topic. In that procedure we created a blank drawing and placed control points in the drawing and specified the latitude and longitude coordinate of each control point in the Control Points pane.


In this procedure we will take a slightly different approach. We will first create a table and then enter control point values into that table. We will then copy the table and paste it as a drawing of points. We will then load the control points pane using those points. This is a more indirect approach, but when large numbers of control points must be entered it is usually faster in the long run to exploit the editing and organizational powers of Manifold tables.


Follow the procedure set forth in Create a Table and Add Records to create a new table and to add sixteen records to it. Create each record with a value in the Name field only. Because this example places control points at the intersection of round-numbered latitude and longitude lines we will enter whole numbers only. It's often the case that we will want to enter latitudes and longitudes using either decimal degrees notation or degrees - minutes - seconds notation. Manifold tables can accept entry in either style as shown in the Create a Table and Add Records topic.




For each record we will specify only the Name, using names corresponding to the names we used for control points in the image. Since we don't specify the latitude or longitude value, each record will be created with a 0 value for latitude and longitude. The table appears as seen above after we have added sixteen records to it.




Now, a cool Manifold technique: select all of the A records. Double click into the Latitude cell of one of the selected records and enter -10. [For a refresher on selection techniques in tables, see the Selection in Tables topic.]




When we press Enter the value -10 will be placed into the Latitude cells of all the selected records. This is a fast way of entering the same value into more than one record. If we look back at the illustration showing control points in the image we can see that all of the A control points are on the latitude -10 graticule line.


We continue in this way to add latitude values of -20 for the B records, -30 for the C records and -40 for the D records.




We now will add Longitude values. Note that A1, B1 and C1 all have the same longitude. We select these records and double click into the Longitude cell for one of the selected records and enter 105.




When we press Enter the 105 value appears in the Longitude cell for all of the selected records. We next will select the A2, B2, C2 and D1 records and enter 120 for the Longitude of those records. [At this point we notice that it would have been smarter to number our D records as D2, D3, D4 and D5. Had we had the foresight to do so then all of the "1" names would have the same longitude, as would all of the "2" names and so forth.]


This trick of selecting several records at once to enter the same value in all of them is a very useful technique. If we don't want to use it we could always simply enter the latitude and longitude values for each record one at a time. However, taking some time to think through our task and planning to take advantage of patterns in our work allows us to work more rapidly and with less chance of error. It's a good example of how planning combined with skill in using Manifold results in more efficient workflow.




The result of our work is a table that contains records giving the names and locations of control points.


Step 4: Create a Drawing from the Table


To create a drawing from the table we Copy the table in the project pane and then Paste As a drawing.




In the Paste As dialog we choose only the Name as a field to be pasted as a data attribute into the drawing. The latitude and longitude of each point is implicit in the point's position so it is not necessary to paste these. Because the point locations were entered into the table as latitude and longitude degree values, we check the Latitude / longitude coordinates box (the default setting).


See the Create a Map from a Geocoded Table topic for another example of creating drawings from tables using Copy and Paste As.




The Paste As operation creates a new drawing in the project. We rename it to My Control Points Drawing and open it. The drawing shows sixteen points that were created from the records in our table. It is in Latitude / Longitude projection. We will now use these points as control points.




images\btn_load_points.gif To do so, we go to the Control Points pane and click the Load Points button. This dialog will create control points from all of the points in the drawing, using the specified field as the name of the control points. In the Load Control Points dialog we will use the Name field (of course) as the name for the control points. Press OK.




The result is that control points appear in the drawing at the location of each point. Each control point is has been named using the Name field of the point at which it appears.


Step 5: Georegister the Image


We can now georegister the Oz image using the control points specified in the My Control Points Drawing drawing. To do so we click on the image to make it the active window.


images\btn_register.gif Press the Register button in the Control Points pane to launch the Register dialog.




We will use My Control Points Drawing as the reference. With sixteen control points in what is intrinsically a low accuracy project (we did, after all, scan a small image in a printed book) the Numeric method with order 3 will provide reasonable accuracy. We will also check the Save error surface as box to create an error surface so we can later see what the likely georegistration error is at different locations in the georegistered image. Press OK to georegister.




Manifold computes for a while and georegisters the image.


Because the reference drawing was in Latitude / Longitude projection the image now is also in this projection. We can see the image is in Latitude / Longitude projection because the latitude and longitude lines in the graticule are now straight horizontal and vertical lines. The internal scale of the image is slightly altered to preserve the original pixel aspect ratios as much as possible, so when seen by itself in an image window the image seems slightly compressed East to West.




We can open the error surface , called Oz Error, to see the root mean square error analysis. In the screen shot above we have used View - Display Options to specify a Spectrum palette to color the error surface so that different error values are more evident. Clearly, the central portion of the georegistration within the region covered by control points has low error in georegistration.


Step 6: See the Georegistered Image in a Map


Let's see how our georegistered image appears in a map together with a drawing that we know is exact. We import the World drawing published together with Manifold System for use as a base map. This drawing shows the countries of the world as areas. We then create a map using this drawing and open the map.


To show the Oz image in the map with the drawing we drag and drop the image into the map. It first appears as a layer above the drawing. We move the drawing layer above the image layer and then change the background color for areas in the drawing to transparent so that only the "edges" of the areas appear in the drawing. See the Transparent Areas topic for information on use of transparent colors as background or foreground colors with areas.




This allows the image to be seen through the areas in the drawing layer as seen above. We can therefore make a direct comparison between the shape of the georegistered image and the drawing that we know is very precise. Considering that we obtained the image by scanning a small image in a book the registration and accuracy are remarkably good. Very close inspection will show that the shorelines are slightly off in the extreme Southeast region of Australia and Tasmania, but the rest of the apparent shoreline is very well aligned to the drawing.




To see if the slight misalignment in the Southeast region is a result of the georegistration process we can drag and drop the Oz Error surface into the map as well. We change the opacity of the error surface to 50% so the lower layers can be seen through the error surface. See the Layer Opacity topic for information on changing the opacity of layers in maps.


We can see that a region of the lowest error values (in magenta color) passes right over the Bass Strait between Australia and Tasmania. It is most likely, therefore, that the lower correlation of the georegistered image and the known-accuracy drawing in the far Southeast is caused by lower accuracy in the original image. It was, after all, a small image printed in relatively low accuracy in a book to portray thematic information and was not intended for precision cartographic uses. The Winkels projection used in the book (a projection showing the entire Earth) also has its greatest distortion in the far Southeast.


Step 7: Create Drawings by Tracing the Image


We can use georegistered images for many purposes in maps just as they are. We can use them as backgrounds or as reference materials. For example, we can use the georegistered Oz image to see instantly in which climatic zones various cities might be located should we care to drag and drop a drawing of Australian cities into the map.


Another common use for georegistered images is the creation of new drawings by tracing. Images are intrinsically inefficient, so we can convert them into more efficient form by creating a new drawing and then drawing areas over the various regions shown by different colors of pixels in the image. See the Tracing topic for details.


To create a new drawing we begin by adding a new blank drawing to the map. Within the new drawing we can trace new areas. Lets' create an area that covers the climatic region shown over central Australia. We turn off the error surface layer and then create a new area in the new drawing.




images\btn_shp_area.gif We create this layer using the Insert Area tool. After zooming into the map to a suitable degree we simply click along the edge of the dark yellow region seen in the image. The result is a new area (which we have formatted in yellow color with a speckled area style).




If we click off the image layer in the map we can see the world map layer together with the new drawing layer and the newly-created area. It's tedious, but if we wanted to we could use tracing to create new areas showing all the different climatic zones of Australia. We could add a field to the drawing used for tracing in which we could place a value for the different types of climatic zones. We could then use thematic formatting using the code for climatic zone to automatically color the new areas into different colors like those seen in the original image.


It's true that because the original Australia image is low accuracy we would have to interpolate by eye to draw the new climatic areas in the Southeastern part of Australia. However, the data set is obviously approximate and intended for a broad overview so such interpolation would be reasonable.




Many printed maps have graticules printed on them that can be used to repeat exactly the procedure above. The example map was a low quality, low accuracy, small map printed in a book. It was part of a map showing the entire world in Winkels projection, so the Australia portion of the map was quite distorted in projection. Nonetheless, the result of scanning and georegistration within Manifold was eminently useful. Had we started with a higher quality printed map, such as a USGS printed topographic "quad" map, our results would have been better.


Manifold and modern, high precision vector drawings used with Manifold are often much more accurate than printed maps. It is surprising to learn that a trusted atlas or even a chart intended for marine navigation may contain substantial inaccuracies. Such inaccuracies may arise from inaccurate data used to draw the map, distortions induced by the printing process or may even arise from poor quality projections. It is only recently that modern computers have made precision projection computations both automatic and routine.


When tracing areas such as the one created above there is a basic difference between the freehand, casual tracing possible in the region within Australia and the highly precise edge desired at the shoreline, where the newly-created area should precisely coincide with the detailed vector shoreline of the world map. The way to achieve a precise shoreline for the new area is to create the new area so that it substantially overshoots the shoreline. Next, since Australia is an area in the world map we can use the Australian area with the Clip with (Intersect) operator in the Transform toolbar to exactly trim the new area to the desired shoreline.


When working with scanned images of paper maps that show smaller regions of the world the graticule lines are usually aligned to "round" values using degrees, minutes and seconds notation. Part of the benefit of entering control points using a table is that we can enter values as read off the paper map using degrees, minutes and seconds notation and the table will automatically convert that for us to decimal degrees. See the Create a Table and Add Records topic for a detailed example showing how data entered in degrees, minutes and seconds can be automatically converted into decimal degrees.