收藏 分销(赏)

机载导航地图引擎设计与实现.pdf

上传人:自信****多点 文档编号:1978607 上传时间:2024-05-13 格式:PDF 页数:4 大小:1.69MB
下载 相关 举报
机载导航地图引擎设计与实现.pdf_第1页
第1页 / 共4页
机载导航地图引擎设计与实现.pdf_第2页
第2页 / 共4页
机载导航地图引擎设计与实现.pdf_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 2023 年第 11 期217智能技术信息技术与信息化机载导航地图引擎设计与实现于 翔1 文圣丰1 柴睿鸽1YU Xiang WEN Shengfeng CHAI Ruige 摘要 为了提高机载嵌入式平台下地图操作与显示效率,通过地图数据的分级分块、压缩存储等方法,生成适用于机载平台的地图数据格式,并构建高效的组织和管理地图数据库。然后通过多线程的数据动态加载,优化并降低内存占用资源。采用双缓冲显示技术实现地图的渲染优化,最终将地图快速渲染在显示器中,实现地图引擎的操作与融合应用。所提出的地图引擎在满足机载系统性能的基础上,提高地图渲染速度和灵活性,具有较好的可移植性和通用性,可以为飞行员提

2、供与导航地图的交互操作及辅助决策等功能。关键词 导航地图;地图引擎;数据渲染;渲染优化 doi:10.3969/j.issn.1672-9528.2023.11.0491.航空工业西安航空计算技术研究所 陕西西安 7100680 引言机载导航地图作为飞机航电系统的重要组成部分,可以为飞行员提供航路规划、辅助引导及防撞避障等功能1。随着嵌入式及 GIS 技术的迅速发展,机载导航地图对地图的显示刷新率、实时性及数据量都提出更高的要求2。由于机载嵌入式设备的硬件性能相对较弱,存储及计算处理的可用资源非常有限,不能直接采用 PC 平台下的地理信息系统(GIS)处理与显示技术进行开发,需要根据地图显示需

3、求重新设计地图的开发框架3-5。因此,如何在嵌入式平台下开发机载导航地图引擎并满足显示性能要求是技术人员面对的首要问题。为了提高地图的显示刷新率及操作响应速度,首先将地图数据进行预处理,从而减少在交互时的数据读取与加载量,以此改善地图的显示与响应性能6-7。因此,本文采用地图数据的分级分块、压缩存储、数据库等技术,生成适用于机载嵌入式平台的地图数据格式。然后,通过多线程与双缓冲显示技术实现地图的渲染优化,提高地图数据读取与地图绘制显示效率。1 技术路线机 载 导 航 电子地图技术路线如图 1 所示。地图引擎的构建过程主要包括地图数据预处理和地图渲染与显示两个方面。由于机载导航电子地图所需的地图

4、数据量较大,为了提高地图的显示刷新率及操作响应速度,首先对原始的矢量数据、高程数据和影像数据进行预处理,完成数据的转换、分幅、拼接等操作。然后根据地图引擎显示需求定义存储结构,采用数据分级分块、压缩存储与索引构建等技术,将地图数据组织存储到数据库中。地图的渲染与显示是根据导航数据所提供的飞机位置、高度等信息,采用多线程技术实现数据调用和图像显示并行操作,由地图渲染引擎调用地图数据库中的数据,并不断向图形处理器发送绘图指令,通过硬件并行加速和双缓冲显示技术加速图形渲染速度,不断绘制当前显示范围内的地图,最终完成在机载飞行显示器中的地图画面显示。飞行员通过显示器向地图引擎发送控制命令,完成地图的缩

5、放、漫游等操作,从而实现与机载导航地图的交互功能。图 1 机载导航地图技术路线2023 年第 11 期218智能技术信息技术与信息化2 地图数据预处理2.1 数据分级分块当操作地图移动、旋转或缩放时,屏幕中可浏览的地图区域是实时变化的,可能会以整幅地图如全国范围显示浏览,或者以局部区域如县级区域显示浏览,需要访问的数据量较大。随着地图引擎切换显示分辨率时,也需要读取不同等级的地图数据进行绘制渲染8。并且大部分地图数据对于当前绘制是冗余的,占用和消耗的内存资源较大,因此需要设计合理的数据结构来减少不需要的地图数据加载量。通过读取显示区域在不同显示等级上的相应级别地图数据,来减少数据实时交互量,从

