999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

土壤水分資料自動下載及查看軟件的研發

2018-03-10 20:40:24朱俊翰
現代農業研究 2017年12期

朱俊翰

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

【關鍵詞】土壤水分;自動下載;農氣;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 #

土壤水分是土壤的重要物理參數,是氣候、植被、地形及土壤因素的綜合反映,對于降雨產流、蒸散等過程具有重要影響,因此是氣象測報和農氣觀測中不可或缺的部分,對描述天氣變化、指導農業生產有著重要的作用。

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

1 研發新軟件的必要性

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

土壤水分資料在省局信息中心只保存3天,由于Z-FTP軟件沒有自動下載功能,所以如果連續3天或更長時間未進行資料下載,就會導致這期間的土壤水分資料永久缺失;

每次下載資料時都需要手動調整時間設置,并且當設置的時間間隔大于3天時,下載器會把之前下載的資料刪除且不能恢復,從而導致誤操作;

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

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

2 軟件研發

2.1 開發工具

本軟件研發使用的是C#語言。C#語言是微軟公司發布的一種面向對象的、運行于.NET Framework之上的高級程序設計語言,具有安全、穩定、簡單的特性[2]。

2.2 開發流程

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

2.2.3 下載函數 在設計各個模塊之前首先要編寫下載ftp文件用的函數,以下為下載函數的主要部分及其注釋。

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();

// 生成一個guid作為臨時文件名

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

//本地完全路徑

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

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

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

//調用ftp下載協議

ftp.UseBinary = true;

ftp.UsePassive = false;

3 軟件功能

3.1 手動下載功能

在自動土壤水分資料下載器中設計手動下載模塊,既能防止程序運行過程中意外退出,也能避免程序在自動下載過程中出現故障導致數據的遺漏,同時也為實現自動下載功能提供了基礎。

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

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已補下" + filename;

}

} }

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

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

3.2 自動下載功能

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

計時器內具體代碼和72小時手動下載按鈕及部署文件夾按鈕內容一致,此處不再贅述,只需將72小時的計數器條件改為<=24即可。圖1所示為軟件運行結果。

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

3.3資料讀取及查看功能

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

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

if(File.Exists(fileway)

{

str = File.ReadAllText(@fileway);endprint

FinalGrid.Rows[0].Cells[0].Value = "9時";

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 = "無";

}

}

}

