TEQC绘图辅助工具的设计与实现
2021-02-05邓岳川
邓岳川
(安徽星空图信息科技有限公司, 安徽 合肥 230000)
0 引言
TEQC(Translating,Editing and Quality Check)是功能强大且简单易用的 GPS(Global Position System)/GLONASS(Global Navigation Satellite System)数据预处理软件,是由 UNAVCO Facility 研制的为地学研究GPS监测站数据管理服务的公开软件,主要功能有格式转换、编辑和质量检查[1]。
TEQC质检生成的plot文件分别从载波L1/L2/L5的信噪比、电离层延迟观测值及变率、载波L1/L2/L5的多路径误差、卫星方位角和卫星高度角等方面[2]列出了GPS数据质量检查报告,提供了较详实的分析数据,是GPS数据质量检查的重要依据。通过对数据的分析,可以进一步得出GPS数据质量报告。对于这些大量的数据,可通过绘图辅助工具QCView、qc2sky、cf2ps[3]以及用户定制工具实现数据图表的绘制和显示。例如:程建燕[4]基于C语言对TEQC进行可视化开发;卢立果等[5]基于MATLAB GUI开发了一套TEQC可视化软件;贾莹媛等[6]通过MATLAB编制出teqcplot模块,实现TEQC质量检查结果的图形显示和可视化查询;张显云等[7]利用C#开发出TEQC可视化分析工具,简化GNSS数据的质量分析与编辑;余文坤等[8]运用VB.NET对TEQC进行Windows可视化界面封装,并扩充了数据质量检核结果的可视化、统计报表以及高质量数据筛选预处理等功能。
目前plot文件的数据格式变成了UNAVCO COMPACT3格式[2],相对于COPMACT和COMPACT2格式,COMPACT3格式增加了对GLONASS、Galileo以及BDS卫星的支持,数据结构也发生了改变,这就导致原先的绘图辅助工具QCView、qc2sky、cf2ps以及用户定制工具无法正确识别COMPACT3格式的plot文件,无法完成图表绘制,给TEQC软件的使用和GPS数据质量检查带来不便。针对以上的问题,本文提出一种解决方案,使用MATLAB编制teqcplot3程序,正确读取COMACT、COMPACT2、COMPACT3格式的plot文件,并实现数据图表的绘制,有效解决了上述问题,为GPS数据质量检查提供支持。
1 COMPACT格式介绍
COMPACT格式是TEQC软件采用的一种紧凑数据格式,经历了COMPACT、COMPACT2以及COMPACT3三个版本,COMPACT3是由Lou Estey创建并在2013年12月增加到TEQC软件中[2]。TEQC软件生成的plot文件都采用COMPACT3格式,目前已支持GPS、GLONASS、Galileo和BDS卫星的数据。
1.1 COMPACT3格式简介
下面以实测数据AA13210.d12为例,说明COMPACT3格式的数据结构。*.d12表示该测站点上各卫星的电离层延迟观测值变化率情况。用记事本打开这个ASCII码文件,可以看到以下信息,具体如表1所示。
表1 AA13210.d12文件数据结构说明(COMPACT3)
1.2 COMPACT2和COMPACT格式简介
接下来,再以AA13210.iod(COMPACT2)数据为例,说明COMPACT2格式的数据结构,具体如表2所示。
表2 AA13210.iod文件数据结构说明(COMPACT2)
COMPACT格式与COMPACT2格式的结构类似,区别在于第2行增加一个卫星编号行,另外COMPACT格式只支持GPS卫星,GLONASS、BDS和Galileo卫星无法显示。
从表1和表2的数据结构可以看出,COMPACT3和COMPACT2差异集中在前4行,如:观测开始时刻、采样间隔等表达不同等。由于不同版本的数据结构存在差异,导致常用的TEQC绘图辅助工具QCView、qc2sky、cf2ps以及teqcplot程序等无法正确识别COMPACT3格式。
2 程序的设计
利用MATLAB软件开发出teqcplot3程序,此程序是改进Jim Hedfors的teqcplot模块[9],实现读取plot文件,质量检查结果的图形显示和可视化查询等功能。teqcplot3程序实现对COPMACT、COMPACT2和COMPACT3三种格式的支持。
teqcplot3程序的设计流程分为plot文件数据读取和数据图表绘制与显示两个部分。具体流程如图1所示。
图1 teqcplot3程序设计流程图
第一部分,读取plot文件数据。首先,读取选定的plot文件至数组A中,再根据第1行的文件标识符,判断格式类型,分别读取观测时刻至数组tsec中,读取卫星编号至数组sat_bh中,对应的卫星数据存放至二维数组SAT中。数组SAT是程序的核心数据,行表示观测时刻,列对应的是卫星编号。考虑到GPS、GLONASS和BDS卫星的数量,SAT数组定义了99列,能够存储不同系统的卫星数据。
第二部分,数据结果的图表绘制和显示。此过程主要运用MATLAB的绘伪彩色图函数pcolor[10-11],X轴表示观测时刻,Y轴代表卫星编号,并且以不同的色带区分数据取值的大小及变化。关键环节是将观测时刻tsec数组和卫星数据SAT数组作为参数传入pcolor函数中。
3 程序的实现
根据设计思路,利用MATLAB语言编写程序代码,部分核心代码说明如表3所示。
表3 核心程序代码说明
4 程序的测试
首先,在MATLAB环境下打开该程序代码文件,启动本辅助绘图工具。其次,在打开文件对话框中选择需要绘图的plot文件(例如:KK153404.azi),程序自动读取该plot文件,最后,形成该plot文件的伪彩色图,如需绘制其他数据类型的图表,则再次运行该程序,选取相应的plot文件。
作者使用三个不同厂家的GPS静态观测数据来测试程序。首先,使用GPS数据处理软件[12-14],将GPS静态观测数据转换成RINEX格式,具体数据文件如表4所示。
表4 用于程序测试的GPS观测数据
其次,从UNAVCO网站上下载最新版本的TEQC软件,与GPS观测数据存放在同一目录中,打开DOS命令窗口,切换到TEQC软件所在的目录,输入TEQC质检命令,在软件目录下会生成多个与GPS观测数据文件名相同,但后缀名不同的plot数据文件,形成的数据文件如表5所示。
再次,使用MATLAB打开本辅助绘图工具,分别选取相应的plot文件,程序读取数据并绘制出数据图表,因使用最新版的TEQC软件,生成plot文件是COMPACT3格式。从三种不同型号的GPS接收机中随机选取plot文件来进行测试。
从测试结果来看,程序能够正确读取COMPACT3格式的文件,绘制的图表与实际数据一致,同时也能够支持GPS、GLONASS、BDS卫星的数据显示。最后对COMPACT、COMPACT2格式的数据进行了测试,结果也都正确。
5 结束语
本文使用MATLAB语言,编制出支持COMPACT、COMPACT2和COMPACT3格式的绘图辅助工具teqcplot3,将TEQC质检结果进行可视化表达,帮助用户直观形象地理解大量的GPS卫星数据,解决了因TEQC软件升级,数据格式变化而导致TEQC绘图辅助工具无法正常使用的问题,并且支持GPS、GLONASS、BDS等不同系统的卫星数据,为TEQC软件的应用提供了必要支持,但本辅助工具需要在MATLAB环境下运行,而且该工具缺乏操作界面,用户交互性不够。另外,该工具只能绘制一种类型的图表,结果展示还不够丰富,未来将继续完善teqcplot3程序,使其界面可视化,用户交互性更好,操作更加简洁,支持的图表类型更加多样化。