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