在確認文件存在的情況下進行文件讀取,并先行填寫對應時次,之后忽略前56個字符的土壤含水量,從第57個字符開始每22個字符讀取長度為4的土壤水分數據,取9次并忽略無效數據(////)并對四位字符串轉化成浮點型后除以10以防止小數位遺漏。因此填寫的數據就為該時次9個層次不帶百分號的土壤水分值(即土壤相對濕度值)[9]。

圖2為輸出結果。

4 運行測試

在本軟件應用之前,2015年2月,我局某員工因在查找資料時選錯資料類型,致使某日資料全部抄錯,需要大量修改,導致抄寫本被涂污,2017年上半年我局多次發生因Z-FTP下載設定時間過長而導致資料大規模丟失的事件,最嚴重一次在5月底,除28,29,30日之外全月資料丟失,后經市局補下才將資料補齊。

自2017年7月5日使用該軟件自動下載土壤水分資料以來,青島市嶗山區氣象局再未出現過資料遺漏及因重復下載導致文件被誤刪的現象。8月13日,安裝自動土壤水分資料下載器的服務器因雷擊導致主板損毀,經修復后于8月14日17時重啟軟件,重新下載前72小時數據并開啟自動下載功能,后經校對所下載的數據完好,因為沒有超過3天,因此并未發生數據缺失現象。

5 小結

從目前運行情況可見,土壤水分資料自動下載及查看器軟件相對于原有的土壤水分下載器具有容錯率高、免人工操作、有效防止誤操作等優勢,測報人員反映工作量明顯降低、工作效率有較大提升。但3個月的時間對于檢測一個軟件功能尚顯不足,氣象業務中與土壤水分相關的工作也遠不止于此,因此該軟件的長期工作效率、運行穩定性還有待進一步驗證。今后通過逐步完善軟件功能,并經過專家評估測試后,可面向省內各站點推廣使用。

參考文獻:

[1] 白軍龍. 基于IP傳感器的網絡監控系統OPC研究. 2009. 北方工業大學碩士論文.

[2] 周華生. 復雜電磁環境信號自動監測和識別系統的開發. 2009 . 北京交通大學碩士論文.

[3] 郝建勛. 基于網絡的高頻虛擬實驗室的設計與開發. 2006. 大慶石油學院碩士論文.

[4] 鄔海杰. 基于雙C/S結構的計算機控制技術遠程網絡實驗系統的設計與實現 . 2003. 浙江大學碩士論文.

[5] 徐曉. 新一代天氣雷達值機系統設計與雷達資料應用研究. 2011. 北京郵電大學碩士論文.

[6] 潘小龍. IOS系統中不同多線程技術的研究和比較. 2014. 中國新通信.

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

[8] 張漢燁.Linux多線程編程實現機制的研究及應用.2015.互聯網論文庫.

[9] 付博友.基于C++的windows監控系統的設計與實現.2015.互聯網論文庫.endprint

主站蜘蛛池模板: 国产中文在线亚洲精品官网| 国内熟女少妇一线天| 日韩高清成人| 久草网视频在线| 国产亚洲高清视频| 国产香蕉97碰碰视频VA碰碰看| 亚洲中文精品久久久久久不卡| 欧美精品色视频| 99精品视频播放| 91精品国产91欠久久久久| 性视频一区| 91福利免费视频| 欧美h在线观看| 国产综合另类小说色区色噜噜| 国产精品一区在线麻豆| 亚洲综合18p| 伊人精品成人久久综合| 97超爽成人免费视频在线播放| 91人妻在线视频| 亚洲国产午夜精华无码福利| 国产亚洲欧美在线人成aaaa| 亚洲男人的天堂视频| 日本亚洲国产一区二区三区| AⅤ色综合久久天堂AV色综合| 国产菊爆视频在线观看| 91色老久久精品偷偷蜜臀| 亚洲精品动漫| 美臀人妻中出中文字幕在线| 亚洲精品无码在线播放网站| 亚洲天堂精品在线观看| 久久久久免费精品国产| 国产色婷婷视频在线观看| 国产精品香蕉在线观看不卡| 99这里只有精品免费视频| 久久精品国产电影| 国产一级在线播放| 国产素人在线| 亚洲色图欧美在线| 国产欧美日韩另类精彩视频| 国产一区三区二区中文在线| 国产欧美日韩资源在线观看 | 免费午夜无码18禁无码影院| 91破解版在线亚洲| 国产无码精品在线播放| 欧美三级日韩三级| 麻豆国产在线不卡一区二区| 老司机午夜精品网站在线观看 | 精品一区二区三区自慰喷水| 国产麻豆永久视频| 免费在线不卡视频| 黄色网站不卡无码| 五月天久久婷婷| 精品黑人一区二区三区| 亚洲人成在线精品| 精品国产亚洲人成在线| 丰满人妻久久中文字幕| 亚卅精品无码久久毛片乌克兰| 中文字幕人成乱码熟女免费| 久青草国产高清在线视频| 国产喷水视频| 亚洲第一区欧美国产综合 | 亚洲人成网站18禁动漫无码| 亚洲日本韩在线观看| 欧美午夜网| 夜夜操国产| 天堂网亚洲综合在线| 亚洲色婷婷一区二区| 首页亚洲国产丝袜长腿综合| 国产成人综合日韩精品无码首页| 成人在线第一页| 中国一级毛片免费观看| 日韩午夜福利在线观看| 免费人成又黄又爽的视频网站| 成人免费黄色小视频| 亚洲日韩精品综合在线一区二区| 性69交片免费看| 中文国产成人精品久久一| 成人午夜免费视频| 国产精品自在在线午夜区app| 欧美日韩亚洲国产主播第一区| 无码福利日韩神码福利片| 黄色国产在线|