1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 详细介绍XTF文件数据格式

详细介绍XTF文件数据格式

时间:2022-03-04 14:29:18

相关推荐

详细介绍XTF文件数据格式

详细介绍XTF文件数据格式

(按照数据结构顺序列出)(普遍适用)

XTFFILEHEADER Structure

这个是整个文件的header,里面存储了文件名,SonarName,SonarType,CHANINFO等基础信息。

里边会有一个判断哪个通道的问题,这个也差不多决定了之后你的数据结构是哪一种类型的。

比如NumberOfBathymetryChannels==1的时候,就差不多是关于Bathymetry的数据包了。

之后CHANINFO为六个通道的信息

通道信息还是比较重要的,关系到之后的ping文件中有几个通道。

这个意思是,当CHANINFO中储存了两个通道的有效信息,pingHeader中就有两条数据通道。

just like this

(!!注意为有效信息,有些通道只是空数据包,需要跳过)

如果遇到Bathymetry,那只有一条通道。

以上加起来一共1024bytes。

之后就是每一个ping对应的结构

包括XTFPINGCHANHEADER以及具体的数据包

2.1. XTFPINGCHANHEADER

当你在写这部分代码时候,一定要注意,XTF文件中的ping数不胜数,每一个ping中都有header以及data,而且ping的类型可能还不相同。所以你需要仔细看一下你的header都有什么,对应哪一个structure。

注意:每一个header的前六个内容基本一致,我们可以利用这一特性,先获取HeaderType是哪一种类型,通过if判断之后应该运行哪一个structure。

这时候,你会遇到空数据包的存在,判断是否为空数据包的方法为:ping的大小为该pingheader的大小,也就是整个ping中只有pingheader,data为空。当遇到这种情况的话,用return直接返回,获取下一个ping。

另外注意,HeaderType会有几个特殊的结构,一定要仔细看完,不是全部的pingheader都是一样的。

2.2. data sturcture

我大概理解XTF说明文件中的内容为:数据格式不归我管,你去找别人要!声纳格式网上比较普遍,可以直接看我上一篇中的资源有哪些,里面介绍了几个博文,可以参考。因为我需要的数据为Bathymetry,网上没有,我直接给那个公司发邮件获取的。我这里也给大家贴上[XTF文件],文件内容为Sonic,-2024设备的data structure以及xtf说明书,大家自取。

链接:/s/1bIyzsWcXRHx3ggljKaCTDA

提取码:fyej

大概的结构基本就是这些。

写代码的时候,最好在某些显眼的地方加入if判断,判断是不是刚好读到了这个位置

比如在开始读取pingheader的时候

if self.MagicNumber == 64206:# XTF文件里面有具体说明print("\nPING文件格式正确")

如果输出PING文件格式正确,说明前面没有发生错位,可以正常读取。

如果觉得好的话,点赞支持一下!

之后会更新我的一些代码逻辑。

网上有关XTF文件的内容真的不多,如果有比较好的,也可以直接留言,让更多人的知道。

我今天已经全部完成了对XTF文件的解析。再次纪念一下。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。