專利名稱:Atb格式氣象數(shù)據(jù)的解析方法
技術(shù)領域:
本發(fā)明涉及一種數(shù)據(jù)分析與處理方法,特別是一種符合FAA (Federal Aviation Administration,美國聯(lián)邦航空局)技術(shù)中心的ATB氣象數(shù)據(jù)格式 要求的數(shù)據(jù)分析與信息提取方法。
背景技術(shù):
ATB數(shù)據(jù)為FAA技術(shù)中心發(fā)明的一種氣象數(shù)據(jù),此數(shù)據(jù)時時更新,其 數(shù)據(jù)包含每天0點、6點、12點和18點的全球各經(jīng)緯度網(wǎng)格點上1000到 100毫巴氣壓層上標準氣壓環(huán)境下的實際氣壓高度和溫度數(shù)據(jù)。其中0點和 6點的數(shù)據(jù)包含在一個文件中,命名為MMDDYYOO.ATB, 12點和18點的 數(shù)據(jù)在另一個文件中,命名為MMDDYY12.ATB。
由于此數(shù)據(jù)時時更新,且包含全球任意經(jīng)緯度網(wǎng)格的數(shù)據(jù),因而被越 來越廣泛地應用于包括空域安全評估、航路安全評估,航空器性能評估等 全球民航的各個領域。
目前,我國在 ATB氣象數(shù)據(jù)格式要求的數(shù)據(jù)分析與信息提取方面還是 空白,如果在各項安全評估中應用此數(shù)據(jù)值,則可以得到更為準確的評估 結(jié)果。
發(fā)明內(nèi)容
為克服現(xiàn)有技術(shù)的缺陷,本發(fā)明要解決的技術(shù)問題是提供了一種能 夠得到經(jīng)緯度網(wǎng)格上,固定等氣壓面,固定時間的實際氣壓高度和溫度數(shù)
據(jù)、作為后續(xù)相關(guān)處理的有效數(shù)據(jù)源的ATB格式氣象數(shù)據(jù)的解析方法。
本發(fā)明的技術(shù)方案是此種ATB格式氣象數(shù)據(jù)的解析方法包括以下步 驟(l)讀取和解析ATB數(shù)據(jù)文件,生成浮點數(shù)矩陣;(2)按ATB數(shù)據(jù)格式對步驟(1)的浮點數(shù)矩陣進行拆分提取,得到給定經(jīng)緯度點所在的格點
數(shù)據(jù);(3)根據(jù)步驟(2)的格點數(shù)據(jù),生成任意經(jīng)緯度點相關(guān)格點、固定
氣壓層、特定時刻數(shù)據(jù)對象。
本發(fā)明提供的數(shù)據(jù)分析與處理方法取得了如下技術(shù)效果
(1) 完成了對ATB二進制數(shù)據(jù)暗碼的解析工作,得到了可視的十進
制高度和溫度浮點數(shù);
(2) 生成了后續(xù)數(shù)據(jù)處理所需要的數(shù)據(jù)對象,為后續(xù)的相關(guān)處理提供
了有效的數(shù)據(jù)源。
圖1所示為ATB數(shù)據(jù)基本格式圖2所示為溫度和高度數(shù)據(jù)塊格式圖3所示為全球以1.25度為間隔的經(jīng)緯度格點格式圖4所示為本發(fā)明的步驟(1)的流程圖5所示為本發(fā)明的步驟(1.8)的流程圖6所示為小字節(jié)(LittleEndian)排列順序圖7所示為大字節(jié)(BigEndian)排列順序圖8所示為IEEE 754規(guī)則要求的浮點數(shù)轉(zhuǎn)化格式圖9所示為本發(fā)明的步驟(2)的流程圖IO所示為任意經(jīng)緯度點相關(guān)格點氣象數(shù)據(jù)片斷示意圖11所示為本發(fā)明的步驟(3)的流程圖12所示為任意經(jīng)緯度點相關(guān)格點、固定氣壓層,特定時刻數(shù)據(jù)對象 結(jié)構(gòu)示意圖。
具體實施例方式
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
7對于ATB數(shù)據(jù),其基本格式如圖l所示,其中文件頭占1152字節(jié),
各溫度和高度數(shù)據(jù)塊占1670400字節(jié),總計大小為6682752字節(jié)。對于各 溫度和高度數(shù)據(jù)塊,其格式如圖2所示,其中,每個毫巴層占167040字節(jié), 整個數(shù)據(jù)塊按1000mb、 850mb、 700mb、 500mb、 400mb、 300mb、 250mb、 200mb、 150mb和100mb的順序排列。對于每一個毫巴層的數(shù)據(jù),其包含 為全球以1.25度為間隔的經(jīng)諱度格點矩陣數(shù)據(jù),如圖3所示,從圖3中可 以看出,對于每一個毫巴層數(shù)據(jù)塊,縱向從南緯90度至北緯90度以1.25 度為間隔分為145個節(jié)點,橫向上首先從西經(jīng)30度至西經(jīng)1.25度、0度排 列,進而由東經(jīng)1.25度至東經(jīng)178.75度、180度排列,最后由西經(jīng)178.75 度至西經(jīng)31.25度排列,間隔仍為1.25度,共288個節(jié)點。在每一個節(jié)點 處,其數(shù)據(jù)為表示高度或溫度的浮點數(shù),由四位二進制數(shù)按照IEEE 754標 準組成,每一位二進制數(shù)占8個字節(jié),每個浮點數(shù)占32字節(jié)。
圖4所示為本發(fā)明的步驟(1)的流程圖,所述步驟(1)包括以下分 步驟
(1.1) 開始讀取ATB數(shù)據(jù)文件;
(1.2) 計算數(shù)據(jù)文件包含的字節(jié)數(shù);
(1.3) 聲明大小等于數(shù)據(jù)文件包含字節(jié)數(shù)的字節(jié)類型數(shù)組,用于存 放ATB二進制讀取結(jié)果;
(1.4 )將ATB數(shù)據(jù)文件讀入該字節(jié)類型數(shù)組;
(1.5) 從字節(jié)數(shù)據(jù)的第一個字節(jié)開始讀取數(shù)據(jù);
(1.6) 判斷是否有剩余字節(jié)存在,如果是執(zhí)行步驟(1.7),否則執(zhí)行 步驟(1.10);
(1.7) 從字節(jié)類型數(shù)組中順序讀出四個字節(jié)的數(shù)據(jù),即四個8位二進
制數(shù);
(1.8) 將四個8位二進制數(shù)轉(zhuǎn)化為浮點數(shù),得到了十進制的浮點數(shù);(1.9) 儲存生成的浮點數(shù);
(1.10) 當前數(shù)組指針后移4位,執(zhí)行步驟(1.6);
(1.11) ATB二進制數(shù)據(jù)讀取與解析結(jié)束。 本方法對ATB二進制數(shù)據(jù)進行了分析、讀取合浮點數(shù)轉(zhuǎn)化,生成了
浮點數(shù)格式的5800x288的浮點數(shù)矩陣。
其中,圖5所示為本發(fā)明的步驟(1.8)的流程圖,本步驟將32位二進 制數(shù)轉(zhuǎn)化位浮點數(shù),得到了十進制的浮點數(shù)結(jié)果。事實上在ATB數(shù)據(jù)中, 每4字節(jié)32位浮點數(shù),按照小字節(jié)(Little Endian)順序排列,如圖6所示, 由于根據(jù)IEEE 754規(guī)則要求,應將數(shù)據(jù)轉(zhuǎn)化為如圖7所示大字節(jié)(Big Endian)順序后才可以繼續(xù)計算。所述步驟(1.8)包括以下分步驟
(1.8.1) 開始將四階二進制數(shù)組轉(zhuǎn)化為浮點數(shù);
(1.8.2) 判斷當前數(shù)組是否包含全部四階二進制數(shù),如果是執(zhí)行步 驟(1.8.3),否則執(zhí)行步驟(1.8.8);
(1.8.3) 將數(shù)組[3]號元素左移24位;
(1.8.4) 將數(shù)組[2]號元素左移16位;
(1.8.5) 將數(shù)組[1]號元素左移8位;
(1.8.6) 將數(shù)組[O]、 [l]、 [2]和[3]號元素合并;
(1.8.7) 根據(jù)正EE 754規(guī)則要求轉(zhuǎn)化為浮點數(shù),具體方法為,首先 將32位二進制數(shù)分為三部分,如圖8所示,其中符號位用s表示,指數(shù) 位用e表示,尾數(shù)位用m表示,最終浮點數(shù)的計算結(jié)果為M = (-l/xmx 2e,轉(zhuǎn)步驟(1.8.9);
(1.8.8) 提示當前數(shù)組有誤;
(1.8.9) 浮點數(shù)轉(zhuǎn)化結(jié)束。
圖9所示為本發(fā)明的步驟(2)的流程圖,本步驟具體目的為,對解析 后的溫度、高度矩陣進行拆分提取,得到對于給定經(jīng)緯度點所在的格點數(shù)據(jù),在圖10中,G, 乂)為指定的經(jīng)緯度點,(1, 1)、 (1, 2), (2, 1)和 (2, 2)分別按照該步驟計算。所述步驟(2)包括
(2.1) 開始提取格點數(shù)據(jù),讀取準確的經(jīng)度x、緯度;;;
(2.2) 經(jīng)度數(shù)據(jù)位置判定,聲明經(jīng)度位置結(jié)果變量/,如果是東經(jīng)經(jīng)度 執(zhí)行步驟(2.3),如果是西經(jīng)經(jīng)度執(zhí)行步驟(2.4), 0度執(zhí)行步驟(2.7), 180度執(zhí)行步驟(2.8);
(2.3) / =義/ 1.25 + 24,轉(zhuǎn)步驟(2.9);
(2.4) 判斷經(jīng)度是否小于西經(jīng)30度,如果是執(zhí)行步驟(2.5),否則執(zhí) 行步驟(2.6);
(2.5) z' = (x-30)/(-1.25),轉(zhuǎn)步驟(2.9);
(2.6) f = (x-178.5)/(-1.25)+ 168,轉(zhuǎn)步驟(2.9);
(2.7) / = 24,轉(zhuǎn)步驟(2.9);
(2.8) /=168,轉(zhuǎn)步驟(2.9);
(2.9) 對/進行向下取整運算,得到經(jīng)度對應得標準位置;
(2.10) 緯度數(shù)據(jù)位置判定,聲明緯度位置結(jié)果變量y,如果是北緯
緯度執(zhí)行步驟(2.11),如果是南緯緯度執(zhí)行步驟(2.12);
(2.11) _/ = (> + 90)/ 1.25,轉(zhuǎn)步驟(2.13);
(2.12) _/ = (90-力/1.25,轉(zhuǎn)步驟(2.13);
(2.13) 對y進行向下取整運算,得到緯度對應得標準位置;
(2.14) 確定格點數(shù)據(jù)將(/,"位置對應數(shù)據(jù)附值給(2, 1)位 置數(shù)據(jù),(/, J'+1)位置對應數(shù)據(jù)附值給(2, 2)位置數(shù)據(jù),(/+1, _/) 位置對應數(shù)據(jù)附值給(1, 1)位置數(shù)據(jù),G'+l, 位置對應數(shù)據(jù)附 值給(1, 2)位置數(shù)據(jù);
(2.15) 浮點數(shù)矩陣進行拆分提取結(jié)束。圖ll所示為本發(fā)明的步驟(3)的流程圖,圖12給出了生成數(shù)據(jù)的排 列方式。所述步驟(3)包括以下分步驟
(3.1) 開始提取數(shù)據(jù),傳入坐標點/, y的位置;
(3.2) 從第一個溫度和高度數(shù)據(jù)塊開始處理,聲明數(shù)據(jù)塊標識變量
(3.3) 判斷是否已經(jīng)讀取過最后一個數(shù)據(jù)塊,如果是執(zhí)行步驟 (3.11),否則執(zhí)行步驟(3.4);
(3.4) 從當前數(shù)據(jù)快的第一個氣壓層開始處理,聲明氣壓層標識變
(3.5) 判斷是否已經(jīng)讀取過最后一個氣壓層,如果是執(zhí)行步驟 (3.10),否則執(zhí)行步驟(3.6);
(3.6) 計算當前格點數(shù)據(jù)標識位置;
(3.7) 按照步驟(2.14)的方法取當前格點數(shù)據(jù);
(3.8) 將當前的讀取結(jié)果寫入儲存空間;
(3.9) 指向下一個氣壓層,執(zhí)行步驟(3.5);
(3.10) 指向下一個溫度和高度數(shù)據(jù)塊,執(zhí)行步驟(3.3);
(3.11) 數(shù)據(jù)對象生成結(jié)束。 本步驟完成了任意經(jīng)緯度網(wǎng)格相關(guān)格點、固定氣壓層,特定時刻數(shù)
據(jù)對象生成,完成了數(shù)據(jù)解析過程,得到了最終的數(shù)據(jù)解析結(jié)果。
本發(fā)明通過將對美國FAA, ATB氣象數(shù)據(jù)的分析,完成了數(shù)據(jù)中所 包含實際高度和溫度浮點數(shù)的提取,為后續(xù)的數(shù)據(jù)處理提供了有效的數(shù) 據(jù)源。
以上所述,僅是本發(fā)明的較佳實施例,并非對本發(fā)明作任何形式上的 限制,凡是依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等 同變化與修飾,均仍屬本發(fā)明技術(shù)方案的保護范圍。
權(quán)利要求
1、ATB格式氣象數(shù)據(jù)的解析方法,其特征在于,包括以下步驟(1)讀取和解析ATB數(shù)據(jù)文件,生成浮點數(shù)矩陣;(2)按ATB數(shù)據(jù)格式對步驟(1)的浮點數(shù)矩陣進行拆分提取,得到給定經(jīng)緯度點所在的格點數(shù)據(jù);(3)根據(jù)步驟(2)的格點數(shù)據(jù),生成任意經(jīng)緯度點相關(guān)格點、固定氣壓層、特定時刻數(shù)據(jù)對象。
2、 根據(jù)權(quán)利要求1所述的ATB格式氣象數(shù)據(jù)的解析方法,其特征在于,所述步驟(1)包括以下分步驟(1.1) 開始讀取ATB數(shù)據(jù)文件;(1.2) 計算數(shù)據(jù)文件包含的字節(jié)數(shù);(1.3) 聲明大小等于數(shù)據(jù)文件包含字節(jié)數(shù)的字節(jié)類型數(shù)組,用于存放ATB二進制讀取結(jié)果;(1.4) 將ATB數(shù)據(jù)文件讀入該字節(jié)類型數(shù)組;(1.5) 從字節(jié)數(shù)據(jù)的第一個字節(jié)開始讀取數(shù)據(jù);(1.6) 判斷是否有剩余字節(jié)存在,如果是執(zhí)行步驟(1.7),否則執(zhí)行步驟(1.10);(1.7) 從字節(jié)類型數(shù)組中順序讀出四個字節(jié)的數(shù)據(jù),即四個8位二進制數(shù);(1.8) 將四個8位二進制數(shù)轉(zhuǎn)化為浮點數(shù),得到了十進制的浮點數(shù);(1.9) 儲存生成的浮點數(shù);(1.10) 當前數(shù)組指針后移4位,執(zhí)行步驟(1.6);(1.11) ATB 二進制數(shù)據(jù)讀取與解析結(jié)束。
3、 根據(jù)權(quán)利要求2所述的ATB格式氣象數(shù)據(jù)的解析方法,其特征在于,所述步驟(1.8)包括以下分步驟(1.8.1) 開始將四階二進制數(shù)組轉(zhuǎn)化為浮點數(shù);(1.8.2) 判斷當前數(shù)組是否包含全部四階二進制數(shù),如果是執(zhí)行步驟(1.8,3),否則執(zhí)行步驟(1.8.8);(1.8.3) 將數(shù)組[3]號元素左移24位;(1.8.4) 將數(shù)組[2]號元素左移16位;(1.8.5) 將數(shù)組[1]號元素左移8位;(1.8.6) 將數(shù)組[O]、 [l]、 [2]和[3]號元素合并;(1.8.7) 根據(jù)IEEE 754規(guī)則要求轉(zhuǎn)化為浮點數(shù),轉(zhuǎn)步驟(1.8.9);(1.8.8) 提示當前數(shù)組有誤;(1.8.9) 浮點數(shù)轉(zhuǎn)化結(jié)束。
4、根據(jù)權(quán)利要求1所述的ATB格式氣象數(shù)據(jù)的解析方法,其特征在于,所述步驟(2)包括以下分步驟(2.1) 開始提取格點數(shù)據(jù),讀取準確的經(jīng)度x、緯度,-(2.2) 經(jīng)度數(shù)據(jù)位置判定,聲明經(jīng)度位置結(jié)果變量z',如果是東經(jīng)經(jīng)度執(zhí)行步驟(2.3),如果是西經(jīng)經(jīng)度執(zhí)行步驟(2.4), 0度執(zhí)行步驟(2.7),180度執(zhí)行步驟(2.8);(2.3) / = 1.25 + 24,轉(zhuǎn)步驟(2.9);(2.4) 判斷經(jīng)度是否小于西經(jīng)30度,如果是執(zhí)行步驟(2.5),否則執(zhí)行步驟(2.6);(2.5) / = (;c-30)/(-1.25),轉(zhuǎn)步驟(2.9);(2.6) / = (x-178.5)/(-1.25)+ 168,轉(zhuǎn)步驟(2.9);(2.7) / = 24,轉(zhuǎn)步驟(2.9);(2.8) /=168,轉(zhuǎn)步驟(2.9);(2.9) 對/進行向下取整運算,得到經(jīng)度對應得標準位置;(2.10) 緯度數(shù)據(jù)位置判定,聲明緯度位置結(jié)果變量乂,如果是北緯緯度執(zhí)行步驟(2.11),如果是南緯緯度執(zhí)行步驟(2.12);(2.11) y' = (y + 90)/ 1.25,轉(zhuǎn)步驟(2.13);(2.12) _/ = (90-力/1.25,轉(zhuǎn)步驟(2.13);(2.13) 對/進行向下取整運算,得到緯度對應得標準位置;(2.14) 確定格點數(shù)據(jù)將G', 乂)位置對應數(shù)據(jù)附值給(2, 1)位置數(shù)據(jù),(/, y'+l)位置對應數(shù)據(jù)附值給(2, 2)位置數(shù)據(jù),G+l, y)位置對應數(shù)據(jù)附值給(1, 1)位置數(shù)據(jù),(z'+l, 位置對應數(shù)據(jù)附值給(1, 2)位置數(shù)據(jù);(2.15) 浮點數(shù)矩陣進行拆分提取結(jié)束。
5、根據(jù)權(quán)利要求4所述的ATB格式氣象數(shù)據(jù)的解析方法,其特征在于,所述步驟(3)包括以下分步驟(3.1) 開始提取數(shù)據(jù),傳入坐標點/, /的位置;(3.2) 從第一個溫度和高度數(shù)據(jù)塊開始處理,聲明數(shù)據(jù)塊標識變量A =0;(3.3) 判斷是否已經(jīng)讀取過最后一個數(shù)據(jù)塊,如果是執(zhí)行步驟(3.11),否則執(zhí)行步驟(3.4);(3.4) 從當前數(shù)據(jù)快的第一個氣壓層開始處理,聲明氣壓層標識變量/ = 0;(3.5) 判斷是否已經(jīng)讀取過最后一個氣壓層,如果是執(zhí)行步驟(3.10),否則執(zhí)行步驟(3.6);(3.6) 計算當前格點數(shù)據(jù)標識位置;(3.7) 按照步驟(2.14)的方法取當前格點數(shù)據(jù);(3.8) 將當前的讀取結(jié)果寫入儲存空間;(3.9) 指向下一個氣壓層,執(zhí)行步驟(3.5);(3.10) 指向下一個溫度和高度數(shù)據(jù)塊,執(zhí)行步驟(3.3);(3.11) 數(shù)據(jù)對象生成結(jié)束。
全文摘要
公開了一種ATB格式氣象數(shù)據(jù)的解析方法包括以下步驟(1)讀取和解析ATB數(shù)據(jù)文件,生成浮點數(shù)矩陣;(2)按ATB數(shù)據(jù)格式對步驟(1)的浮點數(shù)矩陣進行拆分提取,得到給定經(jīng)緯度點所在的格點數(shù)據(jù);(3)根據(jù)步驟(2)的格點數(shù)據(jù),生成任意經(jīng)緯度點相關(guān)格點、固定氣壓層、特定時刻數(shù)據(jù)對象。本方法完成了對ATB二進制數(shù)據(jù)暗碼的解析工作,得到了可視的十進制高度和溫度浮點數(shù),并且生成了后續(xù)數(shù)據(jù)處理所需要的數(shù)據(jù)對象,為后續(xù)的相關(guān)處理提供了有效的數(shù)據(jù)源。
文檔編號G01W1/00GK101655567SQ20091008865
公開日2010年2月24日 申請日期2009年7月6日 優(yōu)先權(quán)日2009年7月6日
發(fā)明者珺 兆, 呂嘉川, 唐金翔, 軍 張, 朱衍波, 許有臣, 金開研 申請人:民航數(shù)據(jù)通信有限責任公司;北京航空航天大學