Data sets stored as images may have features such as roads and rivers that may allow you to associate the data with a geographic location. However, raw data do not represent locations on the surface of the Earth unless the data carry some reference to the ground location. Geometric rectification (or georeferencing) is the process by which the geometry of an image area is made planimetric, thus allowing the data to be used to provide accurate map locations for features in the data. The process almost always involves relating GCPs (ground control points e.g., meters in northing and easting for the Transverse Mercator map projection) to pixel coordinates from the image (e.g., row and column values). This is necessary whenever accurate area, direction, and distance measurements are required. Most serious earth science remote sensing research is based on analysis of data that has been correctly rectified to a base map.
| File Name | myrtle-beach_cams_1997-08-02.img | Quick View |
|---|---|---|
| Location | Myrtle Beach, SC |
Altitude 1,524 m AGL |
| Sensor |
Calibrated Airborne Multispectral
Scanner (CAMS) |
|
| Spatial | 3 × 3 m | |
| Temporal | August 2, 1997 | |
| Spectral |
Layer 1: Band 2 = Green (.52-.60)
Layer 2: Band 4 = Red (.63-.69) Layer 3: Band 6 = NIR (.76-.90) |
2. Intensity Interpolation, which is the mechanism for determining the brightness value to be assigned to each pixel in the rectified output image.
Imagine offers several methods to rectify images to maps. In this exercise you will perform a simple rectification of a CAMS image of downtown Myrtle Beach, SC to a UTM map projection. The procedure follows the general outline:
2. The .gcc file is input to the Tranformation Editor, which creates a matrix containing the transformation coefficients.
3. A geometric model file (.gms) is then created using the model properties and the original .img image file are input into the Resample Display program to produce a rectified .img image file.
Subset the Image
CAMS data is notorious for its geometric irregularities due to the side-to-side scanning motion of the scanner and unstable platform. In this lab, we will minimize these errors by subsetting a small area of the Myrtle Beach image to use for rectification. You should now have the myrtle-beach_cams_1997-08-02.img file in the viewer with RGB = Layers 3,2,1. Bring up the Inquire Box feature by placing your cursor in the viewer and press the right mouse button for the QuickView menu. Select Inquire Box... and wait for the box to appear. You should also have a dialog box showing the x and y coordinates of the box. Within the box displaying image coordinates, go to Type and select File (since we are dealing with an unrectified image). Using your cursor, drag the box that appeared in the viewer over the image by placing the cursor in the middle of the box and holding down the left mouse button. You should see the coordinates of the box change as you move the box around with your cursor. This box can be resized by dragging the lines and corners of the box with your cursor. Now we are going to subset using specified file coordinates so go to the box displaying the image coordinates and type in the following file coordinates :
| ULX | 38 | LRX | 450 |
| ULY | 5 | LRY | 400 |
Once you have entered the above coordinates, click Apply and the
box should center itself on those coordinates near downtown Myrtle Beach (don't
be alarmed if the coordinates change a little when you click Apply, this is
due to pixel constraints within the file). Now bring up the Image Interpreter
Utilities by clicking on the Interpreter icon in the Imagine icon
panel.
When the Image Interpreter menu comes up, click on Utilities... and then click on Subset... when the Utilities menu appears. This should bring up the Subset dialog box. Specify myrtle-beach_cams_1997-08-02.img as the input file and name the output file myrtle-beach_cams_1997-08-02_subset.img. Now click on the From Inquire Box button and the file coordinates that you previously specified should appear as the Subset Definition. Leave everything else in default and press OK. Once the subset is complete click OK then close the Utilities and Image Interpreter menus as well as the Inquire Box window.
You are now going to use a Digital Line Graph (DLG) of the road network in Myrtle Beach to rectify your image. The DLG you will be using is in ARC/INFO's interchange format and is called myrtle-beach_roads.e00.
Now import the file myrtle-beach_roads.e00 using the import module and specifying the Type as Arc_Interchange to Coverage and the Media as File. You might want to create a vectors directory in your workspace to separate your vector files from your raster files. Import this file as a coverage, not a grid. By importing this road coverage, Imagine will create an info directory inside your assigned output directory. You may also want to import the myrtle-beach_bldgs.e00 file and overlay this coverage on the roads for additional features for ground control selection. Like raster layers, you may have multiple vector layers in a viewer. Place both coverages in the viewer before you begin rectification.
Once you click on this button, the GCP Tool Reference Setup menu should appear. Click on Vector Layer (New Viewer) if you are beginning the rectification process from a new viewer and click OK. This should bring up a dialog box asking you to select a Reference Vector Layer. Go to your 751f04 directory (or the folder you downloaded the files) and click on mb_roads and click OK. When the Reference Map Information box appears click OK again and wait for all windows to position themselves. The GCP Tool window should appear on the bottom of the screen and two Chip Extraction Viewers (magnifiers) should appear, one for each viewer. These viewers are to assist in the placement of your GCPs.
In the GCP Tool window select File - Save Input As... to name a new GCP file. Move the cursor to the blank window at the top of this menu and type the name ex7input.gcc (again making sure you are in your 751f04 directory or in the folder you want to save the files). Once you move the cursor out of that window the .gcc file extension is automatically added. Select the OK button. Now do the same for the reference points you will add. Go to File - Save Reference As... and name the file something you will remember. Throughout the GCP placement process, you should periodically save both the input (source) and reference (destination) files by going under File - Save Input and File - Save Reference. This will update your GCP locations in your .gcc file. By saving both the input and reference GCPs will allow you to load them at a later time using the Load options under the File pull-down menu.
Now examine the road coverage a little closer. You should be able to recognize the similar road networks within your image. You will now use this DLG to rectify your image. Vector files can be opened using the File - Open - Vector Layer menu path. Imagine supports a robust vector module that allows a variety of editing functions found under the Vector menu in the viewer. All the attributes associated with the opened vector layer can be viewed under Vector - Attributes. You can change the viewing properties (i.e. color, style) under Vector - Viewing Properties. You may want to save your viewing properties you have assigned as a symbology file (.evs). By doing this, you don't have to reassign the colors everytime you reopen the vector file. Now go to the viewer displaying the roads and place the cursor inside the viewer. Notice that the UTM coordinates appear in the lower left-hand corner of the viewer. You will now select Ground Control Points (GCPs) using UTM coordinates for image rectification. GCP's consist of two pairs of x,y coordinates:
When selecting GCP's, collect points evenly distributed throughout the entire area to be georeferenced. This will aid in a good rectification. Features like road intersections, corners of large building complexes, and land/water points etc. are good choices for finding locations on both images and topographic maps. A good number of GCP's for this exercise is 15-20 (in the real world the number could reach 60). Now go to the GCP Tool window and select View - Tools... The following box should appear:
The crosshair button is for droping a GCP onto either the source or destination viewer. If you had no reference map or image, you would have to enter the coordinates by hand or enter a GCP file collected with a Global Positioning System (GPS). Now position the chip extraction viewer to a corresponding area on both the image and the road coverage. Drop GCP #1 by clicking on the crosshair button and then moving to the CAMS image and clicking on the location (street intersection) you want to place the GCP. Now repeat this process, but this time drop a GCP in the corresponding point on the DLG road coverage. Remember that the road coverage represents street centerlines so placement of GCPs should take this into consideration. When you are finished with the placement of both the source and destination locations for GCP #1, you should be sent to the GCP#2 row automatically. Note: you can fine tune the location of your GCPs by selecting them with your cursor and using the arrow keys to move them to their desired position. Also, you may want to change the color of your GCPs by going to the GCP Tool window and placing the cursor over the Color row of the corresponding GCP. Hold down the right mouse button over the color and select a new color.
| GCP Tool Menu Buttons | |
|---|---|
|
|
After you have placed 3-4 GCPs, you may want to use the GCP Prediction feature by going to Edit - Point Prediction. Reference from Input will predict reference points from input points and Input from Reference will predict input points from reference points. The GCP Matching feature allows you to compare spectral values when registering an input image to a reference image (raster to raster). This feature is not available because we are rectifying a raster file to a vector file.
During the GCP selection process, you may wish to use the Automatic Transformation Calculation button (see menu above). This will display the coefficients of the transformation matrix and calculate the RMS error between the file points and map points. For this exercise you will try to get the Root Mean Square (RMS) error to be less than 1.0. In the GCP Tool window use the scroll bar at the bottom to move your view to the far right-hand side. Here are the listings of the errors (residuals, RMS error and contribution for each GCP). This can help you determine the GCP's you might wish to change. If the RMS Error for all your GCPs is below one, then congratulations, you are talented at selecting GCP's. The Total RMS Error for all GCPs is listed just right of the buttons in the GCP Tool (for example: (Total) 0.3984)). Try to get the total as close to zero as possible. If the Total RMS Error is above 1.0, you will need to either delete a GCP to improve the RMS error or move the GCPs until the RMS error figure is more appropriate. You might want to see the RMS error be automatically calculated by grabbing one of the GCPs with your cursor and dragging it around the image, but be sure to put it back in its proper place!
The procedure for deleting a GCP from the table is to move the cursor to the far left-hand side of the table and in the first box of the row relating to that GCP you select the lmb (the whole row should turn yellow) then select the rmb and in the quickview menu that appears find and select the Delete Selection option. Try not to delete too many GCP's - it's better to try and make them fit before removing them.
| |
Display Model Properties |
| |
Display Resample Image Dialog |
When the Resample window opens, find the Output Cell Sizes boxes. Change both the X and Y to 3.0. (This indicates the size of the pixels for the rectified image; 3.0 x 3.0 m for CAMS Data) Select the nearest neighbor resampling algorithm (it should already be selected). Now name the output image ex7.img, click OK, and let the resample model do its stuff. Your rectified image will be created and stored under the filename which you have designated. Close down the GCP Tool window by going under File - Close and saving all files. Now start a new viewer to display your rectified image and compare it with the unrectified image.
You can perform the geometric correction with the unit of feet since the reference image (SPOT Pan) has the unit of feet (32.8 × 32.8 ft = 10 × 10 m). If you want to use the unit of meters, you need to reproject the reference image first using another map projection with the unit of meters like UTM, and then perform the geometric correction. Or you can reproject the geocorrected output image using another map projection after performing the geometric correction first with the unit of feet. If you are more familiar with feet, you may want to leave the unit as feet. The choice is yours. You can find "Reprojection" function in the DataPrep menu (FYI, 30 m = 98.4252 ft).
2) Suppose you selected a number of GCPs that were taken from both natural (fork in the river) and man-made (road intersection) features. Briefly summarize the reasons why some of your GCP's might have higher or lower initial RMS errors than the others. How might the attributes of images like study area location and resolutions of the sensor system used (e.g. spatial, spectral etc.) lead to easier or more difficult rectifications of the images.
3) Note the dataset you are using for ground truth (e.g. A Digital Line Graph, previously rectified image). What kind of error could be associated with your approach to GCP acquisition?
4) What other sources could you consider using for obtaining ground truth for GCP acquisition?
5) In the exercise, erroneous ground control points are deleted to improve the geometric fit. Sometimes however, it may be necessary to raise the RMS tolerance level (ie. not enough points). What would this mean in terms of the reliability of the rectification?
6) Is the spatial location of your GCPs (in reference to scene rectification) important to ensure an acceptable rectification? Why or why not?
7) What's your definition of the ideal Ground Control Point?