[FWTools] Calculating ground distance from altitude and focallength : off topic

Ed McNierney ed at topozone.com
Thu Dec 20 18:18:45 EST 2007

David -


You can simplify things by just comparing the sensor "image" size to the
ground distance based on the photo scale (focal length / altitude) - no
pixels needed.


However, you're well within the realm of orthorectification issues, if
you're viewing a 1,000-meter-wide area from an altitude of about 1,200
meters.  You're viewing the edges of the photo frame at an angle of
arctan(500/1200) = about 23 degrees, so things are getting non-linear
already.  Your apparent image will be wider than the (presumably)
orthorectified image in your GIS, so a 36-mm-based size of 803x1200
seems plausible.


You might want to look up the specs on your lens, as a "24mm" lens is
sometimes (not often) not exactly 24mm.  You might also want to check
the exact focal length conversion specs for your camera, although those
seem to be hard to find.  Since a 35mm negative is 36mm by 24mm, the
size of your CCD would indicate a scale factor of about 1.52 for the
focal length conversion.


-          Ed


From: David Fawcett [mailto:david.fawcett at gmail.com] 
Sent: Thursday, December 20, 2007 5:19 PM
To: Ed McNierney
Cc: fwtools at lists.maptools.org
Subject: Re: [FWTools] Calculating ground distance from altitude and
focallength : off topic



I was actually hoping that you would respond...

The sensor measurement for the D200 is 15.8 x 23.6 mm  

When I run the calculations based on sensor size, I get 535 x 800 using
a focal length of 24mm and 803 x 1200 using a focal length of 36mm.  It
looks like the sweet spot may be somewhere in between.  (Whether the
issue is with the true focal length or not.) 

Thanks again for your help!


On Dec 20, 2007 3:41 PM, Ed McNierney <ed at topozone.com> wrote:

David -


I suspect the EXIF numbers are just hooey.  Your image is 2,592 pixels
by 3,872 pixels, and that's the number of pixels on the sensor chip in
the camera.  You're unlikely to have a CCD in there that's 11 inches by
16 inches or so!  At a quick glance it looks like this is the major
problem; you should be working with the actual sensor size (just as you
would work with the actual size of the negative in a film camera). 


-          Ed


Ed McNierney

Chief Mapmaker

Demand Media / TopoZone.com

73 Princeton Street, Suite 305

North Chelmsford, MA  01863

ed at topozone.com

Phone: +1 (978) 251-4242

Fax: +1 (978) 251-1396

From: fwtools-bounces at lists.maptools.org
[mailto:fwtools-bounces at lists.maptools.org ] On Behalf Of David Fawcett
Sent: Thursday, December 20, 2007 4:16 PM
To: fwtools at lists.maptools.org
Subject: [FWTools] Calculating ground distance from altitude and
focallength : off topic


This question doesn't relate to FWTools functionality, but this seemed
like the best place to ask a question like this.  I am using gdal to get
some of the image info...

I have a case where I have an image shot from an airplane.  I have the
below info: 

height of plane = 1221 meters
focal length = 24mm (digital camera, so ~36mm film)
EXIF value for X and Y Resolution is 240 (inches)
The image dimensions are 2592 x 3872 pixels

I am trying to calculate the approximate dimensions of this image in
ground units (meters).  

I believe that I can calculate the scale of the image by:

focal length in mm / 1000 mm per meter/ altitude in meters or

36 / 1000 / 1221 =  0.036 / 1221  =  0.000029484   

If the resolution of the image is 240 px per inch, I should be able to
calculate an image size in meters: 

image height= 2592px / 240 px per inch / 39.37 inches per meter =
.274321 meters

image width= 3872px / 240 px per inch / 39.37 inches per meter = .409787

So using the scale value, I should be able to calculate meters on the
ground by taking: 

.274321 meters / 0.000029484  = 9304 meters

width on ground =  .409787 meters / 0.000029484  = 13898 meters

When I look at the same image that I have georeferenced in a GIS, the
image measures about 1000m x 685m.  

I am sure that I am totally screwing this up, and may even be in a case
of can't-get-there-from-here.  I would appreciate any input that anyone

I fully understand all of the limitations to this methodology, I am
trying for something that is quick, dirty, and automated.  I have a
bearing and will be doing rotation later, I just first want to get the
ground units correct. 




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.maptools.org/pipermail/fwtools/attachments/20071220/378a7a40/attachment.html

More information about the FWTools mailing list