Skip To Content

Use preprocessing historical images

You can use historical images in ortho mapping, but keep the following in mind.

Scan film in preparation for ortho mapping

The following are general recommendations for scanning aerial film to use in ortho mapping:

  • Use a photogrammetric-grade scanner that maintains subpixel geometric accuracy across the entire image.
  • You can scan entire film rolls (recommended) or individual frames (if necessary).
  • Ensure the scan area includes the camera fiducials.
  • Try to obtain the camera calibration certificates (calibration report) that define the lens distortion parameters and the coordinates of the fiducials relative to the focal center of the lens. If these are not available, you can use estimates, but using the calibration can increase accuracy.
  • When scanning, especially if your source images are single frames, note the flight direction by comparing sequential images. Ensure the +X direction of the scanned image files is toward the direction of flight.
  • The recommended file format is tiled TIFF with internal tile size of 256x256 or 512x512 pixels. Internal tiling can be accomplished using OptimizeRasters.
  • A recommended scan resolution is approximately 15–20 microns per pixel (1700 to 1300 dpi). This yields adequate resolution without creating excessively large files.
  • Make note of the pixel size (microns) in your scanned files for later input into ArcGIS.
  • Optimize the imagery using OptimizeRasters to reduce file sizes using internal JPEG compression:
    • Compression quality level can be set between 80 and 97.
    • Compression quality level 80 provides approximately 5x compression for panchromatic data.
    • For color imagery, use JPEG_YCbCr color space with quality level 80 to yield approximately 8x compression.
  • Generate pyramids (reduced-resolution versions) of each file to improve performance. If you are unsure if pyramids already exist, check the file properties in the Catalog pane. If pyramids are needed, create them using Bilinear (average) resampling; do not use Nearest Neighbor. Pyramids can be created using the Batch Build Pyramids tool or using GDAL command line tools (The GDALaddo command will build overviews; you can download GDAL or use the version built into ArcGIS). If you're using OptimizeRasters, the image will already have overviews included.
  • There is no need to generate statistics on every image file as a preprocessing step. This may take a long time for a large image collection, and dynamic range adjustment (DRA) can be used to enhance visibility on-the-fly. After processing in ortho mapping, if you need to apply color correction, you can calculate statistics at that time.

Optimize for large, high-resolution imagery collections

If you have a very large collection of images that were scanned at a high resolution, processing may be slow due to file size. In this case, consider optimizing the imagery as a postprocessing step to reduce the image size and enhance desktop performance. Use the optimized version of the images as the active dataset and archive the source images for disaster recover.

Dodge images

Scanned aerial imagery can include significant trends in brightness and contrast caused by light fall off, haze, and vignetting effects of the camera lens. This can be especially noticeable in small scale imagery. Fully capturing the content of the imagery requires a scanner with a large dynamic range beyond that achievable with 8 bits per channel. Some scanners scan the imagery at higher dynamic range (for example,12 or 14 bits per pixel). These images can be stored at 16 bits per channel, but become very large in size. This can be resolved by scanners dodging the images. In this process, the images are scanned at full dynamic range, but the localized changes in contrast and brightness are digitally removed, enabling the images with full information content to be stored at 8 bits per channel.

Interior and exterior orientation

This section covers the orientation data requirements for successful ortho mapping and options for handling missing data.

The data and information required to photogrammetrically process historical imagery in ArcGIS includes the following:

  • Images scanned as described above
  • Scan resolution
  • Image acquisition height and or photo scale
  • Camera calibration report to determine sensor coordinates, focal length, and distortion parameters
  • Ground control points

In ArcGIS, initial information regarding the camera and the images are stored in a Cameras table and a Frames table, respectively.

You can create ArcGIS table data structures for these tables, but it is recommended that you use a spreadsheet saved in CSV format and ingest that into ortho mapping.

Frames and Cameras tables can be created separately or may be combined into one single table. For scanned aerial imagery, it is typical to use separate frames and cameras tables. There are two advantages of using separate tables:

  • A single Cameras table may be created to support multiple cameras. In an organization with large collections of film, a single Cameras table for interior orientation may be used for many different ortho mapping projects using the CameraID field.
  • Listing camera parameters in a single table results in duplication of the interior orientation data for every frame of the project, so using a separate Cameras table avoids this duplication.

Create a Cameras table

Collect the data listed here to eventually build a table populated with parameters listed in the Cameras table schema.

