羅錦華,劉 暢,劉 堯
(盤錦市氣象局,遼寧盤錦 124010)
現代農業的快速發展對農業氣象測報精度與業務人員服務質量提出了更高的要求,通過獲取不同基層觀測臺站的業務人員工作基數進行計算與統計分析,并將統計結果與業務軟件進行對接,能夠為業務質量考核與評價提供重要參考依據。
基于農業氣象業務類型與具體內容進行系統數據流框架的設計,包含以下4 個層級:1)數據源層,包含農業氣象觀測數據、地理信息系統(GIS)數據、遙感系統(RS)數據、觀測基數參數及基數報表電子模板等數據及文件;2)模型方法層,設有數據訪問接口、統計分析算法模型、基數統計報表組件等模塊;3)數據分析層,支持工作基數統計分析、專題圖/報表制作;4)目標用戶層,由各基層臺站業務人員、管理人員及省市級管理人員組成。
基于層間相互協作、層內自主處理原則進行系統邏輯架構的設計,主要劃分為以下4 個層級:1)基礎層,用于提供軟件設計與運行的平臺環境,包含.Net 框架開發包、Oracle/SQL Server/MySQL 數據庫、ArcGIS Engine組件及桌面控件等;2)數據層,用于完成數據存儲與分類管理,將不同類型農業氣象數據與工作基數分別存儲在主數據、臨時數據、運行管理及業務統計等不同存儲區;3)組件層,用于提供基礎功能性操作、供各系統進行功能模塊的調用,可依據農業氣象數據、專業算法、空間分析及數據訪問等不同基礎類庫實現系統功能;4)應用層,用于與用戶建立業務層面的直接交互,提供農業氣象測報數據、工作基數統計分析結果、業務人員考核結果查詢等應用服務。
1.2.1 插件框架技術
該技術主要利用插件進行信息配置,遵循相關規范添加程序集,用于描述、定義插件信息,輔助主程序實現對插件的動態加載[1]。針對插件結構組成進行細分,包括以下4 個部分:1)應用程序框架,負責提供插件調用接口,根據工作基數統計需要進行插件的調用,實現具體功能;2)資源庫,對所有插件應用程序進行集中管理,輔助插件業務邏輯的實現;3)公共函數庫,配置動態鏈接庫DLL,支持調用插件及應用程序框架;4)插件規范,基于標準規范進行插件接口、插件調用環節的約束條件設計。
該系統基于C#進行插件式框架的開發,利用該插件完成農業氣象災害數據統計、工作基數統計等子系統的開發,在主界面窗口完成各插件、菜單欄、狀態欄的加載與顯示,用戶可利用插件執行具體操作,并且基于統一接口規范進行協作與復用,保證系統使用與界面顯示效果的一致性。
1.2.2 數據庫技術
該系統采用關系型數據庫進行數據管理與分析,依照時間序列進行數據查詢與統計分析,采用多種存儲方式匯集不同主體實現數據共享,支持Oracle、SQL Server及MySQL 三種類型的數據庫,配合數據分區、冷熱備份等技術手段作為支撐。在數據庫設計上,本系統中主要包含以下2 種數據庫。
1)農業氣象觀測資料庫。該數據庫由農業氣象站點索引表.mbd、農作物生育情況.mbd、土壤水分狀況與類型.mbd、自然物候特征.mbd 及畜牧氣象.mbd 共5 種數據庫文件組成,在各數據庫內包含若干數據表,涵蓋農業氣象觀測信息[2]。在數據庫設計環節,需結合不同觀測數據庫類型與內容進行相應要素字段的定義,并保留通用字段,完成數據庫結構設計。以農作物生育情況觀測數據庫為例,“ID”通用字段的類型為長整型,精度為32 Bit,實行自動編號;“記錄表編碼”類型為文本,精度為13 字符,有索引,非空;“讀取狀態”類型為邏輯,精度為4 Bit,需編輯狀態;“修改次數”類型為長整型,精度為32 Bit;“首次修改時間”“最后修改時間”類型均為日期/時間,表現為yyyy-MM-dd hh:mm:ss 形式。
2)測報工作基數參數庫。該數據庫包含觀測工作基數、軟件基數等項目,用于存儲相關參數配置結果,為日常氣象測報業務管理工作提供數據支持。以觀測基數的數據表結構設計為例,“觀測類型”屬于文本,精度為20 字符,有索引,非空;“項目名稱”“數據表”均屬于文本,精度為100 字符,有索引,非空;“查重字段列表”“分析字段列表”均為文本,精度為255 字符,非空;“基數”屬于雙精度,精度為64 Bit。在工作基數統計分析上,基于SQL 查詢命令進行工作基數統計,面向不同類型數據庫進行參數配置,調用相應參數與表格進行分析控制,便于適應業務變革需要進行系統應用擴展[3]。以遼寧省2020 年冬小麥發育期的氣象觀測基數統計分析為例,將分析代碼設計為:
基于上述過程完成2020 年冬小麥發育期內觀測數據的統計,判斷數據輸入、存儲環節的有效次數,對照基礎分數合算結果進行觀測基數的計算與分析。
農業氣象觀測業務涉及農作物、土壤水分、自然物候及畜牧等項目內容,在軟件業務范圍逐漸拓展的背景下,還囊括農氣測報軟件的應用、月統計報表制作等業務內容,對軟件系統及功能模塊設計提出更高要求。在軟件系統界面設計上,主要劃分為以下5 個項目類型:1)農氣測報基礎數據,包含觀測基數、農氣報表基數、農氣觀測錯情、農氣月/年報表等統計項目;2)農氣軟件應用項目,由基數統計、錯情統計、報表制作3 個模塊組成;3)土壤水分自動測報項目,包含測報結果、質量考核情況等內容;4)三表合計報表項目,由月報表、年報表2 大類組成;5)系統管理模塊,包含用戶賬號信息、工作臺賬記錄與維護等。在系統開發環境設計上,采用Windows XP 操作系統、基于C#語言、選用Microsoft Visual Studio 2010 工具進行軟件開發,利用Access 組件支持數據庫管理,將觀測數據、工作基數統計結果以.xls報表格式導出。
在系統實際操作環節,進入系統后雙擊界面、打開觀測模塊的窗口,以農業氣象作物觀測模塊為例,程序自動讀取指定月份的農氣作物觀測信息,根據農氣臺站選定觀測員,錄入觀測員在相應子項上的觀測次數,由系統程序自動統計與計算,將基數標準與觀測次數相乘獲取到基數小計結果,并將統計結果保存[4]。同時,當切換觀測月份或觀測員時,系統將自動切換觀測基數統計結果,將各模塊基數匯總即可獲得工作基數合計結果,為質量考核提供參考依據。例如,在農氣觀測錯情模塊的統計分析上,可將其劃分為責任性、漏測、觀測等具體類型,在各類型中包含若干分項,將錯情標準與錯情次數相乘獲取到錯情小計結果。由觀測人員在系統界面相應位置輸入錯情數量,系統將自動運行相應程序算法進行錯情統計,并生成月度、年度報表,為質量考核提供資料。通過在界面工具欄中點擊檢索模塊,即可生成相應臺站中各觀測人員的年度質量報表,對照質量考核表進行質量基數梳理與統計,有效提升質量考核工作效率。
將該系統應用于遼寧省氣象局進行觀測人員工作基數與軟件操作基數的統計分析,獲取遼寧省水稻、玉米、大豆及高粱等農作物的生育狀況、土壤水分、自然物候及畜牧氣象等觀測記錄,利用軟件操作分別對上述工作基數進行統計分析,并與觀測人員手工測算的觀測基數進行比較分析[5]。該系統經由統計分析后自動生成遼寧省2020 年3 月軟件操作基數和全站年度農氣軟件操作基數,與觀測基數、觀測人員測算結果保持一致,說明該系統的統計分析結果具備較高的準確度,能夠為農氣業務觀測質量評估提供重要參考依據。
當前由國家氣象中心開發的農業氣象測報業務系統軟件已于全國各省市實現全面覆蓋,為農業氣象觀測業務的數字化轉型提供平臺支持。通過從現有業務系統中獲取相關觀測數據與業務執行信息,能夠有效提升數據核算環節的工作效率,實現對觀測業務工作量、觀測質量的精確反饋,為農氣業務質量考核提供輔助平臺支持。