摘要:湖北省農業面源污染負荷及評價系統的編碼語言為C#語言,在Visual Studio 2010環境下編譯,數據庫通信及操作采用ADO.NET技術,Excel文件操作采用NPOI技術。該系統將湖北省農業面源污染數據及種植模式數據集中到一個平臺進行數據管理,并從不同角度對農業面源污染數據進行展示、分析統計、評價。系統實現依據登錄用戶等級展示用戶權限范圍內的數據及分析評價結果。系統可以對不同農業污染源產生的污染負荷進行估算。系統的估算結果可以保存至文檔,展示的數據都可以導出在Excel文件,用戶可以通過導入Excel文件新增數據。
關鍵詞:農業面源污染負荷;評價;C#語言;湖北省
中圖分類號:X592;X84;TP311.5 文獻標識碼:A 文章編號:0439-8114(2016)24-6582-06
DOI:10.14088/j.cnki.issn0439-8114.2016.24.065
1 系統開發背景及意義
湖北省是農業大省,以不足全國2%的國土面積生產了全國8.4%的稻谷、6.3%的棉花、10.3%的油料、5.4%的豬肉和16.0%的淡水魚,并為全國5.2%的鄉村人口提供了生產和生活空間[1]。湖北省在生態氣候和農作物種植模式處于南北過渡帶,由平原水網區和山地丘陵區兩大類型區構成。平原水網區地勢平坦、土地肥沃、水熱豐富、湖泊眾多,歷來是中國重要的“魚米之鄉”,是中國最重要的水稻主產區,棉、油商品基地,也是中國主要的畜禽養殖區和最主要的淡水養殖區。但其農業產業高度集約化,是農業面源污染防控重點區域,山地丘陵區山高坡大、降雨豐富、水土流失嚴重,農業種植模式較多,特色經濟作物有優勢[2]。
湖北省是千湖之省,惠于水也患于水,省內有2個國家重大水利工程項目,即三峽工程和南水北調中線工程,是中國水環境最為敏感的區域。2014年湖北省共評價河長9 405.5 km,其中,綜合評價結果優于Ⅲ類水(含Ⅲ類水)的河長7 273.1 km,占77.3%。監測水庫和湖泊水域75個水質斷面,綜合評價結果優于Ⅲ類水的斷面49個,占65.3%。監測重點水功能區275個,218個達標,達標率79.3%。因此,湖北省面源污染防控任務仍然艱巨[3]。
自2007年全國開展第一次農業面源污染普查以來,初步獲得了湖北省農業面源污染源(種植業源、畜禽養殖源、農村生活源和水產養殖源)中污染物的產生量、排放量和不同污染源對農業面源污染的貢獻。近幾年來,隨著種植模式和生產方式的不斷轉變,污染普查數據需要逐年更新,因此,開發一個湖北省農業面源污染負荷及評價平臺,統一存儲、管理面源污染數據,實現對數據的分析和運用,得到面源污染的分析評價結果,對于構建湖北省資源節約型、環境友好型社會,建設生態和諧、幸福美麗鄉村,均具有重要現實意義。
該系統采用.NET、NPOI和數據庫技術,在專家研究成果和普查數據的基礎上對湖北省農業面源污染數據進行整理錄入、集中管理、統計分析,并且從不同角度對農業面源污染數據進行展示、分析和評價,便于更好地了解湖北省農業面源污染的趨勢和狀況,對防治農業面源污染提供決策支持,系統同時實現用戶管理和污染物負荷估算。
2 系統功能設計
2.1 系統功能概述
系統的功能模塊有農業面源污染現狀、種植模式、農業面源污染評價、農業面源污染估算、數據文件導入導出、用戶管理6個模塊,其中用戶管理功能模塊只有超級管理員可以使用。農業面源污染現狀、種植模式、農業面源污染評價3個模塊將依據當前登錄用戶的權限分別展示不同的內容;數據文件導入導出模塊根據當前登錄用戶的權限導出權限范圍內的數據,該系統面向省、地市級、縣市級3個層次的用戶。系統功能結構如圖1所示。
2.2 系統具體功能
2.2.1 農業面源污染現狀 該模塊分別從種植業源、農村生活源、畜禽養殖業源、水產養殖業源4個方面展示農業面源污染的相關數據。種植業源包括農田基本情況、化肥施用情況、地膜使用情況、農藥使用情況、秸稈處理情況;農村生活源包括生活污水產生排放情況、生活垃圾產生排放情況;畜禽養殖業源包括總污染物產排情況、畜禽存出欄量、豬污染物產排情況、奶牛污染物產排情況、肉牛污染物產排情況、蛋雞污染物產排情況、肉雞污染物產排情況;水產養殖業源包括各種養殖方式情況、污染物產排情況。
2.2.2 湖北省種植模式面積 該模塊主要展示湖北省南方山地丘陵區和南方濕潤平原區不同種植模式的面積,包括南方山地丘陵區種植情況、南方濕潤平原區種植情況。
2.2.3 農業面源污染評價 該模塊對農業面源污染現狀中的數據從基本情況、總氮產生量與排放量、總磷產生量與排放量、COD(化學需氧量)產生量與排放量、農業面源污染物排放強度、農業面源污染負荷6個不同的角度進行匯總、統計、分析,從6個方面對農業面源污染現狀進行評價。其中農業面源污染負荷比包括氮污染物等標負荷比、磷污染物等標負荷比、COD(化學需氧量)污染物負荷比等。
2.2.4 用戶管理 用戶管理模塊只有超級管理員有權限操作,主要功能為查看、增加、刪除用戶信息,增加用戶時實現對新增用戶權限的設置。
2.2.5 數據文件導入導出 數據文件導入導出模塊包括導入和導出兩個功能。導出數據文件,用戶可以選擇導出種植業數據、農村生活數據、畜禽養殖業數據、水產養殖業數據、種植模式數據5種數據文件,系統將根據用戶當前的權限范圍導出數據文件。導入數據文件,用戶可以選擇導入種植業數據、農村生活數據、畜禽養殖業數據、水產養殖業數據、種植模式數據5種數據文件。
2.2.6 農業面源污染估算 農業面源污染估算模塊包括種植業源、農村生活源、畜禽養殖業源、水產養殖業源、污染物總負荷5個子模塊,通過估算各個源的污染負荷,來指導該地區應該重點防控的污染源。在污染總負荷中,可以查看各個污染源在污染總負荷中的貢獻。
種植業源子模塊中,用戶選擇不同的模式并手動輸入氮用量和磷用量,系統根據地表徑流總氮流失系數和地表徑流總磷流失系數分別計算氮和磷的流失量;農村生活源子模塊中,用戶選擇不同的模式并手動輸入人口數量,系統根據對應的排污系數,計算總氮、總磷、氨氮、COD(化學需氧量)的產生量;畜禽養殖業源子模塊中,用戶選擇不同的模式并手動輸入養殖量,系統根據對應的排污系數,計算總氮、總磷、氨氮、銅、鋅、COD(化學需氧量)的產生量;水產養殖業源子模塊中,用戶選擇不同的模式并手動輸入水產品產量,系統根據對應的排污系數,計算總氮、總磷、銅、鋅、COD(化學需氧量)的產生量;污染物總負荷子模塊中,將種植業源、農村生活源、畜禽養殖業源、水產養殖業源4個源產生的氮、磷、銅、鋅、COD(化學需氧量)5種主要污染物負荷量進行求和,同時計算4個源對氮、磷、銅、鋅、COD(化學需氧量)5種主要污染物負荷的貢獻。
3 系統數據庫設計
系統數據庫的關系表有用戶表、市縣歸屬表、種植業數據表、農村生活源數據表、畜禽養殖業數據表、水產養殖業數據表、種植模式數據表。用戶表用來存儲系統用戶的信息;市縣歸屬表存儲市和縣分別所歸屬于的上一級哪個行政地區的信息;種植業數據表存儲種植業面源污染數據,包括農田基本情況數據、化肥施用情況數據、農藥使用情況數據、地膜使用情況數據、秸稈處理情況數據;農村生活源數據表存儲農村生活面源污染數據,包括生活垃圾產排數據、生活污水產排數據;畜禽養殖業數據表存儲畜禽養殖業面源污染數據,包括畜禽總污染物產排數據、畜禽年存出欄量數據、豬污染物產排數據、奶牛污染物產排數據、肉牛污染物產排數據、肉雞污染物產排數據、蛋雞污染物產排數據;水產養殖業數據表存儲水產養殖業面源污染數據,包括各種養殖方式數據、水產養殖總污染物產排數據;種植模式數據表存儲南方丘陵區種植情況數據和濕潤平原區種植情況數據。各個表的具體定義和內容說明如下表1所示。
4 系統實現
4.1 系統開發技術與及開發環境
系統使用C#語言進行整個系統的編碼實現,數據庫操作采用ADO.NET技術開發,Excel文件的導入導出采用NPOI技術開發[4-7]。系統開發環境為Visual Studio 2010+.NET Framework4.0+MySql+Microsoft Excel 2003及以上。
4.2 系統流程
系統流程如圖2所示。
4.3 系統各部分具體實現
4.3.1 系統登錄頁面實現 根據系統功能設計,登錄界面主要完成用戶的登陸驗證,驗證當前用戶是否為系統用戶及密碼是否正確。登錄界面采用Winfrom窗體,體現簡潔明了的界面風格,如圖3所示。使用的控件有TextBox、PictureBox、Lable、Button。用戶登錄成功后,獲取當前用戶的權限級別和權限地區,進入系統主頁面。
4.3.2 系統主頁面 用戶登錄成功后,系統主頁面獲取從登錄界面獲取當前用戶的權限級別和權限地區。系統將根據當前的用戶的權限級別和權限地區進行不同的處理。如果當前用戶權限級別為省級,則顯示用戶管理功能模塊,否則不顯示。
導航欄部分分別對應系統的農業面源污染現狀、種植模式、農業面源污染評價、農業面源污染估算、用戶管理5個功能模塊,通過ToolBar控件實現。中間部分左邊用來顯示各個功能模塊下的子模塊。中間部分右邊為各個功能模塊的展示區或操作區,通過控件Panel實現。最下面顯示當前用戶的權限地區和當前時間,用到的控件是StatusStrip。整個界面風格體現務實、易用,如圖4所示。
4.3.3 農業面源污染現狀 根據系統功能設計,農業面源污染現狀模塊主要用來展示農業面源污染的相關數據,采用DataGridView控件來顯示數據。頁面風格簡潔、明快,如圖5所示。點擊左側按鈕,可以查看農業面源污染中不同分類的數據。點擊年份下拉框,可以選擇查看不同年的數據,如果系統沒有該年數據,系統會跳出提示框,如圖6所示。當前顯示地區過多,需要查找某一具體地區數據時,可以在地區后的文本框中輸入待查詢地區的行政名,顯示該地區數據的行即可被選中,如圖7所示。
4.3.4 農業面源污染物估算模塊 根據系統功能設計該模塊主要實現污染物的估算。以Lable控件來標識不同的估算類型,以Combox下拉框控件來顯示每種類型下的參數種類,如圖8所示。用戶在TextBox文本框控件中手動輸入相應數值,點擊計算按鈕,即可得到污染物估算結果,如圖9所示。點擊“結果保存按鈕”,計算結果會保存在剪貼板中,粘貼在準備好的文檔即可。
點擊污染物總負荷按鈕,可查看污染物總產生量,如圖10所示。點擊“不同來源”按鈕,可以查看4個源對污染物貢獻,如圖11所示。
4.3.5 用戶管理模塊 用戶管理模塊界面設計如圖12所示。通過控件TabControl選項卡實現,在用戶列表選項頁中用DataGridView控件顯示系統所有用戶的信息,并可以選中來刪除用戶,選中“xingshan”用戶如圖13所示,點擊刪除按鈕,結果如圖14所示。添加用戶,選項頁如圖15所示,輸入用戶信息,當點擊“確定”按鈕,結果如圖16所示。添加用戶時,等級分為“省級”、“市級”、“縣級”三級,地區是用戶的權限地區,即用戶登錄系統后只能查看自己權限地區內的數據;當等級為省級時,地區只有湖北省;等級為市級時,在地區下拉框中選擇具體哪個市;等級為“縣級”時,在等級后會多出來一個下拉框,需要先選擇市,再從地區下拉框中選擇一個縣。
4.3.6 數據文件導入導出模塊設計 數據文件導入導出模塊界面如圖17所示。在數據文件下有數據導出和數據導入兩個子按鈕。數據導出中可以導出當前用戶權限地區的種植業數據、農村生活源數據、畜禽養殖業數據、水產養殖業數據、養殖模式數據,系統采用NPOI方式將數據導出到Excel為念中方便用戶查看;數據導入通過NPOI方式實現將數據從Excel文件中讀入到數據庫。
參考文獻:
[1] 湖北省三農問題研究會.湖北省農業綜合生產能力研究報告[N].湖北日報,2014-11-19(5).
[2] 李海燕,蔡銀鶯.湖北省生態環境可持續性動態分析[J].華中農業大學學報(社會科學版),2012(4):82-88.
[3] 劉雙圓,孫小舟,汪冰寒.湖北省水資源供需平衡及其承載力[J].中國農學通報,2014,30(29):192-196.
[4] 徐安東.Visual C#程序設計基礎[M].北京:清華大學出版社,2012.
[5] 吳滄舟,蘭逸正,張 輝.基于MySQL數據庫的優化[J].電子科技,2013,26(9):182-184.
[6] 孫仁鵬.ADO.NET在多層模式下應用的研究[J].計算機工程與設計,2010,31(16):3621-3624.
[7] 陳 峰.使用NPOI有效讀寫Office文件[J].金融科技時代,2011(6):69.