stream - 理解 stanag 4609 klv 格式

标签 stream metadata stanag

我正在尝试解析来自外部摄像头的 stanag 4609 klv 流。

首先,我试图计算流中接收到的高度值。

根据 stanag 4609 文档,该值为 2 个字节长,以英尺为单位,表示为 float 。

我知道相机高度约为 39.8 米,但我无法将收到的 2 个字节解释为该值(以英尺为单位)。 我收到的 2 个字节是 {12,23}。

我怎样才能以正确的方式解读它?

谢谢

最佳答案

在 STANAG 4609 KLV 中,浮点值被编码为整数。你可以查看MISB ST0601对于您感兴趣的特定数据元素。它会为您提供将 2 字节整数转换为正确浮点值的转换公式。

假设您指的是 Sensor True Altitude(标签 15),转换公式为 (19900/65535) * int_value - 900

将此应用于您的数据:

  1. 将字节 [12, 23](十六进制的 [0x0C, 0x17])解释为整数。 0xC17 等于 3095。
  2. 应用公式。 (19900/65535) * 3095 - 900 = 39.81 米

关于stream - 理解 stanag 4609 klv 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33934228/

相关文章:

sql-server - 查看(但不执行)存储过程及其代码需要什么级别的 SQL Server 访问权限?

java - 四个字节中的四个整数?

c++ - Cplusplus cin split

node.js - 如何等待 Node.js 流中的固定数量的字节?

Java 8 Lambdas flatmapping、groupingBy 和 mapping 以获取 T 和 List<K> 的 Map

java - Android 中 SHA1 哈希实现的问题

wcf - 使用包含 System.Exception 的自定义 FaultContract 对象会导致 'Add Service Reference' 失败

c# - JpegBitmapEncoder.Save() 在使用元数据写入图像时抛出异常