国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

土壤水分資料自動(dòng)下載及查看軟件的研發(fā)

2018-03-10 20:40:24朱俊翰
現(xiàn)代農(nóng)業(yè)研究 2017年12期
關(guān)鍵詞:土壤水分

朱俊翰

【摘 要】土壤水分資料是氣象部門農(nóng)氣工作必需的資料,精確下載土壤水分資料對(duì)農(nóng)氣工作至關(guān)重要。目前所使用的土壤水分下載器存在許多的問(wèn)題,如資料遺漏、無(wú)查看功能、過(guò)度依靠手動(dòng)操作等,研發(fā)新的土壤水分自動(dòng)下載和查看軟件可以解決上述問(wèn)題。本文詳述了該土壤水分自動(dòng)下載及查看軟件的研發(fā)過(guò)程,展示了軟件功能,并分享C#編寫(xiě)技巧。運(yùn)行測(cè)試結(jié)果表明該軟件對(duì)農(nóng)氣觀測(cè)業(yè)務(wù)工作效率的提升有很大的幫助,值得推廣。

【關(guān)鍵詞】土壤水分;自動(dòng)下載;農(nóng)氣;C#

[Abstract] Soil moisture content is the necessary information for the meteorological department, and it is very important to accurately download the soil moisture data to the agricultural gas work. Currently used by the soil moisture downloader has many problems, such as data missing, without excessive view function, rely on manual operation, etc., research and development of new soil moisture automatically download and view software can solve the above problems. This paper describes the process of automatic downloading and viewing software of this soil, showing the software functions and sharing C# writing skills. The result of running test shows that the software is helpful to the improvement of the working efficiency of agricultural gas observation.

[Key words] Soil moisture; Automatic download; Farmers gas; C #

土壤水分是土壤的重要物理參數(shù),是氣候、植被、地形及土壤因素的綜合反映,對(duì)于降雨產(chǎn)流、蒸散等過(guò)程具有重要影響,因此是氣象測(cè)報(bào)和農(nóng)氣觀測(cè)中不可或缺的部分,對(duì)描述天氣變化、指導(dǎo)農(nóng)業(yè)生產(chǎn)有著重要的作用。

目前山東省各區(qū)縣局氣象站的土壤水分觀測(cè)資料均采用Z-FTP土壤水分資料下載器處理。在設(shè)定好用戶名、密碼、服務(wù)器地址的情況下,Z-FTP能夠手動(dòng)批量下載土壤水分觀測(cè)資料,免去了每次下載時(shí)都要人工圈選和輸入密碼的重復(fù)操作,簡(jiǎn)化了工作流程[1]。但是也存在著一些問(wèn)題。因此本研究從分析Z-FTP軟件的問(wèn)題入手,有針對(duì)性地研發(fā)土壤水分觀測(cè)資料的自動(dòng)下載及查看軟件,進(jìn)一步提高數(shù)據(jù)獲取的效率和準(zhǔn)確度。

1 研發(fā)新軟件的必要性

Z-FTP土壤水分資料下載器的使用為一線工作人員提供了便利,但是也存在一些問(wèn)題:

土壤水分資料在省局信息中心只保存3天,由于Z-FTP軟件沒(méi)有自動(dòng)下載功能,所以如果連續(xù)3天或更長(zhǎng)時(shí)間未進(jìn)行資料下載,就會(huì)導(dǎo)致這期間的土壤水分資料永久缺失;

每次下載資料時(shí)都需要手動(dòng)調(diào)整時(shí)間設(shè)置,并且當(dāng)設(shè)置的時(shí)間間隔大于3天時(shí),下載器會(huì)把之前下載的資料刪除且不能恢復(fù),從而導(dǎo)致誤操作;

下載的資料輸出時(shí),需要預(yù)先在指定路徑依照年月建立文件夾,且不能隨意改變輸出目錄。

綜上可以看出,Z-FTP土壤水分資料下載器在實(shí)際的使用過(guò)程中并不十分便捷,因此研發(fā)一款能夠自動(dòng)下載和存儲(chǔ),減少誤操作的土壤水分資料下載軟件是十分必要的。

2 軟件研發(fā)

2.1 開(kāi)發(fā)工具

本軟件研發(fā)使用的是C#語(yǔ)言。C#語(yǔ)言是微軟公司發(fā)布的一種面向?qū)ο蟮?、運(yùn)行于.NET Framework之上的高級(jí)程序設(shè)計(jì)語(yǔ)言,具有安全、穩(wěn)定、簡(jiǎn)單的特性[2]。

2.2 開(kāi)發(fā)流程

