International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B6. Istanbul 2004
- Number of strips
— Flying Height / Photo Scale
- A Amount of overlap between photos/strips (fore/side)
- Camera focal length
- A Accuracy of photo point observations
- Accuracy of ground control point observation
- Accuracy of in-flight GPS
— Accuracy of in-flight IMU
- Weights for the “observations” (ground control points,
photo points, in-flight GPS and in-flight IMU) to be used
within the bundle adjustment program 3DB.
The SIMAT2 output is a series of files in the format required by
the IESSG's in-house bundle adjustment program 3DB.
2.2 So How Does it Work?
SIMAT?2 consists of a series of 8 sub-routines (which are
invisible to the user at run time); Figure 6 graphically describes
the flow within the SIMAT2 program.
Get User Input |
\
A Calculate Random Tilts | | Generate_Flight_Path <
a ; x S a :
'IMU. truth.txt T NE E TN. 'GPS truth.txt
y NS AL jc
Le sa Lf =
T NS = .
oe M
a C À ^w
Produce, IMU. Data | | Calculate Photo Points | | Produce, GPS Data |
per E
Y a
[UE E]
| Create Output. Files PHP |
'SBdbphp | '3db.osc
'adbccep » ‘3db.pic’
‘3db.dat
* All sub-routines except «Get User Input» and «Create Output Files PHP» Call <Random>
Figure 6 - SIMAT2 Program Flow
Subroutine Get User Input: (see Figure 7) read file
'user input.txt'; store user defined parameters for use in later
subroutines including:
X coordinate of the centre of the first photo (any real
number)
— J Y coordinate of the centre of the first photo (any real
number)
— Direction of the first flight line (0 — 360 degrees)
Number of photos per strip (integer)
- Number of strips (integer)
- Amount of Forward Overlap (as a percentage)
— A. Amount of Sidelap (as a percentage)
- Flying Height (in metres)
— Camera principal distance
Subroutine Generate Flight Path: Generates a ‘perfect’ flight
path based upon user inputs. Points created for each photo
include:
— Photo's Footprint on the ground (4 corners)
— The location of 4 Fiducial Marks (diagonally in from
Corners) on the ground
— 3 Ground Control Points (down the centre of the photo)
104
All ground points are aligned with user defined flight direction
(if number of strips > 1 it is assumed that consecutive strips are
parallel to, and flown in the opposite direction to the previous
strip). The centre of Photo 1 is at user defined X, Y coordinates.
Terrain is assumed flat and at 100m, although user has an
option to add random terrain variation to all points (user inputs
value in metres which is sent as input to sub-routine <Random>
with mean = 100).
Subroutine Calculate Random Tilts: Gives user the option
to have either no tilt on photos (‘vertical truth’) or create a file
of random levels of tilt that will be applied to all photos in later
sub-routines. If tilt is not zero, user may define the 1 standard
deviation figure in degrees (eg 3 degrees). This is sent as input
to sub-routine <Random> with mean = 0.
Subroutine Produce IMU_Data: Random tilts from
<Calculate Random_Tilts> are taken as the ‘true’ IMU reading
at each photo centre. User then has the option to blur this truth
by the addition of random, user-defined errors (to recreate the
effect of different quality inertial measurement systems) to
produce the m, ¢, k data that is used in the bundle adjustment.
User is also asked to provide the value of standard error to be
used in the relevant bundle adjustment input file.
Subroutine Produce GPS Data: The ground coordinates of
the centre GCP in each photo (principal point) are taken as the
‘true’ Xo, Yo GPS values. The ‘true’ Z, GPS value is calculated
as the user defined flying height + 100m. User then has the
option to blur this truth by the addition of random, user-defined
errors (to recreate the effect of different quality GPS
measurement systems) to produce the Xo, Yo, Zo data that is
used in the bundle adjustment. The user is also asked to
provide the value of standard error to be used in the relevant
bundle adjustment input file.
Subroutine — Calculate Photo Points: Uses collinearity
equations to calculate complete array of photo points given that
details of all ground control points, Xo, Yo, Zo, ®, ©, K are
known (generated /calculated in previous sub-routines).
Clearly, the values used to create the photo points are the ‘true’
(ie no artificial errors added) values from
<Generate Flight Path> and <Calculate Random Tilts>). The
subroutine then compares the location within the image of each
ground control point and the four corners of the photo and
determines (given the specific tilts of each photo) which ground
control points would actually be visible in the image. This
subroutine also allows the user to define an observation error
(c, between 1 and 20 jum) on all photo point observations.
Subroutine Create Output Files PHP: This final subroutine
creates all the output files ready for use by the in-house bundle
adjustment program 3DB4 (based on previous subroutines)
including:
- . GPS data and IMU data (including random ‘observation’
errors) plus user defined weights.
- Observations of Ground Control Points.
- Observations of photo points.
- Information on the number of cameras, photos, ground
control points, and photo points.
- The camera focal length (no other camera parameters are
modelled currently in SIMAT2 although this would be
easy to implement if required)
e FA
CS — Df o "t ey NA —
—