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