10.3. How-To

10.3.1. Configuring the platform model

The platform model is configured using variables in the POSITION section within the PLATFORM section of the DIRSIG Input Configuration File.

Table 10-1. The list of all the variables that can be set in the platform POSITION section.

Variable NameDescription
TARGET_LOCATION 3D point location of the target to be imaged [scene units]
PLATFORM_LOCATION 3D point location of the sensor [scene units]
ELEVATION_ANGLE Elevation angle from the ground plane [degrees]
ZENITH_ANGLE Declination angle from the vertical [degrees]
AZIMUTH_ANGLE Earth-plane angle counter-clockwise from -X axis [degrees]
FLIGHT_ALTITUDE Altitude of the platform [scene units]
FLIGHT_HEADING Heading of the platform clockwise from +Y axis [degrees]
FLIGHT_SPEED Speed of the platform [(scene units)/second]
FLIGHT_START_LOCATION Starting location of the platform for a given flight [scene units]
FLIGHT_STOP_LOCATION Ending location of the platform for a given flight [scene units]
NUMBER_OF_SCANS Number of scan lines to generate in the flight
PROFILE_FILENAME Name of a file with X, Y, Z, roll, pitch, and yaw data

Combinations of these variables are used to create both static (non-moving) and dynamic (moving) positioning sequences for the platform. Figure 10-2 illustrates the various angles that are used in the static positioning methods. The static positioning options were originally created for the FRAMING_ARRAY instrument type, so the interfaces are designed to point a 2D array instrument at a single location in the scene.

Figure 10-2. Static positioning variables for the platform model

For scanning imaging instruments, the motion of the sensor platform is utilized to construct the along-track dimension of the image. Dynamic positions or "flights" need to be configured only if the user has specified a LINE_SCANNER or PUSHBROOM_SCANNER type of INSTRUMENT.

10.3.1.1. Using a platform location and target location (static)

For the first method, we assume user knows where the sensor platform is located and a target point that they would like centered in the image. For example, if the platform is located at (0.0, 0.0, 1000.0), and the user wishes to image whatever is at (1000.0, 1000.0, 0.0), then the POSITION section should look like:

POSITION {
    TARGET_LOCATION = 1000.0, 1000.0, 0.0
    PLATFORM_LOCATION = 0.0, 0.0, 1000.0
}
    

10.3.1.2. Using a platform location and orientation angles (static)

Another common scenario is that the user knows the platform's location and the view angles of the sensor. For example, if the platform is directly over the scene origin at an altitude of 1000 [scene units], looking straight down, then the POSITION section should look like:

POSITION {
    PLATFORM_LOCATION = 0.0, 0.0, 1000.0
    ZENITH_ANGLE = 0.0
    AZIMUTH_ANGLE = 0.0
}
    

10.3.1.3. Using a target location, platform orientation angles and range (static)

Finally, the user may wish to specify a target location to be centered in the image, the view angles for the sensor, and the distance from the target location. For this scenario, the POSITION section should look like:

POSITION {
    TARGET_LOCATION = 0.0, 0.0, 0.0
    ELEVATION_ANGLE = 45.0
    AZIMUTH_ANGLE = 180.0
    DISTANCE = 1000.0
}
    

10.3.1.4. Using the altitude, heading and speed of the platform (dynamic)

For simple flights, the user can specify the vehicle's altitude, heading and speed. By doing so, a flight profile will be automatically generated with no roll, pitch or yaw. An example POSITION section using this approach might look like:

POSITION {
    FLIGHT_ALTITUDE = 1000.0
    FLIGHT_HEADING = 75.0
    FLIGHT_SPEED = 2.0
    NUMBER_OF_SCANS = 500
}
    

This will produce a level flight with the provided forward velocity. By default, the platform will cross over the origin (0, 0, 0) half way through the flight. The TARGET_LOCATION variable can be supplied to change the mid-flight cross-over point. The NUMBER_OF_SCANS variable defines the number of array captures that will be acquired.

10.3.1.5. Using the start and stop location of the platform (dynamic)

The user also has the option of configuring a flight line by specifying the starting location and stopping location of the platform. The flight line is assumed to a straight line between these two points.

POSITION {
    FLIGHT_START_LOCATION = 300.0, 300.0, 1000.0
    FLIGHT_STOP_LOCATION = -300.0, -300.0, 1000.0
    NUMBER_OF_SCANS = 500
}
    

The NUMBER_OF_SCANS variable defines the number of array captures that will be acquired.

10.3.1.6. Using file that contains location and orientation angles (dynamic)

If the user has access to flight recorder data from an actual platform and wishes to exactly reproduce that flight, then the user can specify the name of the DIRSIG Classic Platform Data File that contains the X, Y, Z, roll, pitch and yaw of the vehicle as a function of time:

POSITION {
    PROFILE_FILENAME = oct08101998.prf
}
    

By default, the angles in the Classic Platform Data File file are considered to be "inertial" or with respect to the "mean" flight line. The "mean" flight line is defined as the path from the first position to the last position. Therefore, if all the platform locations lie along a straight line and the platform is pointed exactly along that flight line, the roll, pitch and yaw values will all be 0. Any non-zero roll, pitch and yaw values indicate that the platform is not pointed along the flight line. For example, if the yaw value is non-zero, then the platform is yaw'ed with respect to the flight line or "crab-ing" along the flight line.

If the user wants to specify absolute angles instead of inertial angles, the USE_SCENE_PLATFORM_ANGLES in the OPTIONS section of the Input Configuration File must be set to TRUE.

If the data file does not have a relative or absolute path, the Classic Platform Data File is looked for in the directory named in the PROFILE_PATH variable in the PATHS section of the Input Configuration File.