<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:D="DAV:" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
/* List Definitions */
@list l0
        {mso-list-id:490414112;
        mso-list-type:hybrid;
        mso-list-template-ids:2105547160 1762816710 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        margin-left:.75in;
        text-indent:-.25in;
        font-family:"Calibri","sans-serif";
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>David –<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>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.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>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.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>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.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoListParagraph style='margin-left:.75in;text-indent:-.25in;
mso-list:l0 level1 lfo1'><![if !supportLists]><span style='font-size:11.0pt;
font-family:"Calibri","sans-serif";color:#1F497D'><span style='mso-list:Ignore'>-<span
style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Ed<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> David Fawcett
[mailto:david.fawcett@gmail.com] <br>
<b>Sent:</b> Thursday, December 20, 2007 5:19 PM<br>
<b>To:</b> Ed McNierney<br>
<b>Cc:</b> fwtools@lists.maptools.org<br>
<b>Subject:</b> Re: [FWTools] Calculating ground distance from altitude and
focallength : off topic<o:p></o:p></span></p>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal style='margin-bottom:12.0pt'>Ed, <br>
<br>
I was actually hoping that you would respond...<br>
<br>
The sensor measurement for the D200 is 15.8 x 23.6 mm <br>
<br>
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.) <br>
<br>
Thanks again for your help!<br>
<br>
David.<br>
<br>
<o:p></o:p></p>
<div>
<p class=MsoNormal>On Dec 20, 2007 3:41 PM, Ed McNierney <<a
href="mailto:ed@topozone.com">ed@topozone.com</a>> wrote:<o:p></o:p></p>
<div>
<div>
<p><span style='font-size:11.0pt;color:#1F497D'>David –</span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'>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). </span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p style='margin-left:.75in;text-indent:-.25in'><span style='font-size:11.0pt;
color:#1F497D'>- Ed</span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'> </span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'>Ed McNierney</span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'>Chief Mapmaker</span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'>Demand Media / TopoZone.com</span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'>73 Princeton Street, Suite 305</span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'>North Chelmsford, MA
01863</span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'><a href="mailto:ed@topozone.com"
target="_blank">ed@topozone.com</a></span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'>Phone: +1 (978) 251-4242</span><o:p></o:p></p>
<p><span style='font-size:11.0pt;color:#1F497D'>Fax: +1 (978) 251-1396</span><o:p></o:p></p>
<div style='border:none;border-top:solid windowtext 1.0pt;padding:3.0pt 0in 0in 0in;
border-color:-moz-use-text-color -moz-use-text-color'>
<p><b><span style='font-size:10.0pt'>From:</span></b><span style='font-size:
10.0pt'> <a href="mailto:fwtools-bounces@lists.maptools.org" target="_blank">fwtools-bounces@lists.maptools.org</a>
[mailto:<a href="mailto:fwtools-bounces@lists.maptools.org" target="_blank">fwtools-bounces@lists.maptools.org</a>
] <b>On Behalf Of </b>David Fawcett<br>
<b>Sent:</b> Thursday, December 20, 2007 4:16 PM<br>
<b>To:</b> <a href="mailto:fwtools@lists.maptools.org" target="_blank">fwtools@lists.maptools.org</a><br>
<b>Subject:</b> [FWTools] Calculating ground distance from altitude and
focallength : off topic</span><o:p></o:p></p>
</div>
<div>
<div>
<p> <o:p></o:p></p>
<p>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...<br>
<br>
I have a case where I have an image shot from an airplane. I have the
below info: <br>
<br>
height of plane = 1221 meters<br>
focal length = 24mm (digital camera, so ~36mm film)<br>
EXIF value for X and Y Resolution is 240 (inches)<br>
The image dimensions are 2592 x 3872 pixels<br>
<br>
I am trying to calculate the approximate dimensions of this image in ground
units (meters). <br>
<br>
I believe that I can calculate the scale of the image by:<br>
<br>
focal length in mm / 1000 mm per meter/ altitude in meters or<br>
<br>
36 / 1000 / 1221 = 0.036 / 1221 = 0.000029484 <br>
<br>
If the resolution of the image is 240 px per inch, I should be able to
calculate an image size in meters: <br>
<br>
image height= 2592px / 240 px per inch / 39.37 inches per meter = .274321
meters<br>
<br>
image width= 3872px / 240 px per inch / 39.37 inches per meter = .409787 meters<br>
<br>
So using the scale value, I should be able to calculate meters on the ground by
taking: <br>
<br>
.274321 meters / 0.000029484 = 9304 meters<br>
<br>
width on ground = .409787 meters / 0.000029484 = 13898 meters<br>
<br>
When I look at the same image that I have georeferenced in a GIS, the image
measures about 1000m x 685m. <br>
<br>
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
has. <br>
<br>
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. <br>
<br>
Thanks, <br>
<br>
David.<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
</div>
</body>
</html>