The parameters required for the Cameras table should be available in a camera calibration report. Pay close attention to units (millimeters versus microns, for example) since some values may need to be rescaled for ArcGIS Pro.

If you do not have a calibration report for your cameras, see the following recommendations for estimating or calculating some of the values.

Note:

Create field names in your table that match the schema exactly. For example, CameraID or cameraid will be recognized, but Camera_ID will not.

Required parameters

Field nameRequirements

ObjectID

Must be a unique value for each record in the table.

FocalLength

If an accurate value is not available from the calibration report, the focal length may be printed in the margin of each film frame.

Note:

Be sure to use the proper units; ArcGIS Pro requires microns. The information in the marginalia are in millimeters.

Focal length printed in margins of film frames

If this value is not known, you can continue and test results using 152400 microns to represent a 6-inch lens, which was most commonly used. The typical focal lengths for film cameras were 3.5, 6, 8.25, and 12 inches.

CameraID

This is a user-defined identifier to link a specific camera in the Cameras table to photo records in the Frames table. (A Cameras table can define interior orientation for more than one camera.)

Note:

The CameraID cannot be all numbers; this field must include a non-numeric character.

PixelSize

The size of a scanned pixel from the film, measured in microns. This should be rounded to the nearest half, such as 10, 12.5, 15. You can estimate this by dividing the size of the film (9 inch film is 230,000 microns) by the number of pixels in your image file, and round to the nearest whole or half number.

Additional recommended parameters

ParametersRequirements

Principal point of autocollimation (PPA) (field names are PrincipalX and PrincipalY)

This is the distance (x,y) from the center of the fiducial location to the point where a ray passing through the center of the lens would intersect the film. Note that some camera calibrations include PPA and PPS (Principal Point of Symmetry). ArcGIS uses the PPA values, not the PPS value.

When interpreting the values on the calibration report, take into consideration the x and y axis used. ArcGIS assumes the photogrammetric convention of X being in the direction of flight, and values are entered in microns.

If unknown, use (0,0).

Note that other fields such as Film Fiducials, Distortion Type, and affine parameters are not required for scanned aerial film workflows if the pixel size is supplied.

Create a Frames table

Collect the data listed here to eventually build a table populated with parameters listed in the Frames table schema. Since some of these parameters may not be known, advice on how to use estimated values is included here.

Note:

Create field names in your table that match the schema exactly. For example, PerspectiveX or perspectivex will be recognized, but Perspective_X will not.

Required parameters

Field namesRequirements

ObjectID

Must be included with a unique value for each record in the table

Raster

The image filename, including extension and full path for each image

CameraID

The ID of the camera that acquired the image. This must match a CameraID value in the Cameras table.

PerspectiveX, PerspectiveY

The location of each photo center in a projected coordinate system (cannot be latitude and longitude).

Note:

This can be an estimate; it does not have to be highly accurate as long as the relative position of neighboring photos is correct. See Sources for interior and exterior orientation parameters (below) for advice on creating estimated values.

PerspectiveZ

Orthometric height estimate for camera elevation above sea level.

If you don’t have information regarding the flight altitude, it can be estimated from film scale and focal length using this diagram:

Estimating flight altitude from film scale and focal length

Alternatively, you can enter a value for H (height above ground) into the Frames table for PerspectiveZ. See Using the Image Collection below.

Omega, Phi, Kappa

Photogrammetric orientation angles. These are typically not known, in which case you can enter 0 for Omega and Phi, and the software will calculate them during the block adjustment process. If possible, an estimate for the Kappa value for image rotation should be included. In some cases, the course over ground (COG)of the aircraft is known or can be computed. In such cases, Kappa can be entered as (90 degrees - COG).

Note:

The Frames table will not load properly unless these three field names and values are included.

Sources for interior and exterior orientation parameters

Documentation for historical film photo projects is often very limited. The following are guidelines for working with some of the most common sources of orientation parameters.

Digital table with (x,y) location for the center of each image

If you have a digital table with (x,y) location for the center of each image, make a copy and then reformat the data to ensure all required parameters are included with field names exactly as listed above, that all parameters are expressed in the proper units (meters, microns, and so on), and that the proper origin and direction were used to define orientation angles.

Use a photo index plot or photo laydown