2.2.1 界面設(shè)計(jì) 考慮到業(yè)務(wù)人員的使用習(xí)慣,新開(kāi)發(fā)的軟件依據(jù)原Z-FTP的設(shè)計(jì)模式,搭建土壤水分資料自動(dòng)下載器界面,界面包括輸入用戶名、密碼的登錄模塊、服務(wù)器地址輸入模塊、參數(shù)設(shè)置模塊及結(jié)果顯示模塊,并為各個(gè)模塊設(shè)計(jì)相應(yīng)輸入框[3]。 新開(kāi)發(fā)的軟件根據(jù)功能需求設(shè)計(jì)5個(gè)按鈕,用于修改路徑,路徑部署,保存設(shè)置,自動(dòng)下載和手動(dòng)下載。

2.2.3 下載函數(shù) 在設(shè)計(jì)各個(gè)模塊之前首先要編寫(xiě)下載ftp文件用的函數(shù),以下為下載函數(shù)的主要部分及其注釋。

public static void DownloadFile(string localDir, string FtpDir, string FtpFile, string hostname, string username, string password)

//用本地路徑,ftp文件夾路徑,ftp文件名,ftp地址,用戶名和密碼下載ftp文件

{

string URI = "ftp://" + hostname + "/" + FtpDir + "/" + FtpFile; string tmpname = Guid.NewGuid().ToString();

// 生成一個(gè)guid作為臨時(shí)文件名

string localfile = localDir + @"\" + tmpname;endprint

//本地完全路徑

System.Net.FtpWebRequest ftp = GetRequest(URI, username, password);

//以用戶名和密碼連接ftp

ftp.Method = System.Net.WebRequestMethods.Ftp.DownloadFile;

//調(diào)用ftp下載協(xié)議

ftp.UseBinary = true;

ftp.UsePassive = false;

3 軟件功能

3.1 手動(dòng)下載功能

在自動(dòng)土壤水分資料下載器中設(shè)計(jì)手動(dòng)下載模塊,既能防止程序運(yùn)行過(guò)程中意外退出,也能避免程序在自動(dòng)下載過(guò)程中出現(xiàn)故障導(dǎo)致數(shù)據(jù)的遺漏,同時(shí)也為實(shí)現(xiàn)自動(dòng)下載功能提供了基礎(chǔ)。

土壤水分資料在服務(wù)器上保存時(shí)效一般為72小時(shí),因此手動(dòng)下載模塊的時(shí)間范圍也是從當(dāng)前時(shí)次開(kāi)始向前推72小時(shí),以保證下載資料的完整性。以下為下載代碼:

private void button5_Click(object sender, EventArgs e)

{int i; string datemoon, datehour, filename;

string basename1 = "Z_AGME_I_" + zhanHao.Text + "_";string basename2 = "0000_O_ASM-FTM.txt";

test.Text = "";

for (i = 0; i <= 72; i++) { try

{

datemoon = System.DateTime.Now.AddHours(-80 + i).ToString("yyyyMM");

datehour = System.DateTime.Now.AddHours(-80 + i).ToString("yyyyMMddHH");

filename = basename1 + datehour + basename2;

fileway=output.Text + "\\" + datemoon + "\\" + filename;

if (!File.Exists(fileway))

{

DownloadFile(output.Text + "\\" + datemoon, input.Text, filename, ip.Text, user.Text, pass.Text);

test.Text += "\n\r已補(bǔ)下" + filename;

}

} }

以上變量中,i為72小時(shí)的計(jì)數(shù)器,datemoon為年月形式的文件夾名稱,datehour為Z文件名中表示年月日時(shí)的部分,basename1和basename2分別為Z文件文件名的日期部分前后的字段,以此組成一個(gè)完整的文件名。每次下載將提示框(test)中的內(nèi)容清除,以防提示框內(nèi)容過(guò)長(zhǎng)。

之后生成文件名用DownloadFile函數(shù)下載,并將補(bǔ)下的文件名輸出至提示框[4]。

3.2 自動(dòng)下載功能

自動(dòng)下載模塊由兩部分組成。一為自動(dòng)下載按鈕,點(diǎn)擊該按鈕后開(kāi)始自動(dòng)下載,并顯示提示文字,方便使用者判斷自動(dòng)下載是否開(kāi)始,再次點(diǎn)擊即可關(guān)閉自動(dòng)下載功能;二為downloadTimer定時(shí)器(Time類),當(dāng)其開(kāi)啟時(shí),每十分鐘(Interval=600000,單位毫秒)下載一次24小時(shí)數(shù)據(jù),在每次生成文件名后,先判斷所要下載的文件距今是否超過(guò)5小時(shí),如果超過(guò)則用File.Exists判斷是否存在,如不存在則重新下載,之后對(duì)5小時(shí)內(nèi)的資料進(jìn)行重復(fù)下載防止出錯(cuò)。經(jīng)由此方法則每10分鐘一次的下載時(shí)間縮減至8秒左右,且漏下錯(cuò)下概率極低。另外定時(shí)器中寫(xiě)入了在每年最后一天的24時(shí)自動(dòng)生成下一年所用文件夾的函數(shù),減少了人工操作。

計(jì)時(shí)器內(nèi)具體代碼和72小時(shí)手動(dòng)下載按鈕及部署文件夾按鈕內(nèi)容一致,此處不再贅述,只需將72小時(shí)的計(jì)數(shù)器條件改為<=24即可。圖1所示為軟件運(yùn)行結(jié)果。

另外,軟件提示文字可改為顯示下載失敗的文件名,如全部下載成功則顯示“某日某時(shí)數(shù)據(jù)下載正常”,如此可以提高閱讀效率,并使界面更為美觀。

3.3資料讀取及查看功能

按照氣象業(yè)務(wù)規(guī)范,測(cè)報(bào)人員每天都要填寫(xiě)指定時(shí)次的土壤水分資料,一般為9時(shí)、17時(shí)、20時(shí)三個(gè)時(shí)次。然而目前獲取土壤水分可視資料的方式有且只有瀏覽網(wǎng)站一種。該網(wǎng)站運(yùn)行流程較為繁瑣,首先,每次登陸該系統(tǒng)必須輸入用戶名、密碼,選擇臺(tái)站、資料類型和起止日期,屬于重復(fù)操作;其次,該系統(tǒng)資料的默認(rèn)顯示順序和我們習(xí)慣的填寫(xiě)順序相反,容易造成資料種類、資料時(shí)次填寫(xiě)錯(cuò)誤等問(wèn)題。因此為了減少工作的重復(fù)性,以及降低出錯(cuò)幾率,新軟件的研發(fā)增加了自動(dòng)查看功能[5]。

按照之前的研發(fā)流程,用DataGridview組件制作有文件讀取及自動(dòng)查看功能的模塊[6]。首先確認(rèn)一下所需數(shù)據(jù)的種類,一共有平時(shí)所用的9、17、20三小時(shí)數(shù)據(jù)和特殊日期所用的14時(shí)平均數(shù)據(jù)這兩種,如果涉及到校對(duì),則涉及到當(dāng)天和前一天兩天時(shí)間范疇,因此一共需要設(shè)計(jì)4個(gè)按鈕[7]。分析土壤水分文件的結(jié)構(gòu),對(duì)照之前的系統(tǒng),所需要的土壤水分資料的位置就能夠確定。最后利用按鈕將讀出的數(shù)據(jù)顯示在DataGridView當(dāng)中即可[8]。以下為顯示功能部分代碼:

if(File.Exists(fileway)

{

str = File.ReadAllText(@fileway);endprint

FinalGrid.Rows[0].Cells[0].Value = "9時(shí)";

for (i = 0; i <= 9; i++)

{

k = 56 + 22 * i;

if (str.Substring(k, 4) != "http:////")

{

ceng = float.Parse(str.Substring(k, 4)) / 10;

FinalGrid.Rows[0].Cells[i + 1].Value = ceng;

}

else

{

FinalGrid.Rows[0].Cells[i + 1].Value = "無(wú)";

}

}

}

在確認(rèn)文件存在的情況下進(jìn)行文件讀取,并先行填寫(xiě)對(duì)應(yīng)時(shí)次,之后忽略前56個(gè)字符的土壤含水量,從第57個(gè)字符開(kāi)始每22個(gè)字符讀取長(zhǎng)度為4的土壤水分?jǐn)?shù)據(jù),取9次并忽略無(wú)效數(shù)據(jù)(////)并對(duì)四位字符串轉(zhuǎn)化成浮點(diǎn)型后除以10以防止小數(shù)位遺漏。因此填寫(xiě)的數(shù)據(jù)就為該時(shí)次9個(gè)層次不帶百分號(hào)的土壤水分值(即土壤相對(duì)濕度值)[9]。

圖2為輸出結(jié)果。

4 運(yùn)行測(cè)試

在本軟件應(yīng)用之前,2015年2月,我局某員工因在查找資料時(shí)選錯(cuò)資料類型,致使某日資料全部抄錯(cuò),需要大量修改,導(dǎo)致抄寫(xiě)本被涂污,2017年上半年我局多次發(fā)生因Z-FTP下載設(shè)定時(shí)間過(guò)長(zhǎng)而導(dǎo)致資料大規(guī)模丟失的事件,最嚴(yán)重一次在5月底,除28,29,30日之外全月資料丟失,后經(jīng)市局補(bǔ)下才將資料補(bǔ)齊。

自2017年7月5日使用該軟件自動(dòng)下載土壤水分資料以來(lái),青島市嶗山區(qū)氣象局再未出現(xiàn)過(guò)資料遺漏及因重復(fù)下載導(dǎo)致文件被誤刪的現(xiàn)象。8月13日,安裝自動(dòng)土壤水分資料下載器的服務(wù)器因雷擊導(dǎo)致主板損毀,經(jīng)修復(fù)后于8月14日17時(shí)重啟軟件,重新下載前72小時(shí)數(shù)據(jù)并開(kāi)啟自動(dòng)下載功能,后經(jīng)校對(duì)所下載的數(shù)據(jù)完好,因?yàn)闆](méi)有超過(guò)3天,因此并未發(fā)生數(shù)據(jù)缺失現(xiàn)象。

