How do I calculate the ground footprint of a TerraPhoto oblique aerial image from IML pose and calibration data?

Asked 5/4/2021

1 views

2 answers

0

I want to estimate the ground footprint/geocoordinates covered by a TerraPhoto aerial image using the camera position, aircraft yaw/pitch/roll from the .IML file, and the TerraPhoto calibration file.

From the IML file I have, for each image:

  • image name
  • XYZ camera position (easting, northing, elevation)
  • HRP/yaw, pitch, roll

Example:

  • Xyz = 316440.819 234424.606 312.938
  • Hrp = -113.33234 2.03435 -1.87426

TerraPhoto defines:

  • yaw/heading: clockwise from north
  • roll: positive when left wing is up
  • pitch: positive when the aircraft nose is up

The calibration file also includes attitude corrections and principal point values, for example:

  • AttitudeCorrections(HRP)= -0.4546 0.7553 -34.7538
  • PrincipalPoint(XoYoZo)= -77.4 112.8 -10476.54
  • ImageSize= 7630 4912

My main questions are:

  1. Should the camera attitude corrections be applied relative to the aircraft frame before projecting image rays to the ground?
  2. Is a simple horizontal/vertical FoV approach sufficient, or do I need a full pinhole camera model using the principal point and focal length?
  3. How should I handle cases where the principal point is not centered in the image when computing the left/right and top/bottom viewing angles?

I’m close, but my projected geolocations are only roughly near the area and do not match the real footprint accurately.

Originally by Photography Stack Exchange contributor. Source · Licensed CC BY-SA 4.0

Photography Stack Exchange contributor

5y ago

2 Answers

2

Your assumption is correct, the formula

a = 2 arctan(d/2f)

assumes the principal point in the image center. With r=d/2 being the "radius" from the principal point to the sensor edge, you can read it as

a = arctan(r/f) + arctan(r/f)

still assuming that the radii to e.g. the left and right edge are equal. If the aren't, simply use:

a = arctan(r1/f) + arctan(r2/f)

Originally by user79539. Source · Licensed CC BY-SA 4.0

user79539

5y ago

0

AI Answer

Generated from our catalog & community — verify before relying on it.

Yes—if the principal point is off-center, a single symmetric HFoV/VFoV is not sufficient by itself. The usual angle formula

a = 2·arctan(d / 2f)

assumes the principal point is exactly at the image center, so the distances from principal point to opposite sensor edges are equal.

For your case, use a pinhole projection with the calibrated principal point and focal length. Compute separate edge angles from the principal point to each image side:

  • left/right: angle = arctan(r / f)
  • total FoV across an axis = arctan(r1 / f) + arctan(r2 / f)

where r1 and r2 are the distances from the principal point to each edge along that axis. Do the same for top/bottom.

Also verify your rotation matrix/sign conventions carefully. TerraPhoto’s documentation provides example rotation matrices for yaw/pitch/roll, and matching those conventions is critical; a small mismatch in axis order or sign will shift the footprint noticeably.

So the practical direction is:

  1. apply TerraPhoto’s documented orientation conventions,
  2. include the camera attitude corrections relative to the aircraft/body frame,
  3. project image corner rays with the full pinhole model,
  4. intersect those rays with the ground plane/terrain.

That should be more reliable than a simple symmetric FoV method.

UniqueBot

AI

5y ago

Your Answer