If your best available data is a photo index plot (also called a photo laydown) showing a low-resolution image of the photos in an approximate mosaic, do the following:

  1. Scan this mosaic image.
  2. Georeference the scanned file in your desired coordinate system.
  3. Create a point feature class in the same coordinate system.
  4. Create one feature point for the estimated center of each photo.
  5. Enter the photo ID (a reference to the image file name) into the attribute table of the point feature class.
  6. After creating this table with x,y locations and filenames, edit the table to enter the other required parameters (see above).

Use a printed flight report with flight lines, strips, or runs

If you have a copy of a printed flight report where the project is described by flight lines (also possibly labeled as strips or runs), complete the following steps to create estimates for the (x,y) location of each image:

  1. Create a table of image file names in a spreadsheet.
  2. Identify the first and last photo of each strip.
  3. Estimate the offset in ground units from one photo to next and use the spreadsheet to calculate estimated X or Y coordinates along each flight line (for example, for north/south flight lines, this would be the Y coordinates along the line).

    Overlap along flight lines (forward overlap) is usually 60 percent or greater. Ground distance (GD) between successive photos along a flight line can be determined using the following formula:

    GD = (100 - Forward Overlap %)/100 * (230/100) * Photo Scale

  4. Estimate the spacing between flight lines to calculate approximate X or Y coordinates (for example, for north/south flight lines, this would be the X coordinates for each line).

    It is recommended that flight lines are oriented north/south or east/west; otherwise, these estimated calculations are somewhat more complicated. Standard overlap between flight lines is usually 15–20 percent. Ground distance (GD) between flight lines can be determined using the following formula:

    GD = (100 - Lateral Overlap %)/100 * (230/100) * Photo Scale

  5. After creating this table with x,y locations and filenames, edit the table to enter the other required parameters (see above).

Use photos with no information

If you have a small number of photos with no information about the flight, but you can visually determine the approximate image positions using an Esri basemap, it may be fastest and easiest to use the georeferencing tools to get started. In ArcGIS Pro 2.6 and later, you can begin with simple georeferenced images and then proceed into the ortho mapping workflow:

  1. In ArcGIS Pro, open a blank map and set it to your desired projection for the project. (Do not use GCS = Lat/Long or Web Mercator).
  2. Select one image and add the image to the map.

    The image will not appear in the correct location.

  3. Select the image in the Contents pane, and click Georeference on the Imagery tab.
  4. Navigate the map to the approximate location and proper scale for that image, and on the Georeference tab, select Fit to Display. If necessary, use the Rotate tool to rotate the image or use the Scale tool to graphically change the scale.

    Georeference tab options

  5. Repeat until the image is in approximately the correct location and scale, and click Save to save the approximate georeferencing information in an ancillary file called image_filename.aux.xml. (Do not use Save As, which will create a new output file).
    Tip:

    The georeferencing tools allow you to rotate images and add manual control points to improve the image alignment on the map, but this is not necessary.

  6. Repeat for all remaining images.
  7. Create a Frames table and a Cameras table.
    1. Download Frames and Cameras tables templates.
    2. Update the Frames table template for your project:
      1. In the Raster column, insert a list of the full path locations of all image files.
      2. Leave the Omega, Phi, Kappa and Perspective X,Y,Z values as zero.
      3. In the SRS field, insert the EPSG code for your coordinate system.
      4. In the CameraID field, enter a unique name for your camera. Use the same name in the Cameras table.

        Note there can be more than one Camera if you have film from different cameras.

      5. Make sure the fixed values are repeated for every raster.
    3. Update the Cameras table template for your project:
      1. In the CameraID field, enter the name for your camera used in the Frames table.
      2. Estimate the PixelSize in microns by dividing the size of the film (9 inch film is 23 centimeters or 230,000 microns) by the number of pixels in your image file.
      3. Leave PrincipalX and PrincipalY as 0.
      4. Enter a value for FocalLength in microns if you have this information (perhaps from film annotations on the image edge); otherwise, leave the value of 152,400, which assumes a common 6 inch focal length lens.
      5. If you have a camera report with fiducial locations, enter values (microns) in the FilmFiducials column. Otherwise, delete this column.

    Save and close both Cameras and Frames tables. Proceed to the ortho mapping workflow and enter these tables when prompted.

Alternative workflow using the frame camera raster type

If you attempt the workflow above but have difficulty creating the proper tables and workspace, you may want to consider using your tables to create a mosaic dataset using the frame camera raster type. If you can create a mosaic dataset with the images at approximately the correct scale and location, you can return to the ortho mapping interface and create a new workspace using Import existing image collection (do not select This image collection has been adjusted) and proceed through the rest of the workflow.