基于Python设计的GNSS数据下载软件在卫星导航定位实验教学中的应用

2022-11-12 06:18吴汤婷卢立果
实验室研究与探索 2022年8期
关键词:数据中心定位卫星

吴汤婷, 梁 乔, 卢立果

(东华理工大学a.资源与环境经济研究中心;b.测绘工程学院,南昌 330013)

0 引 言

卫星导航定位课程是测绘类专业的必修课程,其目标是培养卫星导航定位领域科学研究、系统运维和生产运用等相关人才,推进我国国防现代化建设和国民经济常态化增长[1-5]。实验教学是卫星导航定位课程的重要组成部分,是对理论教学的补充和深化,在卫星导航定位人才培养体系中占有举足轻重的地位[6-9]。GNSS数据下载作为卫星导航定位实验课程的基础性环节,实验数据贯穿于实验课程的整个周期,对整个课程实践至关重要。但目前我院卫星导航定位实验课中,GNSS相关数据下载仍是基于传统模式完成:①学生需收集GNSS数据下载网址,了解数据存放位置和文件命名方式;②确定下载数据的时间,将常见的年月日转换为对应的年积日、GPS周和周内天数;③进入下载网址,在数据产品目录下基于年积日、GPS周和周内天数找到文件的存放目录;④在存放目录中搜寻目标文件的文件名,点击链接执行单个文件的下载,尤其当需要下载长时间的数据文件时,过程更是极其繁琐、工作量较大[10-11],极大地影响了学生的实习积极性。

为减少学生不必要的时间耗费,使其更好地聚焦于实验数据的处理与分析,提升实验教学质量,亟需开发一款简便的GNSS数据下载软件,用于解决卫星导航定位实验教学过程中数据下载方面的困难。

1 软件设计

GNSS观测数据和后处理精密产品通常在IGS(国际GNSS服务,International GNSS Service)各数据中心下载,包含全球IGS站观测数据、广播星历、超快速/快速/最终精密星历、卫星钟差、周解、地球自转参数、卫星姿态改正、电离层延迟、对流层延迟和差分码偏差等,可为GNSS数据质量分析、精密单点定位、基线解算、对流层/电离层建模、时间序列分析等提供基础数据产品。传统下载模式的主要步骤是人工查询目标数据的存放地址,再基于浏览器发送下载请求完成下载任务。为保障软件设计的合理性,首先依据传统下载流程设计软件的主要功能模块,然后根据各模块完成具体的软件开发。

1.1 功能模块

基于手动下载模式的一般流程,软件设计包含参数设置、网址配置、发送请求和数据传输等4大功能模块,各模块间关系如图1所示。

各个模块的功能简要介绍如下:

(1)参数设置模块(软件主界面)。在该模块中,学生可根据实验需求灵活设置下载参数,主要包括选择文件类型、选择起止时间、选择添加IGS站和选择下载源等。

(2)网址配置模块(软件重要基础)。首先,将选择的起止时间(年月日)换算为年积日、GPS周和周内天数;然后,基于目标下载源的文件存储路径和软件界面参数设置,翻译配置出相应的URL统一资源定位符(Uniform Resource Locater)下载地址。

(3)发送请求模块(软件关键部分)。①判断URL下载地址的文本传输协议,针对HTTPS和FTP采用不同的请求方式;②自动模拟用户的登录操作;③向服务器发送下载请求以建立数据传输通道。

(4)数据传输模块(软件的核心)。此模块通过数据传输通道将服务器端文件写入本地电脑,完成下载任务。由于数据读写属于IO密集型计算,CPU利用率特别低[12]。因此,数据传输模块内融入了多线程技术,实现多个下载任务互不干扰并发运行,充分提高CPU利用率和I/O吞吐量,加快下载速度。考虑到实际下载过程中的各类突发状况,数据传输模块在算法层面支持断点续传、异常处理等功能,保障数据传输的稳定性和可靠性。

1.2 开发流程

根据上述各功能模块的设计,基于Python语言编写了一款GNSS数据下载软件(GNSS Data Download Software,GDDS)。其中,软件界面设计采用Python GUI库PyQt5编写,前后端的通信是通过信号与槽机制建立连接。软件开发设计遵循从前端到后端、从整体到局部的原则[13-15],即先完成软件界面的开发设计,再实现后台数据下载的具体算法;先完成软件主要功能模块的开发,再丰富完善软件各细部。GDDS的开发流程如下:

(1)搭配组合PyQt5中的各类控件完成软件界面设计,主要设计的组件功能包含选择文件类型、选择起止时间、选择IGS站和选择下载源,GDDS主界面设计如图2所示。

(2)基于信号与槽之间的连接机制,为主界面中的“开始下载”等GUI控件对象编写槽函数,实现前端与后端的交互通信,槽函数对应的是配置网址模块、发送请求模块和数据传输模块中的主要算法。

