本站小編為你精心準備了信息空間查詢的農業經濟論文參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
1系統設計
1.1系統框架
按照軟件工程的設計思想,本系統包括以下三個層次:表現層(UI)、業務邏輯層(BLL)和數據訪問層(DAL),這樣設計有利于系統的開發、維護、部署和擴展。表現層面向用戶,為其提供人機交互界面,同時顯示數據以及接收用戶輸入數據[10]。業務邏輯層位于表示層和數據訪問層的中間,是整個體系的核心,主要完成業務規則的制定、業務流程的實現以及業務需求的設計,在數據交換中起一個承上啟下的作用。數據訪問層直接操作數據庫,完成數據的增加、刪除、查找和修改。本系統的數據庫采用SQLServer2008R2(圖1)。系統功能分為地圖基本操作、數據查詢、統計排名分析、專題圖定制以及發展預測分析等模塊。地圖基本操作實現了地圖導入、圖層顯示、地圖瀏覽等;數據查詢模塊完成數據查詢和統計分析;統計排名分析提供選擇年份內的農業指標排名查詢以及地圖和農業指標數據的聯動;專題圖定制模塊自動生成用戶設置條件下的農業指標分段專題圖;發展預測分析模塊通過調用MATLAB函數,采用灰色系統方法預測未來農業發展情況。
1.2數據庫設計
數據是河北省縣域農業經濟信息空間查詢與輔助決策系統的基礎,完整有效的數據庫設計是后續系統分析的前提條件,本系統數據庫包括農業經濟信息數據庫和地理空間數據庫。
1.2.1農業經濟信息數據庫農業經濟信息數據庫的基本對象是河北省縣域名稱和農業指標數據,數據來源于中國農業部農村經濟基礎資料數據庫。原始數據采取二維表形式按地區分年份存儲,數據結構為年份、行政代碼、地區、農業指標1、農業指標2、……、農業指標22,這種存儲方式存在很大數據冗余,需要重新設計表格結構,最終通過SQLServer2008存儲和管理。(1)核對縣域名稱及行政代碼。依據國家統計局公布的縣級行政區劃代碼,參考河北省縣域行政區劃圖中地區名稱和行政代碼,逐個核對農業經濟信息二維表中相關數據,保證二者完全匹配。(2)添加農業指標編碼。系統中縣域農業經濟指標共22項,為區分各項指標,方便后續查詢和分析,特采用4層共12位編碼(如圖2所示)。前兩位表示縣域,用“XQ”;接著5位表示指標類別,例如糧食面積指標編碼中第二到七位用“LS006”表示,其中前兩位“LS”代表糧食,后面三位是該類的序號;最后5位是指標字母簡寫,位數太短用“0”補充,例如糧食面積后5位用“LSMJ0”。(3)整理數據表結構。為避免大量數據冗余,將原始二維表劃分成三個表格:河北縣域信息表(行政代碼、名稱、地區類型、地區簡介)、農業指標信息表(指標編碼、名稱、年份、指標類型、指標單位)和數值表(ID、年份、行政代碼、指標編碼)。前兩個表格容易實現,最后一個數據表中主鍵ID=年份+行政代碼+指標編碼,為提高入庫效率,借助C#語言編寫了一個數據處理工具,很方便地得到該結構表格。(4)數據入庫。通過SQLServer導入導出向導,將三個excel表格導入數據庫。最終數據庫中存儲了河北省145個縣域從1996~2011年22項農業指標,例如糧食產量、耕地面積、水產品總產量、總人口等。
1.2.2地理空間數據庫地理空間數據庫存儲的是1:400萬的河北省縣域行政區劃圖,坐標系采用Krasovsky_1940,以矢量格式存儲在擴展名為udb的一種文件型數據庫。縣域行政區劃圖記錄147個縣域邊界,屬性數據表格字段包括編號(FID)、形狀(面)、記錄者編號(UserID)、縣域名稱(NAME)、所屬省份(PROV)和行政代碼(CNYT_CODE)。
2系統關鍵技術和方法
2.1組件式GIS技術組件GIS又稱ComGIS,是指采用組件式軟件和面向對象技術的GIS系統。組件GIS的設計思路是將GIS的各大功能模塊劃分為幾個不同的組件,每個組件實現特定的功能,GIS組件之間以及和其他非GIS組件之間通過一些可視化軟件開發工具集成在一起,從而整合成一個GIS基礎平臺[11],具有上手快、開發便捷、功能強大的特點。本次系統開發主要利用Su-perMap平臺中的Workspace和MapControl組件。
2.2布局控件AdvantageInfragistics公司一直專注于為全世界客戶提供適用于各種平臺環境下的、高質量的表現層應用軟件及控件[12]。其開發的NetAdvantage擁有完整的表示層組件集,Windows應用程序、XMLwebservices和web解決方案等的界面均可以通過該組件集來構建。另外,NetAdvantage控件采用了認可度很高的應用程序(MicrosoftOffice、Windows和Outlook)中的技巧和用法,讓使用者很容易設計出美觀實用的用戶界面。本系統使用Ne-控件,便于設計出靈活、美觀的人機交互界面。
2.3MATLAB與C#混合編程技術MATLAB具有較強的數值分析與運算能力,在工程計算等領域中應用十分廣泛,然而其不能脫離MATLAB工作環境,并且在人機交互界面方面存在很大不足[13]。微軟的.NET環境能彌補這一缺點,將其引入到C#編寫的系統中會大幅度減少代碼量,并且提高計算精度和效率[14],二者結合具有重要意義。MATLAB軟件中有一個組件編譯工具———COMBuilder,能夠方便地制作出可供.NET調用的組件,操作流程如圖4所示[15]。
2.4灰色系統模型灰色預測是一種對含有不確定因素的系統進行預測的方法,其通過鑒別系統因素之間發展趨勢的相異程度,即進行關聯分析,并對原始數據進行分析處理來尋找系統變動的規律,生成有較強規律性的數據序列,然后建立相應的微分方程模型,從而預測事物未來發展趨勢的狀況
3系統實現
3.1地圖基本操作該模塊借助SuperMapObject6R中的MapControl和Workspace組件實現了地圖的導入、放大、縮小、移動、全幅顯示、撤銷、刷新、選擇等操作;同時通過文本框填寫查詢條件實現河北省縣域空間信息查詢,分析結果可導出成jpg格式。
3.2數據查詢此模塊實現農業經濟信息查詢功能,可支持用戶通過時間(1996~2012年)、空間(河北省各縣域)和農業指標等三種方式綜合查詢河北省各縣域農業經濟數據。查詢結果顯示在數據表格中,同時動態選中數據范圍可實現統計分析,分析項有總和、平均值、最大值、最小值、單值個數、方差、標準差等。結果如圖5所示。
3.3統計排名該模塊通過樹狀列表的方式提供河北省各地區名稱、農業指標和年份等信息,用戶勾選條件,設置排名參數,即可得到分析結果。例如決策者想了解河北省2011年小麥產量最大的10個縣,可在樹狀列表中勾選河北省根目錄、小麥產量和2011,排名設置中選擇“<”和“11”,點擊分析按鈕獲得分析結果。查詢到的地區在地圖中高亮度顯示,展示其空間位置分布。
3.4專題圖定制本系統中專題圖定制模塊以河北省縣域行政區劃圖各地區為分析對象,根據用戶選擇的指標對象和年份動態查詢出各地區特定條件下的農業經濟信息,并自動生成專題圖,該專題圖清晰地展現農業經濟數據的空間分布特征,為政府管理部門決策提供科學依據。生成的專題圖屬于分段專題圖,分段數量根據對象數目確定,范圍為3~6。專題圖自動按數值大小設置顏色深淺,白色表示無數據地區,圖例說明每種顏色代表的含義,用戶從視覺上可以快速判別出整個河北省各地區發展狀況。另一方面,每一個地區詳細的農業經濟信息自動顯示在數據表格中,方便用戶查閱。
3.5發展預測分析該模塊采用灰色系統預測方法。通過用戶選擇的農業經濟指標,從數據庫中自動提取分析對象歷年數據,經用戶手動設置檢驗年份后(例如近3年),系統動態分析出預測結果,包括年份、實際值、擬合值、相對誤差和預測值。使用的關鍵技術是MATLAB和.NET互操作技術。(1)編寫并調試MATLAB函數,確保其正確使用;(2)通過MATLAB的deploytool工具編譯上述m文件,生成動態鏈接庫(dll);(3)VS中調用MATLAB相關dll。除(2)中動態鏈接庫外,還包括數據轉換文件(MWArray.dll);(4)C#語言編碼,實現預測功能。發展趨勢分析是依據糧食產量歷年數據信息,借助GM(1,1)預測方法動態建模,系統自動顯示出預測精度和未來若干年預測結果,分析結果可導出成EXCEL格式。該模塊僅作為分析工具使用,用戶可以查看預測誤差,并不能保證預測任何對象都能達到精度要求。以大名縣小麥產量為例,利用灰色系統方法分析1996~2010年數據,其中最近三年做檢驗,預測未來五年發展情況。從圖7中不難看出,相對誤差最大為3.36%,低于5%,滿足精度要求。
4結束語
設計與建設河北省縣域農業經濟信息空間查詢與輔助決策系統是為提高農業經濟信息服務水平,為農業生產部門提供一個可擴展的輔助決策平臺,現僅在河北嘗試,后期向全國其他地區移植。系統利用GIS分析和處理空間數據的特點,彌補了傳統農業經濟信息管理過程中缺乏空間信息的不足,實現了從時間、空間和農業指標等三維角度查詢農業經濟信息、動態可視化出圖以及分析農業發展趨勢。本研究雖然取得了一定的成果,但在應用過程中也存在一些不足,例如:系統暫時只局限于單機版,空間分析功能不夠強大。隨著信息技術的不斷發展以及研究的日益深入,這些問題必會逐步解決。
作者:張杰劉丹諸葉平岳慧麗單位:中國農業科學院農業信息研究所農業部農業信息服務技術重點實驗室