2. TFX project files#

2.1. About .TFX files#

.TFX files are .zip files containing the folders _IMAGE, _LINE and _MISSION necessary for TOPOFLIGHT mission management.

When the Missions main page in MISSIONPLANNER is opened, all files in _IMAGE, _LINE are automatically read and the corresponding data is displayed in the workspace.

When importing or exporting a .TFX file in the Missions tab, the files are automatically unzipped and any new files are added to the existing _IMAGE, _LINE and _MISSION folders. This updates all flight line and image information while preserving the history.

Important

Never manually modify the .csv files in the _IMAGE and _LINE folders! Doing so will corrupt the history.

TOPOFLIGHT NAVIGATOR (Version 24 and newer) creates image takings and line takings files that can be imported into MISSIONPLANNER.

In MISSIONPLANNER, planned missions can be exported for use in NAVIGATOR. The complete flight plan and the individual missions are stored as .json files in the _MISSION folder.

2.2. ImageTakings file#

The first .csv file created in the _IMAGE folder contains headers for all values.
All following files that are created do not include a header. Their names are formatted as: IT_ operatorName _ date _ time .csv .

Hint

The operator name is specified in the Settings settings and can be adjusted there!

The .csv files contain the following values, separated by semicolons:

Property name

Type

Description

TimestampWeek

Integer

GPS week timestamp

TimestampSecond

Float

GPS second (seconds since begin of the GPS week)

User

String

Operator name

LineID

Integer

flight line number

SegmentID

Integer

flight line segment number

ImageID

Integer

Image number

State

Integer

NAVIGATOR returns a three-digit status code:

  • 100-199 Successful (green)

  • 200-299 Warning (orange)

  • 300-399 Error (red)

  • 400-499 Refly (yellow)

  • 500-599 Not flown (gray)

  • 600-699 Unknown (blue)

The even hundreds indicate the general status category without additional specificity

PhotoID

Integer

Photo number

EventID

Integer

Event number

Simulation

Integer

Image creation (simulation=1, real=0)

Longitude

Float

Longitude of image location

Latitude

Float

Latitude of image location

Altitude

Float

Altitude of image location

Roll

Float

roll angle (landscape=0°, portrait=90°)

Pitch

Float

pitch angle (pointing to the horizon=0°, pointing to nadir=-90°)

Heading

Float

yaw angle (front=0°, right=90°, back=180°, left=270°)

Sensor type

String

Specification of sensor type (e.g. FrameCamera)

SensorName

String

Full sensor name (e.g. PhaseONE iXU-RS 1000 - 50 mm)

2.3. LineTakings file#

The first file created in the _LINE folder contains headers for all values.
All following files that are created do not include a header. Their names are formatted as: LT_ operatorName _ date _ time .csv .

Hint

The operator name is specified in the Settings settings and can be adjusted there!

The .csv files contain the following values, separated by semicolons:

Property name

Type

Description

TimestampWeek

Integer

GPS week timestamp

TimestampSecond

Float

GPS second (seconds since begin of the GPS week)

User

String

Operator name

LineID

Integer

flight line number

SegmentID

Integer

flight line segment number

State

Integer

NAVIGATOR returns a three-digit status code:

  • 100-199 Successful (green)

  • 200-299 Warning (orange)

  • 300-399 Error (red)

  • 400-499 Refly (yellow)

  • 500-599 Not flown (gray)

  • 600-699 Unknown (blue)

The even hundreds indicate the general status category without additional specificity

Simulation

Integer

Line creation (simulation=1, real=0)

Longitude

Float

Longitude of line location (taken ~every 2 seconds)

Latitude

Float

Latitude of line location (taken ~every 2 seconds)

Altitude

Float

Altitude of line location (taken ~every 2 seconds)

Roll

Float

roll angle (landscape=0°, portrait=90°)

Pitch

Float

pitch angle (pointing to the horizon=0°, pointing to nadir=-90°)

Heading

Float

yaw angle (front=0°, right=90°, back=180°, left=270°)

Sensor type

String

Specification of sensor type (e.g. FrameCamera)

SensorName

String

Full sensor name (e.g. PhaseONE iXU-RS 1000 - 50 mm)

2.4. Missions file structure#

The .json files in the _MISSION folder contain the following feature fields and structure.

Feature fields - mission object

Property name

Type

Description