6、而改善地图的显示和操作性能。地图数据根据金字塔模型进行分级分块处理如图 2 所示。按照指定经纬度范围对地图数据进行层级和区域划分,将全球范围的影像与矢量数据以金字塔模型为基础进行瓦片划分和编码,其中第 0 级包含 1 个瓦片,第 1 级包含 4 个瓦片,以此类推,第 Z 级包含 22z个瓦片,各级别的瓦片编号从左上角开始其行列号为(0,0)。每个地图瓦片都有唯一的编码,在读取和加载数据时可根据级别 z+、列号 x+和行号 y 来快速进行地图数据文件的索引和查找。通过数据切片处理,将每级别数据分别进行切分,其中矢量数据的点要素的划分是通过坐标信息的对比来判断是否在一个切片内;线要素是根据划分网格

7、进行裁剪被截断或生产多条线段;面要素是将其边界线转为线和点进行划分,一个面可能被切分为多个面,然后对面数据进行三角形剖分。在低级别瓦片中需要简化包含较多的矢量要素的图层做数据抽稀,然后将点、线、面矢量数据写入同一的瓦片数据集中,方便数据检索。高程数据和影像数据以瓦片定义范围进行裁剪生成格网数据,对于不同级别下的数据需要重采样,然后写入对应的高程和影像数据瓦片数据集中,再进一步进行数据压缩与索引构建。2.2 数据压缩存储由于机载平台的存储资源有限,常用的地理信息数据格式占用存储空间大,不能直接使用。因此,需要对其进行压缩存储,并设计合适的数据组织结构。根据显示需求和基础地理信息将地图数据分为三类

8、,分别为矢量数据、高程数据和影像数据。矢量数据的处理相对比较复杂,主要包括属性数据的剔除、几何数据压缩和数据存储结构设计。对于机载导航地图显示地理要素较少,也不涉及空间检索和分析功能,可以舍弃无关的属性,只保留注记信息,来减少数据量。几何数据压缩是在小缩放级别下,可以裁剪掉不重要要素,如点要素的冲突情况,可以根据显示级别来筛选;线和面要素通过简化节点数,裁剪掉不需要显示的要素。在保证显示质量的基础上进一步压缩矢量数据,从而节省存储空间。数据存储结构设计为两部分,包括文件头和数据区。其中,文件头包括瓦片的数量、编号、位置、大小等信息,同时可以扩充其他属性信息;数据区包括每个瓦片中所存储的地理要素

9、编码、要素数目、几何坐标、字符串等,通过将坐标数据 double 或fl oat 类型转换为 int 或 short 类型进行压缩存储。高程数据和影像数据均以栅格数据为基础进行处理与存储。栅格数据压缩方法采用四叉树编码方式,大部分图形操作和运算可直接在四叉树结构上实现。四叉树以树状结构记录栅格图像划分来实现对数据的操作,能够自动地依照图形变化而调整象限尺寸。为了保证四叉树不断分解,要求图像必须为 2n2n的栅格阵列,n+1 为四叉树的最大层数,将非标准尺寸图像通过图像背景增加扩充到 2n2n尺寸。四叉树编码具有可变的分辨率、灵活的数据压缩以及图形运算在编码中直接实现的特点,大大提高图形操作与运

10、算的效率,并且压缩了数据量9。2.3 数据库的应用地图数据通过嵌入式数据库高效组织应用来提高地图引擎的渲染性能。SQLite 是一个轻型关系数据库,占用资源较少,具有较强的独立性,允许多线程或多进程的安全访问,支持多操作系统的运行,可移植到任意平台中,具有快速、灵活、可靠性高等优点。因此,选用 SQLite 作为地图数据库进行数据的管理和访问。采用数据库有效弥补文件访问的缺点,通过数据结构化存储,降低数据冗余性,便于数据更新和维护。在用户访问数据库时,SQLite 提供了一系列的访问接口,包括数据库连接、SQL 语句处理、结果的查询返回等,通过接口的调用来操作数据库,完成对地图数据的增、删、查

11、、改等操作。图 2 数据分级分块金字塔模型 2023 年第 11 期219智能技术信息技术与信息化采用 SQLite 数据库来管理矢量数据、高程数据和影像数据。在地图数据预处理阶段,通过数据的分级分块和压缩存储后,将这些数据进行整理入库操作,方便后续渲染引擎直接调用各类数据,不需要用文件的方式频繁访问数据,提高渲染数据加载与读取效率。写入数据库文件时,根据瓦片建立数据索引,设计地图数据存储属性表结构如表 1 所示。geodata.db 为所生成的 SQLite 数据库支持的大文件,其中包含不同的数据表,代表不同的地图数据。这里以矢量数据为例,数据属性表中包含编码、级别、列号、行号和数据块字段,

12、以不同的类型数据存储在数据库文件中进行管理和使用,高程和影像数据与之类似。地图渲染时通过索引来调用当前坐标和所需级别下的数据进行地图绘制。表 1 SQLite 数据库文件及属性表字段idzxydata类型IntegerIntegerIntegerIntegerBinary备注编码级别列号行号二进制数据块3 地图渲染与显示3.1 坐标系与地图投影本文采用的地理坐标系和投影坐标系分别为国家大地坐标系(China Geodetic Coordinate System 2000,CGCS2000)和墨卡托投影。CGCS2000 是我国当前最新的国家大地坐标系,原点 O 为包括海洋和大气的整个地球的质量