(3)软件整体开发设计完成后,借助Python的PyInstaller模块将程序封装成独立的可执行文件(exe文件),便于学生上机实验使用。

2 软件参数设置

为突出GDDS软件操作简便、功能齐全等特色,加深学生对GDDS的认识,结合主界面中各类GUI控件,对软件主要操作步骤和功能做了如下介绍。

(1)选择文件类型。本软件支持下载的文件包含IGS站观测数据、广播星历、超快速/快速/最终精密星历、卫星钟差、周解、地球自转参数、卫星姿态改正、电离层延迟、对流层延迟和差分码偏差等,学生根据实验需求灵活选择。

(2)选择起止时间。选择文件对应的起始、终止时间,学生只需设置常见的年月日,软件后台会自动将其转换为年积日、GPS周和周内天数。

(3)选择IGS站。选择下载OBS观测文件时,需添加相应的IGS站。IGS站的添加提供3种方式:①通过列表框查找添加IGS站,并支持模糊搜索功能;②通过地图模式选择添加IGS站(见图3),此模式可直观地了解IGS站的地理环境,加深学生对全球IGS站空间分布的认识,便于研究全球区域的卫星导航定位差异;③直接输入完整的IGS站名,适合有明确下载目标的学生使用。

(4)选择下载源。软件支持的数据下载源包括美国NASA运维的中央数据库CDDIS,我国武汉大学运营的数据中心WHU,法国地理和森林信息研究所管理的数据中心IGN,欧空局维护的数据中心ESA以及韩国天文和空间科学研究所主管的数据中心KASI。因网络限制和服务器性能差异等因素,国内学生推荐选择武汉大学数据中心WHU,数据传输快且稳定。

(5)选择保存路径。学生根据个人需求选择合适的文件存储地址,若该地址下已包含此次下载的文件,软件会自动跳过该文件的下载。在下载海量GNSS数据时,该功能可避免冗余数据的下载,提高工作效率。

(6)开始下载。基于上述步骤自定义完成下载信息,便可一键式下载海量GNSS数据,下载进程可通过主界面进度条查看,下载完成的软件界面见图4。

3 教学效果

以笔者授课班级(学生63人)为实验对象,将GDDS软件应用于实验教学。上机实验时,要求学生在指定下载源上(本文选用WHU数据中心)用传统手动方式和GDDS软件分别下载最终精密星历、广播星历、BJFS站观测数据和30 s卫星钟差4种类型的GNSS数据,并记录各数据下载所花的时间。课程实验结束后,发放调查问卷表,对软件应用效果进行综合评价。

表1所示为学生采用两种下载方式的耗时统计表。由表1可知,基于GDDS软件的数据下载相较传统下载方式在效率方面有显著提升,针对不同的文件大小,下载效率提升程度也不同。对于单个文件大小不足1MB(最终精密星历和广播星历)的下载,GDDS软件的下载效率相较传统方式可提升30倍以上;对于单个文件大小超过1MB(IGS站观测数据和卫星钟差)的下载,下载效率可提升20倍以上。除此之外,所有类型的数据都集中在一个软件界面下,极大简化了不同下载路径下文件查找和下载的操作过程。

表1 两种下载方式耗时统计表

图5所示为软件应用认可度统计图。由图5可知,在下载流程方面,98.41%的学生认为该软件解决了传统手动下载模式复杂繁琐的问题,将大批量数据下载工作转变为“一键式”操作,极大地简化了数据下载流程;在实验兴趣方面,92.06%的学生认为该软件使各类数据易于获取,激发了参与课程实验的主动性和积极性;在数据认知方面,85.71%的学生认为基于GDDS软件可方便下载不同类型的数据,增加了对各数据内容的了解;在实验教学质量方面,93.64%的学生认为该软件能为数据下载节省大量时间,在上机实习时可以把更多的精力聚焦于后续实验数据的解算与分析,有利于实验教学质量的提高。

4 结 语

为贯彻“以教学需求为根本,同步建设配套软硬件”的实验教学要求,基于Python语言编写了一款GNSS数据下载软件,并用于辅助卫星导航定位实验教学,该软件具有支持下载的数据类型齐全、高效快捷、容错率高等特点。学生利用该软件,简化了数据下载流程,可以减少不必要的时间耗费,激发了学生的实习积极性和主动性,使其更好地聚焦于实验数据的处理与分析,为保障实验教学质量提供了较为有力的技术支撑。

猜你喜欢
数据中心定位卫星
miniSAR遥感卫星
浅析数据中心空调节能发展趋势
《导航定位与授时》征稿简则
银行业对外开放再定位
关于建立“格萨尔文献数据中心”的初步构想
静止卫星派
少儿智能定位鞋服成新宠
把握新定位、新要求 推动人大工作创新发展
2017第十届中国数据中心大会榜单
Puma" suede shoes with a focus on the Product variables