原 野,張耀文,李雄鳴,林 宏,胡國領
(1.32018 部隊,北京 100094;2.61741 部隊,北京 100094;3.31678 部隊,瀘州 646000;4.92830 部隊15 分隊,海口 571122)
結構化與非結構化數據是氣象數據的兩種重要類型。就存儲非結構化氣象數據而言,應該把存儲方法以及存儲空間兩個方面的問題解決好。根據日期命名文件是非結構化氣象數據的主要特征,利用腳本編程的批處理方式,我們根據日期自動將非結構化氣象數據文件夾建立起來,分類處理定時完成。
通過以上論述得知,非機構化與結構化是氣象數據分析的兩種重要分析形勢。如果數據的存儲采用的是非結構化方式,因此,存儲方法以及存儲空間就變成了兩個重要的存儲任務。在不斷發展了存儲技術后,對于存儲氣象數據的很多要求以及規定,存儲空間已經能夠給予滿足。并且,現階段氣象工作人員已經把非結構化存儲氣象數據作為的重點工作。因為非結構化氣象數據通常都是按照時間日期命名文件的,通過系統內部工具,再對編程語言進行簡單的批處理,就能夠根據日期將文件夾自動建立起來,并且,在指定的位置存儲需要的數據。
一種簡化的腳本語言即為批處理,與Unit 內的Shell 腳本類似,通過Windows 系統或者DOS 中嵌入的解釋運行或者命令解釋器,在Windoows 或者DOS 內是經常被應用的,我們可以用cmd 或者bat 來拓展命名批處理腳的文件,簡單而言,批處理腳本是集中執行了多個行的Dos 命令,其中,逐行書寫是此命令的主要特征,并且對外部程序進行調用,盡管實在命令執行環境內實現程序的運行,然而,命令行軟件并非唯一可用的,只要Windows 程序是32位的,都能夠與批處理文件結合應用。
所謂計劃任務屬于窗口系統中一個程序工具,它主要發揮程序定時執行的作用,通過“任務計劃”能夠在一些特定的時間安排程序、文檔以及腳本,然后讓其正常運行。
通常依據日期對非結構化氣象數據進行命名,我們從micaps數據入手展開分析,并且,其開頭都是以年月日的方式展開,例如,2019年7月1日的數據就可以這樣表示:190701001.000。通過此種命名文件的方法,對于文件日期的判斷就可以發揮批處理編程的作用,根據自行定義的相關條件,向指定的位置存儲一定的日期文件,并且利用窗口系統的計劃任務,執行定時完成,從而達到實時分類存儲氣象數據的目的。
我們舉例說明,從而了解分類存儲的方法。
在指定位置保存上一天的全部數據是代碼的主要功能。其基本方法是:第一,當下日期的獲取;第二,對某年某月某日天數距離進行換算;第三,把一天減去;第四,用日期將其換回;第五,按照日期把文件生成出來,數據拷貝,基本代碼為:
對規定天數前的日期進行計算—rem
@eco off
Enabledelayedexpansion setlocal
1=set DayAgo
假設用yyyy-mm-dd 設定成rem 的系統日期
%date:~0.4%=set yy
%date:~8.2%=set dd
%date:~5.2%=set mm
其中,距離是1970年1月1日的天數主要通過rem 進行轉換。
3.3.1 當前日期的獲取
通過@echo off 將DOS 界面回顯關閉,這樣在計算機界面就不會顯示程序的執行情況。
用延遲拓展在本地數據庫內設置出阿里,實際上即為延遲的變量。“延遲環境變量擴展”是它的全稱,其目的是為識別后續代碼中的變量,在替換結束了允許變量后,在對命令執行操作。
其中,目前的年月日賦值變量就可通過%date:~0.4%=set yy;%date:~8.2%=set dd;%date:~5.2%=set mm 表示。
3.3.2 天數換算
對于前一天的日期不能直接通過批處理腳本獲取,所以,為了得到這個日期,應該展開計算分析。我們可以按照改編的Ritchie Lawrence 算法用1970年1月1日的天數將當前的日期換算出來。
其中,100%mm%%%100=mm;100%dd%%%=set/a dd.首先把月與日日期變量中的首位字符0去掉,然后把日期換算為相應的天數。
其中,換算后的天數可以用CountDays 表示,其中,我們所應用的set/a 就是令set 可以帶動數學符號完成相應的數學計算。例如,加減等。
3.3.3 把需要的天數減去
%DayAgo%=set/a CountDays-把一天用計算好的天數減去,這樣對于當下日期距離1970年1月1日的天數就可以被得到。
運行快捷、簡單是批處理腳本的主要特征。算法兼容性好且靈活。在應用期間,不用對開發軟件進行安裝以及運行,很多工作量不大的任務都可以用它來實現和完成。文章通過上文一對前一天氣象數據腳本的拷貝為例,完成分類定時的備份。稍微修改其中的代碼,定時刪除可以隨時展開,此外,拷貝工作可以按月份展開。總的來講其具有很大的應用優勢,是目前采集和獲取氣象信息數據的有效方法。