13、中心,z 轴为国际地球自转服务(IERS)参考极方向,x 轴为 IERS 的参考子午面与赤道面的交线,y 轴与 ZOX 面构成右手直角坐标系。采用基于经纬度坐标系全球剖分的规则,该规则建立了全球统一的格网剖分模型,全球尺度数据采用此规则进行分层分块。基于此规则标准,可以快速确定某范围的地图数据属于哪个分层分块,方便地图数据快速读取加载。墨卡托投影采用正轴等角圆柱投影,投影原理是以赤道为 x 轴,本初子午线为 y 轴,两者交点为坐标原点,东北方向为正,西南方向为负,构成平面直角坐标系。墨卡托投影的经线和纬线是平行的直线,相交为直角,而且角度不会发生变形,其角度相等的特征,已广泛应用到航空领域。在

14、地图渲染显示时,需要通过屏幕坐标系、地理坐标系、投影坐标系互相转换,来实现数据与显示的统一。而且,还要采用不同的坐标系与投影方式进行渲染以及地理空间计算。二维与三维地图所采用的坐标系也是不同的,在实现过程中采用不同的投影方式进行渲染显示。地图渲染采用透视投影,选用透视视景体呈一锥体,由上、下、左、右、近、远共6个面组成,摄像机沿着z轴方向观察视锥体内的景物,在视锥体内部的景物是可见的,反之则不可见。3.2 渲染数据优化调度为实现地图的快速渲染与显示,避免绘制过程出现的卡顿现象,采用多线程和双缓冲等技术。在地图渲染时,频繁读取数据会大幅降低系统性能,如一个线程要不断查询数据和绘制地图,在查询数据

15、时会中止绘图过程,而出现画面卡滞现象。因此采用多个线程并行执行,将数据读取线程和地图绘制线程分离开。数据读取线程不断通过 SQL 查询当前坐标内的地图数据,将大于显示区域范围的地图数据加载到共享内存中,数据读取线程只在坐标位置发生变化时才执行一次,数据查询间隔时间从几秒到几十秒不等,来降低 CPU 的资源使用率。地图绘制线程不断从共享内存中获取地图数据,并采用 OpenGL ES 实现地图的快速渲染。在图形图像显示过程中,计算机从显示缓冲区取数据后渲染显示,图形操作涉及大量复杂计算,访问一次显示缓冲区不能完全写入待显示的完整图形数据,会造成画面不连贯现象。显卡提供双缓冲区翻转功能,显示缓冲区用

16、于将地图数据绘制在一个比屏幕显示范围大的内存区域中,不涉及复杂图形计算或漫游区域在缓冲区内,可直接从该内存区域中读取渲染数据并显示,提高地图的渲染显示效率。使用双缓冲时,可以将复杂计算结果存放在另一个缓冲区中,如文字显示,等待图形计算完成后,将结果数据一次性复制到显示缓冲区中,从而防止发生图形数据丢失和发生延迟闪烁现象,提高显卡的处理效率。3.3 三维地形实时渲染通过合理地组织的三维地形数据文件,实现数据从外部存储到内存的快速读取,是三维地形实时渲染的关键技术。采用基于视点的连续多细节层次算法,算法核心思路是对三维地形数据进行预先处理,构建一个静态的三维地形四叉树。四叉树上的每个节点包含一个地

17、形块。采用规格网格作为地形块几何顶点模型。在规格网格中,用对角线剖分每个小矩形,形成一个静态的三角形片面簇。每个地形块包含与之相对应的纹理信息。这些地形块是在数据预处理阶段从一个高分辨率的地图中产生的。每个地形块内的三角形片面簇可以通过一个 OpenGL 绘制命令和一个混合通道完成地形块绘制。四叉树上每个子节点包含其父节点地形范围的 1/4,但其分辨率更高。这样自上而下,根节点包含整个地形区域,地形分辨率最低。某些叶子节点则是所能达到的地形最高分辨率。三维地形实时渲染首先在内存中建立与地形数据预处理阶段完全相同的四叉树数据结构并完成初始化。然后依据四叉树索引文件,从地形数据检索出飞机当前范围内

