KLV Injector  Version 3.10.0
Supported Data file formats.

KlvInjector supports the following data file formats as a metadata source:

  • Offline
    • Binary MISB 0601.X files.
    • Json files.
    • CSV files.
      Note
      The easiest way to create a compliant metadata files is to use a StExporter application.
  • Live
    • Binary MISB 0601.X packets.
    • Json packets.

Binary MISB 0601.X files.

KlvInjector allows MISB 0601.X data import from binary files. The data is parsed and its timing information (Tag 2 - UNIX_TIME_STAMP) is used (as an offset from the first encountered timestamp) in order to inject the data. The file may contain multiple packets without any delimiter.


JSON MISB 0601.X files.

KlvInjector allows MISB 0601.X data import from JSON files. The data is parsed and its timing information (Tag 2 - UNIX_TIME_STAMP) is used (as an offset from the first encountered timestamp) in order to inject the data. The file may contain multiple packets. In a json file, the keys correspond tags as defined in MISB0601.X, MISB0102, MISB0903 standards. Here is an example of such json file:

{
"2":1571297393442000,
"3": "Test Mission",
"4":"24",
"10":"Test platform",
"11":"EO",
"12":"WGS84",
"13":41.093574735,
"14":-104.868920271,
"15":2932.7,
"16":3.065,
"17":1.722,
"18":258.015625146,
"19":-14.039062529,
"20":0,
"21":2283.61,
"22":0,
"23":41.105721789,
"24":-104.851011161,
"25":1870.2,
"26":0.000879,
"27":0.000174,
"28":0.000034,
"29":0.001174,
"30":-0.000829,
"31":-0.000163,
"32":-0.00003,
"33":-0.001106,
"47":0,
"48":
{
"1":1,
"2":1,
"3":"//IL",
"4":"Impleotv test",
"12":2,
"22":9
},
"65": 9
}

JSON formatted KLV

JSON formatted KLV is valid JSON object that contains tag : data pairs, where tag corresponds to the MISB 601 (with nested MISB 0102 and MISB 0903(VMTI) data.

>Note, For offline processing, you must supply klv timestamp (Tag 2), so the injector could figure out where to insert the packet:

[
{
"2": 1283400392599311,
"3": "Frame 0, 00:00:000",
"13": 32.155127061,
"14": 34.834800006,
"15": 0.0,
"48": {
"1": 1,
"2": 1,
"4": "ImpleoTV Test Mission",
"12": 2,
"22": 9
},
"65": 9,
"72": 1490987362175778
},
{
"2": 1283400392957660,
"3": "Frame 1, 00:00:033",
"13": 32.155127061,
"14": 34.834800006,
"15": 0.0,
"48": {
"1": 1,
"2": 1,
"4": "ImpleoTV Test Mission",
"12": 2,
"22": 9
},
"65": 9,
"72": 1490987362175778
}
]

Complex types

While most of the data can be represented by numbers (byte, integer, float), strings or arrays of numbers / strings , some tags require a bit more complex structures. Here are the exceptions:

  • Tag 94. MIIS Core Identifier
"94": {
"Version": 1,
"SensorID": {
"Quality": "Physical",
"UUID": "F592-F023-7336-4AF8-AA91-62C0-0F2E-B2DA"
},
"PlatformID": {
"Quality": "Virtual",
"UUID": "16B7-4341-0008-41A0-BE36-5B5A-B96A-3645"
}
}
  • Tag 115. Control Command
"115": [ 5, "Fly to Waypoint 1", "2008-10-24T00:13:29.913" ]

Note. The last element (Time) is optional.

Tag 115 may also contain an array of commands:

"115": [
[ 5, "Fly to Waypoint 1", "2022-04-24T00:13:29.913" ],
[ 6, "Fly to Waypoint 2" ],
]
  • Tag 128. Wavelengths List
    "128": [
    [ 21, 1000, 2000, "NNIR" ]
    ],
  • Tag 130. Airbase Locations
"130": {
"TakeOff": [ 38.841859, -77.036784, 3 ],
"Recovery": [ 38.939353, -77.459811, 95 ]
}

CSV formatted files.

KlvInjector allows MISB 0601.X data import from the files. The data is parsed and its timing information (Tag 2 - UNIX_TIME_STAMP) is used (as an offset from the first encountered timestamp) in order to inject the data. The application detects a file format by parsing its first line, which supposed to contain a text description of the data columns.

The application works with the following text formats:

MISB 0601.X

First line of the file will contain text description of the MISB 0601.X data - Tag number or tag description (as it appears in the MISB 601 standard. For example: Checksum,UNIX Time Stamp,Mission ID,Platform Tail Number,.

MisbCsv.png


Figure 1. CSV file example (Excel).
Note
You can skip unused (empty) colums if there is no data for that specific tag present

So, the above (partial) dataset may be also presented in the following format:

MisbCsvPartial.png


Figure 2. Partial CSV file example (Excel).


Note
Nested standards, like MISB 102, MISB 903 are not supported. Use json format instead.

Generic MISB 0601.X (Legacy)

First line of the file will contain text description of the MISB 0601.5 data - Tag number, followed by the description. For example: 1. Checksum,2. UNIX Time Stamp,3. Mission ID,4. Platform Tail Number,.

csvExcel.JPG


Figure 3. CSV file example (Excel).
Note
All MISB 0601.x fields columns must be present. If no information available, the field may be empty.

Inserting Security Metadata Set in CSV file.

Security Metadata Set may be present in a text form in the corresponding column (48). The following format is used:

  • MISB 0102.X Tag number must be present, followed by a period ".".
  • Items must be separated using "|" delimiter.
csvSecurity.JPG


Figure 4. Security Metadata Set CSV example (Excel).

For more information on Security Metadata Set please see MISB 0102.X documentation.

Inserting Image Horizon Pixel Pack in CSV file.

Image Horizon Pixel Pack may be present in a text form in the corresponding column (81). The following format is used:

  • Start X0:, Start Y0:, End X1:, End Y1: keywords must be present, followed by a correspoding integer number.
  • Optional Start Latitude:, Start Longitude:, End Latitude:, End Longitude: keywords may be present, followed by a correspoding double number.
  • Items must be separated using "|" delimiter.
csvImageHorizon.jpg


Figure 5. Image Horizon Pixel Pack CSV example (Excel).

RVT (Tag 73) and VMTI (Tag 74) in CSV file.

RVT Local Data Set (Tag 73) and VMTI Local Data Set (Tag 74) can be imported ss a Base64 encoded string in the corresponding columns (73 and 74).

Untitled 1




 Copyright 2023,    IMPLEOTV SYSTEMS LTD