name

String

Mission name

uuid

String

Unique identifier of the feature

assignedTo

String

Name of the operator undertaking the mission

createdBy

String

Name of the operator that created the mission

createdAt

String

Date of creation

updatedAt

String

Date of the last mission update

originAirport

String

Currently not in use

finalAirport

String

Currently not in use

turnTime_s

Float

Extra time to move to the next line: this value is used to calculate the remaining time of a mission

transferSpeed_kt

Float

Speed of the aircraft from the airport to the project area

mappingSpeed_kt

Float

Speed of the aircraft on a flight line: this value is used to calculate the remaining time of a mission

deprecated

Integer

0 = mission is up-to-date and operational, 1 = mission is outdated and no longer in use

stateLine

StateLineObject

Overview of the current line status (LiDAR, Pushbroom)

stateImage

StateImageObject

Overview of the current image status (if available)

lines

Array of LineObject

Defines the lines that belong to the mission


Feature fields - stateLine object

Property name

Type

Description

updatedAt

String

Date of last update

success

Float

Distance [m] flagged as “success”

warning

Float

Distance [m] flagged as “warning”

error

Float

Distance [m] flagged as “error”

refly

Float

Distance [m] flagged as “refly”

notFlown

Float

Distance [m] flagged as “notFlown”

undefined

Float

Distance [m] flagged as “undefined”

total

Float

Total length [m] of all flight lines in the mission


Feature fields - stateImage object

Property name

Type

Description

updatedAt

String

Date of last update

success

Float

Number of pictures flagged as “success”

warning

Float

Number of pictures flagged as “warning”

error

Float

Number of pictures lagged as “error”

refly

Float

Number of pictures flagged as “refly”

notFlown

Float

Number of pictures flagged as “notFlown”

undefined

Float

Number of pictures flagged as “undefined”

total

Float

Total number of pictures in the mission

Hint

When multiple images were taken at the same position, the status refers to the Latest, not the Best image.


Feature fields - lines object

Property name

Type

Description

parentId

Integer

Flight line parent ID number

segmentId

Integer

Flight line segment ID number

length

Float

Total length [m] of the flight line

level

String

Complete (entire line belongs to the mission) or Partial (only parts of the line belong to the mission)

parts

Array of PartObject

only required when level=Partial: defines which part(s) of the line belong to the mission


Feature fields - part object

Property name

Type

Description

start

Float

linear reference of the starting point on the flight line [m]

end

Float

linear reference of the end point on the flight line [m]


Example

{
      "name": "Mission_B",
      "uuid": "0951F448-4962-4D76-B654-F34D5C4DBCD1",
      "assignedTo": "UNDEFINED",
      "createdBy": "OFFICE_123",
      "createdAt": "2025-05-05T11:40:45Z",
      "updatedAt": "2025-05-05T16:01:13Z",
      "originAirport": "UNDEFINED",
      "finalAirport": "UNDEFINED",
      "turnTime_s": 20.0,
      "transferSpeed_kt": 100.0,
      "mappingSpeed_kt": 100.0,
      "deprecated": 0,
      "stateLine": {
              "updatedAt": "2025-05-05T16:01:50Z",
              "success": 10805.2265625,
              "warning": 0.0,
              "error": 0.0,
              "refly": 0.0,
              "notFlown": 0.0,
              "undefined": 0.0,
              "total": 10205.40234375
      },
      "stateImage": {
              "updatedAt": "2025-05-05T16:01:50Z",
              "success": 32,
              "warning": 0,
              "error": 0,
              "refly": 0,
              "notFlown": 0,
              "undefined": 0,
              "total": 32
      },
      "lines": [
              {
                      "parentId": 17,
                      "segmentId": 1,
                      "length": 3118.23657226562,
                      "level": "Complete",
                      "parts": []
              },
              {
                      "parentId": 18,
                      "segmentId": 1,
                      "length": 3883.84301757812,
                      "level": "Partial",
                      "parts": [
                              {
                                      "start": 0.0,
                                      "end": 1822.91284179687
                              },
                              {
                                      "start": 2000.91284179687,
                                      "end": 3883.84301757812
                              }
                      ]
              },
              {
                      "parentId": 19,
                      "segmentId": 1,
                      "length": 3203.32275390625,
                      "level": "Complete",
                      "parts": []
              }
      ]
}