How to use a DSLR as an altimeter

The reference to “altimeter” is slightly tongue in cheek, but if you take a picture of a plane way up above you in the sky, and you happen to know its wingspan, you can calculate how far up it is from the size of its image on the sensor.

It’s a bit of a geeky thing to do, but the opportunity came up recently and I couldn’t resist the mathematical challenge.

On May 1st, my eldest son Jonny did a skydive for Cancer Research. I was at work but my wife went along to the Parachute Centre, Tilstock, to cheer him on and take some pictures (with my Sony DSLR and 18-250mm zoom lens). One of the pictures that came back was this one of the light aircraft the Parachute Centre was using for the jumps, taken when the plane was at its highest altitude just before a skydive.

This is a 289 x 193 pixel crop. The full 10MP picture was nearly all sky and measured 3,872 x 2,592 pixels.

Now I reckoned that with a bit of schoolboy physics it should be possible to get at the “object distance” (i.e. how far the plane is from the camera) provided you know the size of the object, the corresponding image size and the focal length of the lens.

So far as object size is concerned, the wingspan is the obvious dimension to concentrate on because it is published (assuming you can identify the make/model of the aircraft). If the plane had been banking the calculations would have been affected by foreshortening effects, but in the image the wings look to be level and I’m told the shot was taken pointing as near as dammit straight up.

Identifying the plane was surprisingly easy. I started with a picture my wife took of the same plane on the ground:

I tried Googling the plane’s registration number, G-VANX, and found this which is clearly the same plane and is described as a Gippsland Airvan. A Google image search rapidly confirmed that the plane was indeed a Gippsland GA8 Airvan. From there it was trivial to get at the wingspan. It is 40’9″ which is 12,420.6mm.

Now the image size. I opened the 289 x 193 crop in Photoshop and used the tape measure tool, reading in pixels, to get the wingtip to wingtip distance. It comes out at 165 pixels. Not the last word in precision maybe, but something to work with. From there it is a simple ratio. The DSLR has an APS-C 24mm sensor corresponding to 3,872 pixels across (see above). So the physical size on sensor of a 165 pixel image is:

24 x 165 / 3872 = 1.023mm

And the focal length was 250mm. You can get that from the EXIF data embedded in the image file.

So that’s all the data items. We now need a formula to connect them to the object distance. In practice, all you need is the main optics formulae you learned (and probably hated) at school, namely:

Equation 1: (1 / v) + (1 / u) = (1 / f)

where v = object distance, u = image distance and f = focal length.

You also need:

Equation 2: (u / v) = (I / O)

where u and v are as above and I = image size, O = object size.

The one variable we don’t know (and don’t really need) is the image distance, u. So we rearrange Equation 2 to get u on its own and substitute that into Equation 1. After a bit of GCSE level algebra you get:

v = ((O / I) – 1) x f / 1000

where the factor of 1000 converts the result from millimetres to metres.

So we get v = ((12420.6 / 1.023) – 1) x 250 /1000 = 3,035.9m

That works out at 9,960 feet, which is interesting because the Parachute Centre staff had said that the jumps would be from a height of 10,000ft. OK, so the exercise didn’t tell us anything we didn’t already have good reason to believe, but having established the mathematical method it might come in handy some day. Who knows?

Some assumptions implicit in the method:

Plane was flying level (or at least not banking)
Plane was directly overhead
Height of the airfield above sea level ignored
Height of photographer was ignored

AddThis Social Bookmark Button



Filed under Photography

5 responses to “How to use a DSLR as an altimeter

  1. Thanks Simon, I’ll follow your exploits and good luck.


  2. Hi
    Nice bit of maths!
    You also need to factor in that for every 1Mb of pressure change equates to about 30ft of altitude. Aircraft altimeters are set to the pressure setting in the area (QFE) or region (QNH) or a “standard” which is AMSL (Above Mean Sea Level) 1013Mb if flying above a transition altitude for certain flight rules. (usually 3000 ft)
    So the 9,960 feet calculated could be reported as 10,000 on the aircraft altimeter if the pressure setting was 1Mb different than the 1013Mb standard. (Which incidentally is the pressure setting that is used when aircraft fly on flight levels not altitude)



    • I don’t believe my calculations could be that precise. It was just something I did for my own curiosity and amusement, and was amazed the result came out anywhere near 10,000ft never mind that close.

      It sounds like you’re a photographer who does some flying. If so, you’re a lucky man to be able to be involved in both those activities.

  3. An interesting aside is that with a 250mm lens and an APS-C sensor, 1 pixel corresponds to an object just under 3 inches in size which is 10,000 ft (1.9 miles) away.