18、的地形块数据,并加载到内存四叉树的相应节点中。最后,地形渲染时遍历内存四叉树,将四叉树节点上的三维地形块数据绘制到显示器上。通过不断循环重复,绘制每一帧地形数据,从2023 年第 11 期220智能技术信息技术与信息化而完成用户视角三维地形实时渲染与显示。4 地图功能与性能4.1 功能应用机载导航地图引擎功能模块设计包括地图数据加载、空间计算、地图显示、地图操作及其他功能。(1)地图数据加载功能包括矢量数据加载、地形数据加载和影像数据加载。根据检测当前要加载地图数据的有效性,将有效的数据放入加载队列进行加载,将无效数据放入卸载队列进行卸载。通过四叉树模型分层分块加载数据,并支持不同比例尺下的地

19、图数据加载。(2)空间计算功能包括屏幕坐标变换、大圆航线计算、空间位置高度查询。屏幕坐标变换支持大地坐标与屏幕坐标变换,经纬度坐标与屏幕坐标变换,屏幕坐标与经纬度坐标变换。根据经纬度坐标计算大圆航线距离,根据空间位置查询当前坐标点的高程值。(3)地图显示功能包括图层切换、视角切换、昼夜切换等。图层切换支持不同要素、不同风格的图层显示,如矢量地图、卫星影像地图、高程地图的切换显示。视角切换支持二维与三维地图切换显示。昼夜显示支持地图白天和黑夜两种地图显示模式的切换。(4)地图操作功能包括二维地图放大、缩小、旋转、漫游、三维视角切换。二维地图支持无极缩放、地图旋转、地图漫游、地图朝向分正北或航向朝

20、上,三维地图支持三维视角的切换、沿视线方向移动及旋转。(5)其他功能包括二次开发接口、模型显示、软件版本查询功能。二次开发接口能够为上层应用软件提供支持数据读取和地图显示等功能。模型显示能够根据输入的位置、姿态信息显示飞机、建筑物等常用三维模型。软件版本查询能够通过函数接口查询软件版本。4.2 性能分析在屏幕分辨率为 12801024、国产嵌入式操作系统、FT-2000 处理器、2 GB 内存和 128 GB 存储卡的嵌入式硬件平台下,验证设计的机载导航地图引擎性能。处理和存储全国全地理要素矢量数据、卫星影像数据和数字高程模型数据。采用多线程、双缓冲显示优化技术及渲染数据的优化调度,实现导航地

21、图的平滑操作,画面无卡滞、无抖动、无露白现象,同时地图操作的响应时间优于0.5 s,显示刷新率大于30 帧/s。因此,本文所提出的技术方案是切实可行的。5 结语采用地图数据预处理方法,进一步将地图数据与渲染显示需求解耦,有效降低了人机操作时对地图数据的加载量,并且在地图数据分级分块的基础上,引入空间索引与数据库管理技术,提高地图数据访问速度,确保了相应级别数据的统一存储与调度。在地图响应操作时,地图引擎访问数据量较小、读取与访问效率更高、内存加载效率不断优化。通过坐标系和地图投影选择,多线程、双缓冲与三维地形实时渲染等技术的应用,实现地图的快速渲染与显示,地图引擎的渲染与操作的性能得到明显提升

22、,满足机载导航系统的应用需求。参考文献:1 陈国军,茅坪,张贞.机载导航信息化与航图设备设计 J.现代导航,2019,10(2):98-101.2 尹逊青,钱斌.关于机载显示器中地图显示嵌入式架构的改进 J.飞机设计,2017,37(3):52-54.3 马志强,张德兴,杨磊.嵌入式 Linux 平台下地理信息系统 J.计算机系统应用,2011,20(12):25-28.4 徐晓宇,魏巍,宗亚辉.基于 MiniGUI 的嵌入式电子地图引擎开发J.山西农业大学学报(自然科学版),2017,37(3):223-228.5 刘爱龙,张东,陈涛,等.跨平台嵌入式数字地图可视化中间件设计与应用 J.地球

23、信息科学,2015,17(6):675-681.6 文圣丰,于翔,张亚平.国产平台下机载矢量地图设计 J.航空计算技术,2023,53(2):8892+95.7 文圣丰,于翔,张亚平.一种机载嵌入式电子地图引擎设计与实现 J.信息化与信息技术,2023,274(1):111114.8 胡泽明,岳春生,王志刚.嵌入式 GIS 平台提升矢量地图操作速度的数据存储与管理技术的研究 J.测绘科学,2009,34(4):82-84.9 张宏,温永宁,刘爱利.地理信息系统算法基础 M.北京:科学出版社,2006.【作者简介】于翔(1991),男,陕西眉县人,博士,工程师,研究方向:机载嵌入式软件。文圣丰(1978),男,湖北荆门人,硕士,高级工程师,研究方向:机载嵌入式软件。柴睿鸽(1994),女,山西运城人,硕士,助理工程师,研究方向:机载嵌入式软件。(收稿日期:2023-07-04 修回日期:2023-07-23)

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服