5 小結(jié)

從目前運(yùn)行情況可見(jiàn),土壤水分資料自動(dòng)下載及查看器軟件相對(duì)于原有的土壤水分下載器具有容錯(cuò)率高、免人工操作、有效防止誤操作等優(yōu)勢(shì),測(cè)報(bào)人員反映工作量明顯降低、工作效率有較大提升。但3個(gè)月的時(shí)間對(duì)于檢測(cè)一個(gè)軟件功能尚顯不足,氣象業(yè)務(wù)中與土壤水分相關(guān)的工作也遠(yuǎn)不止于此,因此該軟件的長(zhǎng)期工作效率、運(yùn)行穩(wěn)定性還有待進(jìn)一步驗(yàn)證。今后通過(guò)逐步完善軟件功能,并經(jīng)過(guò)專家評(píng)估測(cè)試后,可面向省內(nèi)各站點(diǎn)推廣使用。

參考文獻(xiàn):

[1] 白軍龍. 基于IP傳感器的網(wǎng)絡(luò)監(jiān)控系統(tǒng)OPC研究. 2009. 北方工業(yè)大學(xué)碩士論文.

[2] 周華生. 復(fù)雜電磁環(huán)境信號(hào)自動(dòng)監(jiān)測(cè)和識(shí)別系統(tǒng)的開(kāi)發(fā). 2009 . 北京交通大學(xué)碩士論文.

