亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        水文原始資料計(jì)算程序開發(fā)與應(yīng)用

        2015-10-25 09:56:14魏勝利
        黑龍江水利科技 2015年1期
        關(guān)鍵詞:數(shù)據(jù)文件窗體水文

        魏勝利

        (河北省張家口水文水資源勘測(cè)局,河北 張家口075000)

        0 前 言

        水文是關(guān)系到國(guó)計(jì)民生的基礎(chǔ)性科學(xué),它為防汛抗旱、工程規(guī)劃設(shè)計(jì)、水資源開發(fā)利用與保護(hù)等提供了大量翔實(shí)可靠的信息,發(fā)揮了極具不可或缺的作用。

        近年來,水文科學(xué)的研究取得了長(zhǎng)足的進(jìn)步。遙感技術(shù)的應(yīng)用,使同時(shí)觀測(cè)大范圍內(nèi)的宏觀水文現(xiàn)象成為可能,水文模擬方法、水文隨機(jī)分析方法、水文系統(tǒng)分析方法,使人們研究水文現(xiàn)象的能力發(fā)展到新的水平。

        尤其是電子計(jì)算機(jī)的應(yīng)用,使水文科學(xué)從水文觀測(cè)到基本規(guī)律的研究,由人力和機(jī)械操作,發(fā)展到以電子計(jì)算機(jī)為核心的自動(dòng)化[1]。

        但長(zhǎng)期以來,我國(guó)絕大部分地區(qū)水文原始資料的計(jì)算仍采用手工方式,不僅費(fèi)時(shí)費(fèi)力而且容易出錯(cuò),與水文現(xiàn)代化、信息化的要求極不適應(yīng)。因此,開發(fā)水文原始資料計(jì)算程序是非常必要的且必須的。

        1 目 標(biāo)

        1.1 普遍性

        我國(guó)幅員廣闊,河流眾多,不同的流域、不同的省市所觀測(cè)項(xiàng)目不盡相同,河道特性也不相同。因此,程序一定要具有最大限度的普適性。

        1.2 復(fù)雜性

        水文原始資料計(jì)算,有的復(fù)雜,有的則非常簡(jiǎn)單。對(duì)于簡(jiǎn)單的計(jì)算,則沒有編程的必要。

        1.3 規(guī)范性

        計(jì)算表格的式樣,數(shù)據(jù)的輸入、輸出,計(jì)算的過程,計(jì)算的結(jié)果,要符合水文測(cè)驗(yàn)與整編規(guī)范。

        1.4 易操作性

        程序界面要簡(jiǎn)潔,操作要簡(jiǎn)單。數(shù)據(jù)編輯要容易靈活。

        1.5 實(shí)用性

        程序要能夠應(yīng)用,要解決水文工作存在中的實(shí)際問題。計(jì)算結(jié)果要能夠打印,作為正式成果,用以審核和存檔。

        2 開發(fā)工具

        水文原始資料計(jì)算需要完成表格繪制、數(shù)據(jù)輸入、數(shù)據(jù)編輯、計(jì)算、計(jì)算結(jié)果輸出、文件保存、打印等操作[2]。

        用任何一種編程語言比如C + +、delphi、VB 等實(shí)現(xiàn)計(jì)算、保存、打印這些功能都不是難事,但要繪制復(fù)雜的表格,那種語言都不是太得心應(yīng)手,編輯數(shù)據(jù)也不是太方便。

        經(jīng)過一段時(shí)間的研究與摸索,發(fā)現(xiàn)把VB 和excel 結(jié)合起來,可以很好的解決這一問題。用excel實(shí)現(xiàn)繪制表格、編輯數(shù)據(jù)、文件保存與打印,用VB6.0 調(diào)用excel 對(duì)象實(shí)現(xiàn)計(jì)算、控制功能,這樣,既減少了編程的工作量,又解決了表格繪制、數(shù)據(jù)編輯等難題。

        程序的開發(fā)工具為VISUAL BASIC 6.0 + MICROSOFT EXCEL 2003。

        3 開發(fā)過程

        開發(fā)過程主要有2個(gè)部分:

        3.1 程序開發(fā)流程

        本程序采用分布式模塊化設(shè)計(jì),程序的每個(gè)功能諸如流量計(jì)算、水位計(jì)算、斷面計(jì)算等對(duì)應(yīng)一個(gè)模塊。模塊化的好處是,各個(gè)模塊相互獨(dú)立,結(jié)構(gòu)清楚,便于修改和維護(hù)。主要包括:

        1)制作原始資料模板文件。依據(jù)水文測(cè)驗(yàn)規(guī)范,設(shè)計(jì)原始資料文件表格,在文件中輸入原始資料觀測(cè)數(shù)據(jù),以供主程序使用。

        2)編寫流量、水位等原始資料計(jì)算模塊,每個(gè)模塊為一個(gè)獨(dú)立的程序包,完成讀取原始數(shù)據(jù)、處理計(jì)算、寫入文件,錯(cuò)誤處理等功能。

        3)編寫主程序,完成總體控制、模塊調(diào)用等功能。

        3.2 關(guān)鍵技術(shù)實(shí)現(xiàn)

        3.2.1 懸浮窗體

        可以看到,很多應(yīng)用程序如QQ、東方快車等采取了浮動(dòng)窗體技術(shù)。本程序也采用了這一技術(shù),程序運(yùn)行后,程序窗口將浮動(dòng)于屏幕的左上角。當(dāng)打開很多應(yīng)用程序時(shí),此窗體總處于最前面。程序界面簡(jiǎn)潔實(shí)用,使用方便。

        程序?qū)崿F(xiàn)這一功能需要調(diào)用以下API 函數(shù):

        Private Declare Function GetCursorPos Lib“user32”(lpPoint As POINTAPI)As Long(獲得鼠標(biāo)指針在屏幕坐標(biāo)上的位置)。

        Private Declare Function GetWindowRect Lib“user32”(ByVal hwnd As Long,lpRect As RECT)As Long(獲得窗口在屏幕坐標(biāo)中的位置)。

        Private Declare Function PtInRect Lib “user32”(lpRect As RECT,ByVal ptx As Long,ByVal pty As Long)As Long(判斷指定的點(diǎn)是否在指定的矩形內(nèi)部)。

        Private Declare Function SetWindowPos Lib“user32”(ByVal hwnd As Long,ByVal hWndInsertAfter As Long,ByVal x As Long,ByVal Y As Long,By-Val cx As Long,ByVal cy As Long,ByVal wFlags As Long)As Long(準(zhǔn)備用來使窗體始終在最前面)。

        Private Declare Function MoveWindow Lib“user32”(ByVal hwnd As Long,ByVal x As Long,By-Val Y As Long,ByVal nWidth As Long,ByVal nHeight As Long,ByVal bRepaint As Long)As Long(用來移動(dòng)窗體)。

        部分代碼如下:'

        窗體背景顏色(用戶可隨意改動(dòng))'

        判斷鼠標(biāo)指針是否位于窗體拖動(dòng)區(qū)

        3.2.2 FSO 對(duì)象模型遍歷文件

        對(duì)存儲(chǔ)介質(zhì)中的文件遍歷是操作系統(tǒng)中文件管理最基本的操作。本程序在制作數(shù)據(jù)文件過程中,需要讀取特定的也就是計(jì)算原始資料的excsl 文件,那么就需要遍歷文件,進(jìn)行檢索,將其他無關(guān)的excel文件過濾掉,本程序使用FSO 對(duì)象模型實(shí)現(xiàn)這一功能。

        FSO 對(duì)象模型工具可使應(yīng)用程序創(chuàng)建、改變、移動(dòng)和刪除文件或文件夾,以及檢測(cè)是否存在指定的文件或文件夾,如果存在,在哪里等功能,同時(shí)FSO對(duì)象模型工具也能獲取文件或文件夾的有關(guān)信息,諸如名稱、創(chuàng)建日期或最近修改日期等等。

        首先創(chuàng)建自定義的FSO 文件夾對(duì)象,然后使用For Each 循環(huán)即可。以下為部分代碼。

        3.2.3 程序注冊(cè)

        為保護(hù)軟件開發(fā)者的合法權(quán)益,方法之一是注冊(cè)軟件。注冊(cè)后的合法用戶才能正常使用,未注冊(cè)用戶在使用次數(shù)期滿后將不能運(yùn)行程序,只有獲得注冊(cè)碼才能繼續(xù)使用,

        用戶首先需要形成注冊(cè)文件,將注冊(cè)文件通過E-mail 等方式交給軟件開發(fā)者,作者收到文件后通過一定的算法形成注冊(cè)碼,然后返還給用戶,完成注冊(cè)。

        完成這一功能需要調(diào)用API 函數(shù)讀寫注冊(cè)表,編寫加密、解密算法模塊等。以下為部分代碼。

        4 程序功能

        4.1 基本功能

        4.1.1 水位計(jì)算

        可計(jì)算逐日水位、逐日平均水位,月總數(shù)、月平均水位、月最高水位及出現(xiàn)日期、月最低水位及出現(xiàn)日期,最高水溫及出現(xiàn)日期、最低水溫及出現(xiàn)日期、月平均水溫、月總數(shù)。可處理河干、連底凍等各種復(fù)雜情況。

        4.1.2 流量計(jì)算

        可完成整個(gè)流量計(jì)算過程,從而計(jì)算出斷面流量、水道斷面面積、平均流速、最大測(cè)點(diǎn)流速、平均水深、最大測(cè)點(diǎn)流速,如觀測(cè)了比降水位還可計(jì)算出水面比降和糙率。

        能夠進(jìn)行多點(diǎn)法流量計(jì)算??商幚砹魉賰x法、小浮標(biāo)法、小浮標(biāo)流速儀聯(lián)合施測(cè)、水面浮標(biāo)法等各種不同測(cè)驗(yàn)方法流量測(cè)驗(yàn)。可以處理死水、分流等特殊情況。

        4.1.3 含沙量計(jì)算

        輸入水樣容積、濾紙重量、紙+沙量,即可計(jì)算單樣含沙量。

        4.1.4 蒸發(fā)量計(jì)算

        計(jì)算逐日蒸發(fā)量、月最大蒸發(fā)量及出現(xiàn)日期、月最小蒸發(fā)量及出現(xiàn)日期、月總數(shù),可處理結(jié)冰及合并量觀測(cè),也可處理蒸發(fā)器溢流及加入水量情況。

        4.1.5 斷面計(jì)算

        輸入起點(diǎn)距和測(cè)點(diǎn)高程,程序自動(dòng)查讀水面寬,進(jìn)而計(jì)算各水位級(jí)斷面面積。本程序可對(duì)滿足約束條件的任意形狀斷面進(jìn)行計(jì)算。

        4.1.6 水位流量關(guān)系表計(jì)算

        輸入整數(shù)水位級(jí)的流量,然后可計(jì)算出每個(gè)水位所對(duì)應(yīng)的流量。

        綜上所述,使用本程序可完成一個(gè)水文站大部分的計(jì)算任務(wù)。

        4.2 擴(kuò)展功能

        4.2.1 水力半徑計(jì)算

        很多情況下,都需要計(jì)算水力半徑,比如推求洪峰、洪水計(jì)算等。以往很多時(shí)候,用平均水深來近似代替水力半徑,這會(huì)有一定誤差,尤其是窄深形狀的河流,誤差會(huì)更大。通過本程序可計(jì)算濕周,和面積相除,即可計(jì)算出不同水位級(jí)的水力半徑。

        4.2.2 數(shù)據(jù)文件制作

        20 世紀(jì)90年代中期,河北省水文水資源勘測(cè)局開始使用程序整編水文資料,推流及各種成果表均由程序自動(dòng)完成,減少了整編工作量,提高了資料精度。

        然而程序運(yùn)行時(shí)需要數(shù)據(jù)文件,也就是將一組組原始數(shù)據(jù)編輯到數(shù)據(jù)文件中,工作量也不小,且如數(shù)據(jù)錯(cuò)誤會(huì)導(dǎo)致程序運(yùn)行結(jié)果錯(cuò)誤。上文提到,

        編制程序計(jì)算了原始資料,計(jì)算結(jié)果保存在excel 表中,利用excel 表中的數(shù)據(jù)便可制作各種需要的數(shù)據(jù)文件。

        4.2.2.1 實(shí)測(cè)流量成果表數(shù)據(jù)文件制作

        將用以上程序計(jì)算的每一份流量作為一個(gè)單獨(dú)的excel 文件保存,然后讀取每份流量的特征值諸如斷面位置、測(cè)驗(yàn)方法、施測(cè)時(shí)間、流量、斷面面積、最大水深、平均水深、最大流速、平均流速、水位等數(shù)據(jù),按測(cè)驗(yàn)流量的先后時(shí)間排序,寫入文本文件,即可作為整編程序的數(shù)據(jù)文件。

        以上介紹了實(shí)測(cè)流量成果表數(shù)據(jù)文件的制作,除此之外,還可以制作水位、含沙量、逐日蒸發(fā)量成果表、水溫月年統(tǒng)計(jì)表的數(shù)據(jù)文件,方法與制作流量的數(shù)據(jù)文件類似,在此不多贅述。

        4.2.3 原始資料連算

        程序提供了資料連算功能,可一次性的將所有資料連續(xù)計(jì)算。其好處是當(dāng)程序改動(dòng)后,不必逐份的再去計(jì)算每份資料,減少了工作量。

        5 應(yīng) 用

        本程序經(jīng)過不斷的修改、完善,于2008年開始在河北省張家口水文水資源勘測(cè)局15個(gè)水文站使用,基層水文站除降水、水尺零點(diǎn)高程測(cè)量外其他大部分計(jì)算工作均可由程序完成。

        計(jì)算結(jié)果符合水文測(cè)驗(yàn)規(guī)范規(guī)定,打印后作為正式原始資料成果。

        使用程序計(jì)算原始資料,大大減輕了水文站的工作量,提高了資料精度。較以往的手工計(jì)算只能保存紙介質(zhì)外,還可以保存為電子文檔,查詢使用更為方便。從使用的情況看,效果還是十分顯著的。

        6 結(jié) 語

        1)水文原始資料計(jì)算繁瑣、單調(diào)、重復(fù),耗費(fèi)了大量的時(shí)間與人力,因而開發(fā)水文原始資料計(jì)算程序是非常必要的。

        2)隨著科技的進(jìn)步,技術(shù)的發(fā)展,特別是計(jì)算機(jī)技術(shù)日新月異,編程語言功能越來越來越強(qiáng)大,開發(fā)水文原資料計(jì)算程序是完全可行的。

        3)使用程序計(jì)算水文原始資料,減輕了工作量,提高了工作效率,降低了錯(cuò)誤率,效果是十分顯著的。

        [1]Charles Petzold.Microsoft Windows 程 序 設(shè) 計(jì)——Visual Basic.NET 語言描述[M]. 武漢:華中科技大學(xué)出版社,2004:49-50.

        [2]希望圖書創(chuàng)作室.Visual Basic 6.0 Professional 專業(yè)版循序漸進(jìn)教程[M]. 北京:北京希望電子出版社,1999:101-102.

        猜你喜歡
        數(shù)據(jù)文件窗體水文
        2022年《中國(guó)水文年報(bào)》發(fā)布
        水文
        水文水資源管理
        試談Access 2007數(shù)據(jù)庫在林業(yè)檔案管理中的應(yīng)用
        檔案天地(2019年5期)2019-06-12 05:12:02
        數(shù)據(jù)文件恢復(fù)專題問答
        數(shù)據(jù)文件安全管控技術(shù)的研究與實(shí)現(xiàn)
        SQL數(shù)據(jù)文件恢復(fù)工具
        水文
        基于LayeredWindow的異形窗體局部刷新
        中文信息(2014年2期)2014-03-06 23:49:14
        Tekla Structure數(shù)據(jù)文件交互格式分析
        成人毛片无码一区二区三区| 免费观看一区二区三区视频| 久久综合九色综合97婷婷| 国产精品白浆在线观看免费| 欧美日韩亚洲tv不卡久久| 日韩亚洲制服丝袜中文字幕| 亚洲av男人免费久久| 日韩中文字幕版区一区二区三区| 中文亚洲av片在线观看| 免费人成又黄又爽的视频在线| 中文无码制服丝袜人妻AV| 日韩精品极品系列在线免费视频| 少妇伦子伦精品无吗| 狠狠躁夜夜躁人人爽天天天天97| 中文字幕无码高清一区二区三区| 国产精品国产三级国产专区50| 性无码一区二区三区在线观看| 内射中出无码护士在线| 亚洲成aⅴ人片在线观看天堂无码| 中文字幕有码久久高清| 初尝人妻少妇中文字幕| 久久亚洲精品无码gv| bbbbbxxxxx欧美性| 国产视频一区二区三区观看| 99精品国产丝袜在线拍国语| 日本一区二区三区高清千人斩 | 国产av乳头久久一区| 亚洲精品午夜久久久九九| 亚洲av无码专区在线播放中文| 亚洲AⅤ永久无码精品AA| 亚洲女同恋中文一区二区| 手机在线看片| 亚洲乱码国产一区三区| 无码中文字幕av免费放| 人妻经典中文字幕av| 人妻体体内射精一区二区| 日子2020一区二区免费视频| 最新国产一区二区三区| 国产欧美日韩中文久久| 精品无码专区久久久水蜜桃| 国产黄色精品高潮播放|