详细介绍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文件],文件内容为Sonic2020,2022-2024设备的data structure以及xtf说明书,大家自取。
链接:https://pan.baidu.com/s/1bIyzsWcXRHx3ggljKaCTDA
提取码:fyej
大概的结构基本就是这些。
写代码的时候,最好在某些显眼的地方加入if判断,判断是不是刚好读到了这个位置
比如在开始读取pingheader的时候
if self.MagicNumber == 64206:# XTF文件里面有具体说明print("\nPING文件格式正确")
如果输出PING文件格式正确,说明前面没有发生错位,可以正常读取。
如果觉得好的话,点赞支持一下!
之后会更新我的一些代码逻辑。
网上有关XTF文件的内容真的不多,如果有比较好的,也可以直接留言,让更多人的知道。
我今天已经全部完成了对XTF文件的解析。再次纪念一下。
详细介绍XTF文件数据格式相关推荐
- java文件读写详细介绍_java文件读写操作大全
一.获得控制台用户输入的信息public String getInputMessage() throws IOException...{ System.out.println("请输入您的命 ...
- HuTool 工具类详细介绍2 文件操作工具类
IO流相关 文件的拷贝 // 文件的拷贝BufferedInputStream in = FileUtil.getInputStream("d:/桌面/HuTool学习.md"); ...
- XTF文件解析(1)资源有哪些?
一.简单介绍 XTF文件是一个二进制文件,其中有数据结构,具体的结构可以参考<eXtended Triton Format(XTF) Rev.37>.网上没有好用又免费的软件来解析,当然如 ...
- Dockerfile 文件结构、docker镜像构建过程详细介绍
[Docker那些事]系列文章 Dockerfile 文件结构.docker镜像构建过程详细介绍 Dockerfile文件中CMD指令与ENTRYPOINT指令的区别 构建Docker镜像指南,含实战 ...
- Java读取mapinfo格式_超齐全的MapInfo数据格式详细介绍
1. 概述 MapInfo采用双数据库存储模式,即其空间数据与属性数据是分开来存储的.属性数据存储在关系数据库的若干属性表中,而空间数据则以MapInfo的自定义格式保存于若干文件中,二者通过一定的索 ...
- python读取.mat文件,python将变量存为.mat文件详细介绍
在进行数据处理的过程中,经常会用到Matlab和python两种工具,.mat文件是Matlab数据存储的标准数据格式,通过创建一个.mat文件详细介绍两种工具之间的数据读取和存储. 一.python ...
- Android --- AndroidManifest.xml文件内容详细介绍
文章目录 1.android:label="@string/app_name" 2. android:icon="@mipmap/ic_launcher"与an ...
- kubernetes实战篇之helm示例yaml文件文件详细介绍
前面完整示例里,我们主要讲解helm打包,部署,升级,回退等功能,关于这里面的文件只是简单介绍,这一节我们详细介绍一下这里面的文件,以方便我们参照创建自己的helm chart. Helm Chart ...
- Ubuntu根目录下各文件夹的功能详细介绍
Ubuntu的根目录下存在着很多的文件夹,但你知道他们都存放着哪些文件呢?这些是深入了解Ubuntu系统必不缺少的知识,本文就关于此做一下介绍吧. /bin/ 用以存储二进制可执行命令文件. / ...
最新文章
- 对Java基本数据类型的再思考
- setTimeout和setInterval实现定时器的区别
- 退一步 - 王阳明的心学智慧
- 【pmcaff】2014互联网公司薪资排行榜
- python io多路复用_python实现IO多路复用 --- selector
- 【Linux系统编程】特殊进程之守护进程
- 间接银团贷款(Indirectly Syndicated Loan/PARTICIPATED)
- 实验分享:用Python生成个性化二维码
- python之路-day18-反射
- Python基本语法,python入门到精通
- linux安装jdk(以1.6为例)
- vue中v-model指令的使用之Vue知识点归纳(九)
- 服务器复制文件进程,服务器复制文件进程
- Android中ListView的使用步骤
- hadoop 权限错误 Permission denied: user=root, access=WRITE, inode=“/“:hdfs:super
- java如何输入字符串_在java中如何将一个输入了 InputStream转为一个字符串String?...
- 提示“百度未授权使用地图API,可能是因为您提供的密钥不是有效的百度LBS开放平台密钥”解决方案
- NC65 凭证辅助核算项目查询
- 质心公式_No.217 质心位置的求法(基础篇)
- 关于网站被挂马的症状以及处理解决方法
热门文章
- r语言kmeans聚类(真实案例完整流程)
- 玲珑杯2.5 1032 A-B
- 3.6 51单片机-动态数码管
- jmeter中服务器名称IP,以及下面的路径填写
- 实现客户机(Client)类声明字符型静态数据成员ServerName,保存其服务器名称;整型静态数据成员ClientNum,记录已定义的客户机数量;定义静态函数成员ChangeServerName
- 关于今天参加学校ACM比赛的感想
- 陌上人如玉,公子世无双
- 玩vr游戏的计算机配置要求,玩虚拟现实游戏,电脑配置必须强大如此
- hadoop3 任务卡在map 0% reduce 0%的解决方案
- PS制作渐变金属文字