Altitude determination from aerial photographs


John Nordlie




Abstract: Given knowledge of camera optic specifications and dimensions of visible ground objects/features, the distance from the object/feature to the camera lens may be easily calculated.

Introduction
Unmanned balloon flights done by our High Altitude Research Group have always included a camera to take images during the mission. Flights done early in the program did not include a GPS receiver, so the only method of altitude determination with the data available was photogrametric measurements from the film images.

For example, here's an image taken early in the flight of our third mission:




Given only this picture and some information from the camera manufacturer, how can we calculate the altitude at which it was taken?

Method
We can use the same method that image interpreters use to find image scale to determine the altitude. First, we'll calculate the Representitive Fraction[1]. There are two ways to do this. We can divide the focal length of the camera lens by the altitude of the camera, or we can divide the dimensions of a known object on the ground by its dimensions on the film. Since we don't know the altitude, we'll have to use the second method. Here's a diagram that may help you understand what I'm talking about:




So, we can do a bit of algebraic manipulation to get:




Back to our example. Our photo looks a little washed-out. This is due to atmospheric haze on the day of the flight. I'll process this image a bit using Paintshop Pro to increase the contrast:




You can see the surface features are much more visible. The image shows clouds, rivers, roads, and farm fields. To calculate the altitude, we need to find an object in the image that we can either measure later, or whose dimensions we already know. Luckily, these North Dakota farm fields are laid out in nice, regular geometric shapes. The grid of roads on this image intersect with each other at 1 mile intervals, which divides the fields into 1 mile by 1 mile squares. Each of these squares is actually sub-divided into smaller sections by the farmers, and not all sub-divisions have the same crops growing throughout. This can complicate our task, so we'll just go by the roads. I'll pick a square section and outline it for better visibility:




Ideally you want to choose a feature on the ground that is at or near the nadir (the point directly below the camera). This section is a little off nadir, but it will serve for our purposes.

So, now we need to measure the section marked on the image. This can be done a number of ways: print out the image on a printer (or use the enlargement printed from the negative), or scan the photo in to a computer and use an image analysis tool or GIS program.

I've printed the image on a printer, and will use a ruler to measure the length of the section. I come up with 35mm (we'll stick with millimeters, since that's what our camera data is listed in, it's a fairly precise unit for the measurements I'm making, and sticking to one unit makes calculations easier and less error-prone). Now, remember that's 35mm ON THE PRINTOUT, that isn't the same as 35mm on the negative, and the size on the negative is what we need for the calculation. To get that, we need some more information.

From the design specifications of our camera (Pentax PC-55), we find that the film format the camera uses (35mm), is actually 24mm x 36mm in size. To get the conversion factor we need, I'll measure the total width of the PRINTED image I'm using for measurements, and divide 24mm by that number. The width (shortest measure) of the printed image is 182mm, so our conversion factor is 24mm/182mm or 0.13187. Multiplying our measure of the section by this factor gives us: 35mm X 0.13187 = 4.6154mm. So our section is 4.6154mm long on the negative.

Now we're ready to compute the Representitive Fraction. One statuate mile is equal to 5280 feet, multiplied by 12 equals 66360 inches, multiplied by 25.4 (mm/inch) equals 1609344mm. The length of a mile-long section on our film is 4.6154mm, divided by 1609344mm equals 2.8679 * 10^-6.

Finally, now that we have our RF, we can use the equation we derived earlier to compute the altitude. Altitude = Focal Length / RF. From the camera design document, the focal length of the lens is 28mm, so Altitude = 28mm / 2.8679 * 10^-6.

Thus, our Altitude is 9763353.6mm. This converts to 32032 feet, which we will round to 32000.

Finally, we need to do a 'reality check'. 30,000 feet is about what a commercial jet plane flies, so we can ask ourselves, 'Does this look about right?' 'Is this what we'd expect to see from a plane at 30,000 feet?' Also, from the average measured mission profile of our balloons, 30,000 feet is about 1/3 of the max altitude the balloon reaches. The photo is from a point about 1/3 into the flight, so that's about right.

These checks may seem trivial, but they can save you a large amount of embarassment if you make a mistake in your calculations and are off by a factor of 10 or 100.

Conclusion
Altitude of the camera taking a vertical photograph may be easily calculated from measurements of the image if key elements are known using simple algebra. This technique is not only useful for aerial photography, but may be used on any image if the size of objects and/or features in the image are known.


References
[1] Campbell, James B., "Introduction to Remote Sensing", 1987, The Guilford Press, ISBN 0-89862-776-1

Sabins, Floyd F., "Remote Sensing Principles and Interpretation", 3rd. ed., 1997, W. H. Freeman and Company, ISBN 0-7167-2442-1