一种机载矢量地图数据的预处理方法与流程

文档序号:11155401阅读:394来源:国知局
一种机载矢量地图数据的预处理方法与制造工艺
本发明所属
技术领域
属于民用机载航电系统座舱显示子系统领域,是机载导航系统的重要组成部分。
背景技术
:电子地图显示是座舱显示器系统软件中的一个重要的导航显示部件,该模块根据飞机当前的位置、地图比例尺以及飞行员指定的地图朝向,显示电子地图导航界面;并支持飞行员完成放大、缩小、漫游、旋转等地图操作功能,使飞行员快速了解任务区域地面的基本情况。然而,对于机载座舱显示器而言,由于其嵌入式的应用环境,对数据处理、数据加载有着非常苛刻的要求,为了实现电子地图数据的快速检索与加载,目前已有了很多方法,例如使用特定的数据结构进行数据分块、分区;或者将矢量地图数据转换成图像,进行切割处理,显示时在进行拼接处理等;或者直接使用商用空间地图数据引擎,例如ARCGIS或者MAPGIS等;然而这些方法对于机载嵌入式座舱显示器而言,都不太适合,由于特定的应用背景,有些机载座舱显示器的处理器主频不超过600MHz,而且除了进行地图显示以外,还要运行其它软件任务模块,因此需要设计一种非常简洁、易用的数据预处理方法,使得这种数据组织方式,更加便于机载座舱显示器的加载、显示。技术实现要素:本发明的目的:设计一种机载矢量地图数据的预处理方法,可以快速进行数据的检索、加载,满足机载座舱显示器快速显示的目标。本发明的技术方案:一种机载矢量地图数据的预处理方法,包括:步骤1,将原始地图数据按照地物分类、分级存储成不同的文件,设定在不同比例尺级别下调用的文件等级,采用不同的文件管理,将所有的地图数据完成数据的分级划分,形成分级数据文件;步骤2,对分级数据文件进行数据分区的预处理,将每个文件按照分区的方式划分成数据块式的分区数据文件;步骤3,将每一个级别的分区数据文件进行数据检查,并加载到嵌入式计算机使用。对分级数据文件进行数据分区的预处理包括:地图数据分区、点状数据预处理、线状数据预处理、面状数据预处理;地图数据分区具体为:地图数据按照纬度×经度进行分区,对每一个分区进行标号;点状数据预处理具体为:将地物分类中同类型的点状数据提取出来,单独成为一个点数据的分级数据文件,在数据文件中分区存储,数据加载时按照分区数据整块加载;所述点数据的分级数据文件为二进制文件,在文件头建立文件分区索引表,文件的基本结构为三个部分:分区数量;分区索引、分区数据;其中分区索引的数据标识分区标号、点数量以及文件中的偏移量,共8个字节,其数据类型定义为:点数据包括名称,级别、位置,共32个字节,其数据类型定义如下:线状数据预处理具体为:将同类型同等级的线状数据提取出来,单独成为一个数据文件,在数据文件中分区分级存储,数据加载时按照分区分级数据整块加载;线数据文件为二进制文件,在文件头建立文件分区索引表;文件的基本结构为三个部分:分区数量;分区索引、分区数据;线数据包括类型、级别、数据点数量,中心点经纬度,数据点的经纬度,最多128个字节;其数据类型定义如下:每一个线状数据对象最多包含14个数据点,如果一条原始线状对象数据点超出14个数据点,则进行数据拆分,将原始线状数据由一条拆成若干条;每一个线状数据对象中心点数据落在哪个分区,该线状对象就被放置在对应分区的数据存储区域内;面状数据预处理具体为:将同类型同级别的面状数据提取,单独成为一个数据文件,在数据文件中分区分级存储,数据加载时按照分区分级数据整块加载;面数据文件分区存储,为二进制文件;文件的基本结构为三个部分:分区数量;分区索引、分区数据;其中分区索引结构与点数据相同;面数据包括类型、级别、数据点数量,中心点经纬度,数据点的经纬度,最多256个字节,每个面数据包含30个点;其数据类型定义如下:判断每个面数据块是否是凹多边形,如果该面数据块是凹多边形在数据预处理时将其拆分成凸多边形;每一个面数据块中心点数据落在哪个分区,该面数据块就被放置在对应分区的数据存储区域内。判断每个面数据块是否是凹多边形的步骤包括:步骤21、读取三个点构造一个最小凸多边形——三角形;步骤22、加入新点,检查该点是否落在凸多边形内;步骤23、将新点与凸多边形第一个边界点互换,检查凸多边形第一点是否落在新点组成的多边形内;如果第二条、第三条都满足,则新加入点被确定为新的凸多边形边界点。将凹多边形拆分成凸多边形的步骤包括:步骤24、如果多边形一直是凸多边形,且点数达到30个点,则生产一个多边形对象;步骤25、如果发现新点加入后会变成凹多边形,则以新点为中心将该区域拆分成两个凸多边形;步骤26、再将首尾两个点作为一条边,读取新点,如果新点为最后一点则多边形拆分结束;否则进入步骤22。本发明具有的优点效果:数据存储的方式简洁,只要是具备电子盘和文件系统的显示系统都能实现地图数据的检索与提取;数据分级使用不同的数据文件进行管理;每个分级文件中数据按照地理分区进行管理,并建立文件索引表,易于数据的查询与检索;本发明可以在计算机资源非常受限制的嵌入式环境下进行应用,在实际使用过程中,地图数据的检索、加载速度开、内容准确,满足项目实际的需要。附图说明图1为机载矢量地图数据预处理过程图。图2为点状数据预处理流程图。图3为线状数据预处理流程图。图4为面状数据预处理流程图。图5为点在多边形内的算法流程图。图6为单个原始多边形拆分过程流程图。具体实施方式一种机载矢量地图数据的预处理方法,如图1所示,包括:步骤1,将原始地图数据按照地物分类、分级存储成不同的文件,设定在不同比例尺级别下调用的文件等级,采用不同的文件管理,将所有的地图数据完成数据的分级划分,形成分级数据文件;步骤2,对分级数据文件进行数据分区的预处理,将每个文件按照分区的方式划分成数据块式的分区数据文件;步骤3,将每一个级别的分区数据文件进行数据检查,并加载到嵌入式计算机使用。对分级数据文件进行数据分区的预处理包括:地图数据分区、点状数据预处理、线状数据预处理、面状数据预处理;地图数据分区具体为:地图数据按照纬度×经度进行分区,对每一个分区进行标号;点状数据预处理具体为:将地物分类中同类型的点状数据提取出来,单独成为一个点数据的分级数据文件,在数据文件中分区存储,数据加载时按照分区数据整块加载;所述点数据的分级数据文件为二进制文件,在文件头建立文件分区索引表,文件的基本结构为三个部分:分区数量;分区索引、分区数据;其中分区索引的数据标识分区标号、点数量以及文件中的偏移量,共8个字节,其数据类型定义为:点数据包括名称,级别、位置,共32个字节,其数据类型定义如下:线状数据预处理具体为:将同类型同等级的线状数据提取出来,单独成为一个数据文件,在数据文件中分区分级存储,数据加载时按照分区分级数据整块加载;线数据文件为二进制文件,在文件头建立文件分区索引表;文件的基本结构为三个部分:分区数量;分区索引、分区数据;线数据包括类型、级别、数据点数量,中心点经纬度,数据点的经纬度,最多128个字节;其数据类型定义如下:每一个线状数据对象最多包含14个数据点,如果一条原始线状对象数据点超出14个数据点,则进行数据拆分,将原始线状数据由一条拆成若干条;每一个线状数据对象中心点数据落在哪个分区,该线状对象就被放置在对应分区的数据存储区域内;面状数据预处理具体为:将同类型同级别的面状数据提取,单独成为一个数据文件,在数据文件中分区分级存储,数据加载时按照分区分级数据整块加载;面数据文件分区存储,为二进制文件;文件的基本结构为三个部分:分区数量;分区索引、分区数据;其中分区索引结构与点数据相同;面数据包括类型、级别、数据点数量,中心点经纬度,数据点的经纬度,最多256个字节,每个面数据包含30个点;其数据类型定义如下:判断每个面数据块是否是凹多边形,如果该面数据块是凹多边形在数据预处理时将其拆分成凸多边形;每一个面数据块中心点数据落在哪个分区,该面数据块就被放置在对应分区的数据存储区域内。判断每个面数据块是否是凹多边形的步骤包括:步骤21、读取三个点构造一个最小凸多边形——三角形;步骤22、加入新点,检查该点是否落在凸多边形内;步骤23、将新点与凸多边形第一个边界点互换,检查凸多边形第一点是否落在新点组成的多边形内;如果第二条、第三条都满足,则新加入点被确定为新的凸多边形边界点。将凹多边形拆分成凸多边形的步骤包括:步骤24、如果多边形一直是凸多边形,且点数达到30个点,则生产一个多边形对象;步骤25、如果发现新点加入后会变成凹多边形,则以新点为中心将该区域拆分成两个凸多边形;步骤26、再将首尾两个点作为一条边,读取新点,如果新点为最后一点则多边形拆分结束;否则进入步骤22。实施例机载矢量地图数据预处理的目标是将海量的原始地图数据在使用前进行一定处理,以缩短机载计算机上数据检索与处理的过程,提高地图显示的速度。一般而言,数据预处理一定要经过数据的分级、分区处理,以便于将特定区域不同比例尺的数据进行精准检索,快速加载。机载矢量地图数据为具备国家相应资质的数据生产企业出版的二维电子地图数据。原始数据采用行业通用的数据交换格式,一般交付的为MIF文本格式数据。由于机载嵌入式计算机资源比较苛刻,一般不采用数据库进行数据管理,本发明使用数据文件的形式作为数据管理的基础。首先,由于不能使用空间数据库进行数据管理,所以数据的组织管理使用文件系统进行。将原始数据进行数据分类,按照地物分类、分级存储成不同的文件。在数据的处理上,将不同地图要素类型以及不同比例尺级别的地图数据,采用不同的文件管理,例如河流,可以存储为一级水系河流、二级水系河流、三级水系河流、四级水系河流等四个文件。将道路进行分级处理,以航空应用为背景,分为四级,分别为高速公路数据文件、国道省道数据文件、县市公路数据文件和乡村公路数据文件等四个文件。如此类推,将所有的地图要素数据完成数据的分级处理。第二,为了便于数据加载以及提高计算机资源的利用率,每一个文件将包含全部显示区域的地图数据,比如全中国地区、欧洲地区,因此每一个数据文件包含的数据量很大。为了便于地图显示数据的检索与加载的速度,分级数据必须进行数据分区的预处理,将每个文件按照分区的方式将地图数据重新组织整理,以便于机载嵌入式计算机在使用时快速加载。第三,将每一个级别的分区数据文件进行数据检查,并加载到嵌入式计算机使用。整个数据预处理的过程参见附图1。地图数据分块地图数据为了索引方便,分为南半球和北半球两个区域,每个半球分别是经度0到180°,纬度0到90°。分块数据按照纬度×经度(4°×6°)进行分块,这样水平分30份,垂直方向分为22份;一共是660块。北半球的分区标号从1到660进行分区;南半球从661到1320进行分区。4°×6°的分块对应地面的实际距离为北向四百多公里乘东向六百多公里,对于很多的飞机应用而言已经足够,即使不够数据交换两次将产生上千公里的飞行区域,足以满足目标,减少了数据交换次数,提高了数据使用效率。点状数据预处理点状数据预处理是将同类型的点状数据提取出来,单独成为一个数据文件,在数据文件中分区存储,数据加载时按照分区数据整块加载,相较于每个显示要素的提取,提高了内存与外设之间的数据传输效率。点数据文件为二进制文件,为了保证文件检索效率,在文件头建立文件分区索引表。文件的基本结构为三个部分:分区数量;分区索引、分区数据。其中分区索引的数据标识分区标号、点数量以及文件中的偏移量,共8个字节,其数据类型定义为:点数据包括名称,级别、位置,共32个字节,其数据类型定义如下:表1点数据文件格式序号数据含义数据长度文件起始位置1文件类型2字节02分区数量N4字节23分区索引18字节6..................................N+2分区索引N8字节6+8×(N-1)N+3点数据132字节6+8×N..................................N+3+M点数据M32字节6+8×N+32×(M-1)点状数据文件的文件格式如表1所示,数据预处理的流程图如图2所示。线状数据预处理线状数据预处理是将同类型同级别的线状数据提取出来,单独成为一个数据文件,在数据文件中分区分级存储,数据加载时按照分区分级数据整块加载。线数据文件为二进制文件,为了保证文件检索效率,在文件头建立文件分区索引表。文件的基本结构为三个部分:分区数量;分区索引、分区数据。其中分区索引结构与点数据相同。线数据包括类型、级别、数据点数量,中心点经纬度,数据点的经纬度,最多128个字节;其数据类型定义如下:每一个线状数据对象最多包含14个数据点。如果一条原始线状对象数据点超出14个数据点,则进行数据拆分,将原始线状数据由一条拆成若干条。每一个线状数据对象中心点数据落在哪个分块区域,该线状对象就被放置在对应分块的数据存储区域内。线状数据文件的文件格式如表2所示:表2线状数据文件格式线状数据预处理流程如图3所示:面状数据预处理面状数据预处理是将同类型同级别的面状数据提取,单独成为一个数据文件,在数据文件中分区分级存储,数据加载时按照分区分级数据整块加载。面数据文件分区存储,经度宽度为6度,纬度宽度为4度,为二进制文件。文件的基本结构为三个部分:分区数量;分区索引、分区数据。其中分区索引结构与点数据相同。面数据包括类型、级别、数据点数量,中心点经纬度,数据点的经纬度,最多256个字节,每个面数据包含30个点;其数据类型定义如下:为了保证面状数据区域正常填充颜色,每个面状数据块都应该保证是凸多边形。因此,凹多边形应该在数据预处理时被拆分成凸多边形;每一个面状数据对象不超过30个数据点,因此,每个凸多边形边界数据点不超过30个。每一个面状数据对象中心点数据落在哪个分块区域,该线状对象就被放置在对应分块的数据存储区域内。面状数据文件的文件格式如表3所示:表3面状数据文件格式面状数据预处理流程如图4所示。在面状区域拆分时,需要有两个关键算法,一个是凹多边形的判断;另一个是凹多边形拆分成凸多边形。关键算法1:凹多边形的判断该算法采用逐点判断的方法,首先读取三个点构造一个最小凸多边形——三角形;第二加入新点,检查该点是否落在凸多边形内;第三,将新点与凸多边形第一个边界点互换,检查凸多边形第一点是否落在新点组成的多边形内。如果第二条、第三条都满足,则新加入点被确定为新的凸多边形边界点。点在多边形内的算法如图5所示。关键算法2:凸多边形拆分如果多边形一直是凸多边形,且点数达到30个点,则生产一个多边形对象。如果发现新点加入后会变成凹多边形,则将该点加入,将已加入所有点拆分成两个凸多边形对象。并将首尾两个点作为一条边,读取新点开始下一个凸多边形对象的构造,直到多边形拆分结束。图6是单个原始多边形对象拆分过程流程图。必要的步骤特性说明●将矢量电子地图数据分要素、分级存储,存储为十几个地图要素数据文件;●将每一个数据文件进行分区处理,分区大小为4°×6°大小;●将每个分块数据放置在一个数据块内,建立文件索引表;●数据加载时,根据索引表的文件位置与数据块大小,一次读取过程加载一个数据块的数据,提高数据加载效率;当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1