ATB格式气象数据的解析方法技术

技术编号:3852140 阅读:273 留言:0更新日期:2012-04-11 18:40
公开了一种ATB格式气象数据的解析方法包括以下步骤:(1)读取和解析ATB数据文件,生成浮点数矩阵;(2)按ATB数据格式对步骤(1)的浮点数矩阵进行拆分提取,得到给定经纬度点所在的格点数据;(3)根据步骤(2)的格点数据,生成任意经纬度点相关格点、固定气压层、特定时刻数据对象。本方法完成了对ATB二进制数据暗码的解析工作,得到了可视的十进制高度和温度浮点数,并且生成了后续数据处理所需要的数据对象,为后续的相关处理提供了有效的数据源。

【技术实现步骤摘要】

本专利技术涉及一种数据分析与处理方法,特别是一种符合FAA (Federal Aviation Administration,美国联邦航空局)技术中心的ATB气象数据格式 要求的数据分析与信息提取方法。
技术介绍
ATB数据为FAA技术中心专利技术的一种气象数据,此数据时时更新,其 数据包含每天0点、6点、12点和18点的全球各经纬度网格点上1000到 100毫巴气压层上标准气压环境下的实际气压高度和温度数据。其中0点和 6点的数据包含在一个文件中,命名为MMDDYYOO.ATB, 12点和18点的 数据在另一个文件中,命名为MMDDYY12.ATB。由于此数据时时更新,且包含全球任意经纬度网格的数据,因而被越 来越广泛地应用于包括空域安全评估、航路安全评估,航空器性能评估等 全球民航的各个领域。目前,我国在 ATB气象数据格式要求的数据分析与信息提取方面还是 空白,如果在各项安全评估中应用此数据值,则可以得到更为准确的评估 结果。
技术实现思路
为克服现有技术的缺陷,本专利技术要解决的技术问题是提供了一种能 够得到经纬度网格上,固定等气压面,固定时间的实际气压高度和温度数据、作为后续相关处理的有效数据源的ATB格式气象数据的解析方法。本专利技术的技术方案是此种ATB格式气象数据的解析方法包括以下步 骤(l)读取和解析ATB数据文件,生成浮点数矩阵;(2)按ATB数据格式对步骤(1)的浮点数矩阵进行拆分提取,得到给定经纬度点所在的格点数据;(3)根据步骤(2)的格点数据,生成任意经纬度点相关格点、固定气压层、特定时刻数据对象。本专利技术提供的数据分析与处理方法取得了如下技术效果(1) 完成了对ATB二进制数据暗码的解析工作,得到了可视的十进制高度和温度浮点数;(2) 生成了后续数据处理所需要的数据对象,为后续的相关处理提供了有效的数据源。 附图说明图1所示为ATB数据基本格式图2所示为温度和高度数据块格式图3所示为全球以1.25度为间隔的经纬度格点格式图4所示为本专利技术的步骤(1)的流程图5所示为本专利技术的步骤(1.8)的流程图6所示为小字节(LittleEndian)排列顺序图7所示为大字节(BigEndian)排列顺序图8所示为IEEE 754规则要求的浮点数转化格式图9所示为本专利技术的步骤(2)的流程图IO所示为任意经纬度点相关格点气象数据片断示意图11所示为本专利技术的步骤(3)的流程图12所示为任意经纬度点相关格点、固定气压层,特定时刻数据对象 结构示意图。 具体实施例方式下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。7对于ATB数据,其基本格式如图l所示,其中文件头占1152字节,各温度和高度数据块占1670400字节,总计大小为6682752字节。对于各 温度和高度数据块,其格式如图2所示,其中,每个毫巴层占167040字节, 整个数据块按1000mb、 850mb、 700mb、 500mb、 400mb、 300mb、 250mb、 200mb、 150mb和100mb的顺序排列。对于每一个毫巴层的数据,其包含 为全球以1.25度为间隔的经讳度格点矩阵数据,如图3所示,从图3中可 以看出,对于每一个毫巴层数据块,纵向从南纬90度至北纬90度以1.25 度为间隔分为145个节点,横向上首先从西经30度至西经1.25度、0度排 列,进而由东经1.25度至东经178.75度、180度排列,最后由西经178.75 度至西经31.25度排列,间隔仍为1.25度,共288个节点。在每一个节点 处,其数据为表示高度或温度的浮点数,由四位二进制数按照IEEE 754标 准组成,每一位二进制数占8个字节,每个浮点数占32字节。图4所示为本专利技术的步骤(1)的流程图,所述步骤(1)包括以下分 步骤(1.1) 开始读取ATB数据文件;(1.2) 计算数据文件包含的字节数;(1.3) 声明大小等于数据文件包含字节数的字节类型数组,用于存 放ATB二进制读取结果;(1.4 )将ATB数据文件读入该字节类型数组;(1.5) 从字节数据的第一个字节开始读取数据;(1.6) 判断是否有剩余字节存在,如果是执行步骤(1.7),否则执行 步骤(1.10);(1.7) 从字节类型数组中顺序读出四个字节的数据,即四个8位二进制数;(1.8) 将四个8位二进制数转化为浮点数,得到了十进制的浮点数;(1.9) 储存生成的浮点数;(1.10) 当前数组指针后移4位,执行步骤(1.6);(1.11) ATB二进制数据读取与解析结束。 本方法对ATB二进制数据进行了分析、读取合浮点数转化,生成了浮点数格式的5800x288的浮点数矩阵。其中,图5所示为本专利技术的步骤(1.8)的流程图,本步骤将32位二进 制数转化位浮点数,得到了十进制的浮点数结果。事实上在ATB数据中, 每4字节32位浮点数,按照小字节(Little Endian)顺序排列,如图6所示, 由于根据IEEE 754规则要求,应将数据转化为如图7所示大字节(Big Endian)顺序后才可以继续计算。所述步骤(1.8)包括以下分步骤(1.8.1) 开始将四阶二进制数组转化为浮点数;(1.8.2) 判断当前数组是否包含全部四阶二进制数,如果是执行步 骤(1.8.3),否则执行步骤(1.8.8);(1.8.3) 将数组号元素左移24位;(1.8.4) 将数组号元素左移16位;(1.8.5) 将数组号元素左移8位;(1.8.6) 将数组、 、 和号元素合并;(1.8.7) 根据正EE 754规则要求转化为浮点数,具体方法为,首先 将32位二进制数分为三部分,如图8所示,其中符号位用s表示,指数 位用e表示,尾数位用m表示,最终浮点数的计算结果为M = (-l/xmx 2e,转步骤(1.8.9);(1.8.8) 提示当前数组有误;(1.8.9) 浮点数转化结束。图9所示为本专利技术的步骤(2)的流程图,本步骤具体目的为,对解析 后的温度、高度矩阵进行拆分提取,得到对于给定经纬度点所在的格点数据,在图10中,G, 乂)为指定的经纬度点,(1, 1)、 (1, 2), (2, 1)和 (2, 2)分别按照该步骤计算。所述步骤(2)包括(2.1) 开始提取格点数据,读取准确的经度x、纬度;;;(2.2) 经度数据位置判定,声明经度位置结果变量/,如果是东经经度 执行步骤(2.3),如果是西经经度执行步骤(2.4), 0度执行步骤(2.7), 180度执行步骤(2.8);(2.3) / =义/ 1.25 + 24,转步骤(2.9);(2.4) 判断经度是否小于西经30度,如果是执行步骤(2.5),否则执 行步骤(2.6);(2.5) z' = (x-30)/(-1.25),转步骤(2.9);(2.6) f = (x-178.5)/(-1.25)+ 168,转步骤(2.9);(2.7) / = 24,转步骤(2.9);(2.8) /=168,转步骤(2.9);(2.9) 对/进行向下取整运算,得到经度对应得标准位置;(2.10) 纬度数据位置判定,声明纬度位置结果变量y,如果是北纬纬度执行步骤(2.11),如果是南纬纬度执行步骤(2.12);(2.11) _/ = (> + 90)/ 1.本文档来自技高网...

【技术保护点】
ATB格式气象数据的解析方法,其特征在于,包括以下步骤: (1)读取和解析ATB数据文件,生成浮点数矩阵; (2)按ATB数据格式对步骤(1)的浮点数矩阵进行拆分提取,得到给定经纬度点所在的格点数据; (3)根据步骤(2) 的格点数据,生成任意经纬度点相关格点、固定气压层、特定时刻数据对象。

【技术特征摘要】

【专利技术属性】
技术研发人员:朱衍波兆珺张军唐金翔许有臣金开研吕嘉川
申请(专利权)人:民航数据通信有限责任公司北京航空航天大学
类型:发明
国别省市:11[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利