[3] 郝建勛. 基于網(wǎng)絡(luò)的高頻虛擬實(shí)驗(yàn)室的設(shè)計(jì)與開(kāi)發(fā). 2006. 大慶石油學(xué)院碩士論文.

[4] 鄔海杰. 基于雙C/S結(jié)構(gòu)的計(jì)算機(jī)控制技術(shù)遠(yuǎn)程網(wǎng)絡(luò)實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) . 2003. 浙江大學(xué)碩士論文.

[5] 徐曉. 新一代天氣雷達(dá)值機(jī)系統(tǒng)設(shè)計(jì)與雷達(dá)資料應(yīng)用研究. 2011. 北京郵電大學(xué)碩士論文.

[6] 潘小龍. IOS系統(tǒng)中不同多線程技術(shù)的研究和比較. 2014. 中國(guó)新通信.

[7] 鄭若倫.一種基于窗體多線程技術(shù)提高頁(yè)面訪問(wèn)效率的方法. 2013. 電子制作.

[8] 張漢燁.Linux多線程編程實(shí)現(xiàn)機(jī)制的研究及應(yīng)用.2015.互聯(lián)網(wǎng)論文庫(kù).

[9] 付博友.基于C++的windows監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).2015.互聯(lián)網(wǎng)論文庫(kù).endprint

猜你喜歡
土壤水分
磷素添加對(duì)土壤水分一維垂直入滲特性的影響
基于表觀熱慣量與溫度植被指數(shù)的FY-3B土壤水分降尺度研究
風(fēng)云衛(wèi)星微波遙感土壤水分產(chǎn)品適用性驗(yàn)證分析
吉林玉米生長(zhǎng)期土壤水分規(guī)律分析
遼東山區(qū)3種人工林土壤呼吸對(duì)土壤溫度和土壤水分的響應(yīng)
西藏高原土壤水分遙感監(jiān)測(cè)方法研究
接壩地區(qū)5 種林分類型土壤水分— 物理性質(zhì)研究
民勤綠洲農(nóng)田休閑期土壤水分調(diào)控技術(shù)
不同覆蓋措施對(duì)棗園土壤水分和溫度的影響
植被覆蓋區(qū)土壤水分反演研究——以北京市為例
沐川县| 营口市| 洛阳市| 明光市| 遵化市| 郸城县| 浦东新区| 绿春县| 馆陶县| 绍兴市| 普定县| 西青区| 孝昌县| 永登县| 乌鲁木齐县| 通渭县| 武安市| 青龙| 巴林右旗| 敦化市| 梓潼县| 东兴市| 兖州市| 定陶县| 晋江市| 定州市| 牟定县| 烟台市| 阿合奇县| 九龙城区| 栖霞市| 辽宁省| 巴南区| 黑龙江省| 汶川县| 酒泉市| 二连浩特市| 贵港市| 德昌县| 重庆市| 淅川县|