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

?

Web平臺(tái)下的工程測(cè)量數(shù)據(jù)在線處理系統(tǒng)研制

2015-03-30 03:42鄒進(jìn)貴
測(cè)繪通報(bào) 2015年1期
關(guān)鍵詞:控件數(shù)據(jù)處理對(duì)象

李 方,鄒進(jìn)貴

(武漢大學(xué)測(cè)繪學(xué)院,湖北 武漢430079)

一、引 言

測(cè)繪技術(shù)伴隨著其他技術(shù)的發(fā)展而得到了迅速提高,逐漸走向自動(dòng)化、數(shù)字化和智能化時(shí)代。工程測(cè)量任務(wù)往往包含多個(gè)環(huán)節(jié),每一個(gè)環(huán)節(jié)的測(cè)量數(shù)據(jù)處理的正確性、精度和工作時(shí)效性直接影響整個(gè)測(cè)量工程的進(jìn)度[1]。一旦測(cè)量數(shù)據(jù)出現(xiàn)問題就會(huì)影響工作進(jìn)度,還浪費(fèi)了很多人力、物力、財(cái)力。目前很多應(yīng)用軟件都面臨著收費(fèi)昂貴、安裝更新煩瑣、與儀器捆綁銷售、可重復(fù)性差等問題。

針對(duì)以上問題,筆者開發(fā)了一個(gè)Web平臺(tái)下的工程測(cè)量數(shù)據(jù)在線處理系統(tǒng),其研究意義在于:①可實(shí)時(shí)動(dòng)態(tài)處理數(shù)據(jù)并得到處理結(jié)果,實(shí)時(shí)評(píng)估工作質(zhì)量;②用戶無須購(gòu)買各種配套軟件,直接利用系統(tǒng)可以處理多種測(cè)量數(shù)據(jù);③系統(tǒng)升級(jí)時(shí)只需服務(wù)器后臺(tái)更新,省去用戶需要多次下載更新軟件的麻煩;④便于用戶進(jìn)行數(shù)據(jù)管理。因此,Web平臺(tái)下的工程測(cè)量數(shù)據(jù)處理系統(tǒng)具有較高的實(shí)用價(jià)值。

二、系統(tǒng)功能與結(jié)構(gòu)設(shè)計(jì)

1.?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)

由于系統(tǒng)需要對(duì)數(shù)據(jù)實(shí)現(xiàn)存儲(chǔ)管理,因此需要使用數(shù)據(jù)庫(kù)。針對(duì)此系統(tǒng),本文的數(shù)據(jù)庫(kù)需要進(jìn)行結(jié)構(gòu)方面的設(shè)計(jì),數(shù)據(jù)庫(kù)中包含了12個(gè)數(shù)據(jù)表,分別為:

1)TraverseKnownData;

2)TraverseObserveData;

3)TraverseResult;

4)LevelingKnownData;

5)LevelingObserveData;

6)LevelingResult;

7)IntersectionKnownData;

8)IntersectionObserveData;9)IntersectionResult;

10)CorTransformationKnownData;

11)CorTransformationObserveData;12)CortransformationResult。

在此數(shù)據(jù)庫(kù)中本文對(duì)數(shù)據(jù)表的格式做了一定的設(shè)計(jì),主要包含以下幾個(gè)數(shù)據(jù)字段:①DataID,數(shù)據(jù)ID作為數(shù)據(jù)表主鍵,用戶唯一標(biāo)識(shí)數(shù)據(jù)文件,與服務(wù)器中對(duì)應(yīng)文件夾下的數(shù)據(jù)一一對(duì)應(yīng);②UserName,用于存儲(chǔ)登錄賬號(hào)的用戶名;③UserCompany,用于存儲(chǔ)用戶所在的單位或公司;④ProjectName,用于存儲(chǔ)此數(shù)據(jù)是哪個(gè)項(xiàng)目的名稱;⑤Operater,用于存儲(chǔ)數(shù)據(jù)操作者的名字;⑥D(zhuǎn)escription,用于對(duì)數(shù)據(jù)進(jìn)行相關(guān)備注描述;⑦Time,用于存儲(chǔ)數(shù)據(jù)操作的時(shí)間。具體結(jié)構(gòu)設(shè)計(jì)見表1。

表1 數(shù)據(jù)表結(jié)構(gòu)

數(shù)據(jù)庫(kù)中所存儲(chǔ)的數(shù)據(jù)如圖1所示。

2.系統(tǒng)結(jié)構(gòu)與功能設(shè)計(jì)

Web平臺(tái)下的工程測(cè)量數(shù)據(jù)處理系統(tǒng)的總體結(jié)構(gòu)采用分層次框架設(shè)計(jì)。根據(jù)整個(gè)數(shù)據(jù)處理的流程,系統(tǒng)整體框架設(shè)計(jì)分為用戶登錄(或用戶注冊(cè))、數(shù)據(jù)上傳、數(shù)據(jù)處理、數(shù)據(jù)下載和數(shù)據(jù)管理。其中數(shù)據(jù)處理方面可以設(shè)計(jì)很多功能模塊,比如導(dǎo)線網(wǎng)、水準(zhǔn)網(wǎng)等,各個(gè)數(shù)據(jù)處理模塊相互平行獨(dú)立,用戶可根據(jù)需要進(jìn)行功能選擇。進(jìn)入系統(tǒng)后可以自主選擇數(shù)據(jù)處理功能模塊,比如導(dǎo)線網(wǎng)、水準(zhǔn)網(wǎng)等,各個(gè)數(shù)據(jù)處理模塊相互平行獨(dú)立,用戶可根據(jù)需要進(jìn)行功能選擇。目前功能處理暫定為設(shè)計(jì)導(dǎo)線網(wǎng)、水準(zhǔn)網(wǎng)、交會(huì)計(jì)算和坐標(biāo)轉(zhuǎn)換4個(gè)模塊,各個(gè)模塊的數(shù)據(jù)處理流程相同。在這種框架結(jié)構(gòu)設(shè)計(jì)下,各個(gè)數(shù)據(jù)處理模塊相互獨(dú)立,后期可根據(jù)實(shí)際需要繼續(xù)添加不同功能的模塊,以逐步優(yōu)化完善系統(tǒng)。系統(tǒng)框架示意圖如圖2所示。

圖1 數(shù)據(jù)表數(shù)據(jù)存儲(chǔ)示意圖

圖2 工程測(cè)量數(shù)據(jù)處理系統(tǒng)結(jié)構(gòu)設(shè)計(jì)圖

三、Web編程關(guān)鍵技術(shù)

1.B/S結(jié)構(gòu)

B/S結(jié)構(gòu)(Browser/Server結(jié)構(gòu))即瀏覽器和服務(wù)器結(jié)構(gòu),用戶都可以通過瀏覽器來訪問網(wǎng)絡(luò)上的各類信息,這些信息由多個(gè)Web服務(wù)器產(chǎn)生,但是數(shù)據(jù)并不儲(chǔ)存在Web服務(wù)器中,大量的數(shù)據(jù)實(shí)際存放在數(shù)據(jù)庫(kù)服務(wù)器中,每一個(gè)Web服務(wù)器通過某種方式與數(shù)據(jù)庫(kù)服務(wù)器連接[2]。

2.COM組件技術(shù)

COM組件可以理解為一個(gè)封裝的代碼集合,它可以把程序代碼轉(zhuǎn)換到了二進(jìn)制代碼,運(yùn)行速度遠(yuǎn)快于Web腳本的解釋性語(yǔ)言,而且有很好的保密性,同時(shí)可以使用C#、C++等語(yǔ)言編寫,有很好的兼容性,可以在不妨礙老客戶的情況下被升級(jí)[3]。ASP中含有執(zhí)行Web相關(guān)任務(wù)的COM對(duì)象集。這些對(duì)象可以執(zhí)行檢索HTML表單數(shù)據(jù)、把內(nèi)容發(fā)回至瀏覽器、跟蹤會(huì)話和應(yīng)用程序的狀態(tài)等任務(wù)。這些對(duì)象總是可以在整個(gè)ASP應(yīng)用程序中使用[4]。

(1)利用ATL技術(shù)開發(fā)COM組件

通過ATL技術(shù)可以建立COM組件,然后通過ASP頁(yè)面中的腳本對(duì)COM對(duì)象進(jìn)行調(diào)用,達(dá)到可以利用COM組件中函數(shù)的目的,完成相應(yīng)的功能。通過優(yōu)化技術(shù),ATL在其內(nèi)部提供了C++開發(fā)的程序所必須具有的C啟動(dòng)代碼的替代部分。同時(shí),為了擺脫龐大的代碼模塊,ATL對(duì)產(chǎn)生的代碼去粗取精,只留下了用戶最基本的功能。因此,采用ATL開發(fā)的COM組件能夠在網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)應(yīng)用的分布式組件結(jié)構(gòu)[5]。

(2)在ASP.NET中使用COM對(duì)象

COM對(duì)象可以在ASP.NET中被調(diào)用。ADO對(duì)象本身就是COM對(duì)象,內(nèi)置的Request、Response、Server等對(duì)象也是COM對(duì)象。除了使用內(nèi)置對(duì)象,程序員還可以通過調(diào)用Server對(duì)象的CreateObject方法來創(chuàng)建COM對(duì)象實(shí)例,具體調(diào)用如下:

Set

cnnMyConnectionObj=Server.CreateObject(“ADODB.Connection”)。

3.ADO.NET調(diào)用數(shù)據(jù)庫(kù)技術(shù)

ADO.NET組件是重要的數(shù)據(jù)庫(kù)開發(fā)工具,可以通過使用ADO.NET組件,實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)的操作。ADO.NET提供與數(shù)據(jù)源進(jìn)行交互的相關(guān)的公共方法,但是對(duì)于不同的數(shù)據(jù)源采用一組不同的類庫(kù),這些類庫(kù)就成為Data Providers,并且通常都是通過與之交互的協(xié)議和數(shù)據(jù)源的類型來進(jìn)行命名的。ADO.NET包含了以下5個(gè)對(duì)象:Command對(duì)象、SqlConnection對(duì)象、SqlDataReader對(duì)象、DataSet對(duì)象和SqlDataAdapter對(duì)象。絕大多數(shù)的數(shù)據(jù)庫(kù)訪問任務(wù)都能通過它們的組合完成。

四、系統(tǒng)實(shí)現(xiàn)與應(yīng)用

1.系統(tǒng)功能實(shí)現(xiàn)

本系統(tǒng)首先實(shí)現(xiàn)就是用戶注冊(cè)與登錄功能,系統(tǒng)登錄功能主要保證用戶系統(tǒng)數(shù)據(jù)的安全,限制非工作人員登錄系統(tǒng),進(jìn)行非法操作。系統(tǒng)登錄功能的實(shí)現(xiàn)比較簡(jiǎn)單,只需要在主系統(tǒng)進(jìn)程創(chuàng)建前,先顯示登錄窗口,對(duì)用戶信息進(jìn)行驗(yàn)證,若驗(yàn)證通過,則創(chuàng)建主系統(tǒng)進(jìn)程,否則,不會(huì)創(chuàng)建主系統(tǒng)進(jìn)程,直至驗(yàn)證通過。

在用戶注冊(cè)方面需要使用的是CreateUserWizard控件,該控件需要用戶輸入用戶名、密碼、郵箱和安全問題等,在每個(gè)用戶輸入的TextBox后面都加入一個(gè)RequiredFieldValidator控件,將控件的Control ToValidate屬性設(shè)置為對(duì)于文本框的ID,修改Error Message屬性即可設(shè)置輸入無效提示,如“必須輸入用戶名”。將web.config文件中的membership元素設(shè)置為min-RequiredPasswordLength=”6”,即設(shè)置密碼不少于6位數(shù)。使用CompareValidator控件保證再次輸入的密碼與第一次輸入相同。RegularExpressionValidator控件確保電子郵件的格式輸入正確。系統(tǒng)的登錄頁(yè)面使用Login控件進(jìn)行登錄,修改DestinationPageUel屬性重定向至系統(tǒng)功能選擇主頁(yè)上,輸入用戶名和正確的密碼,點(diǎn)擊登錄即可進(jìn)入系統(tǒng)主頁(yè),如圖3和圖4所示。

圖3 新用戶注冊(cè)界面

圖4 用戶登錄界面

在數(shù)據(jù)處理功能模塊中,將以坐標(biāo)轉(zhuǎn)換模塊為例進(jìn)行說明。在坐標(biāo)轉(zhuǎn)換處理模塊中本文設(shè)置了四參數(shù)和七參數(shù)兩個(gè)轉(zhuǎn)換模型,用戶需要選擇一種數(shù)據(jù)處理模型。通過RadioButtonList1.SelectedItem.Text屬性值來確定轉(zhuǎn)換模型。文件的上傳通過File-Upload控件實(shí)現(xiàn),具體上傳程序可見圖5,文件的下載程序可見圖6。

文件上傳需要獲取服務(wù)器端和客戶端路徑,然后獲取上傳文件名稱,設(shè)置上傳文件保存服務(wù)器的路徑即可實(shí)現(xiàn)文件上傳,見圖7。如果服務(wù)器中已經(jīng)存在此文件則會(huì)提示文件重復(fù)。通過獲取上傳文件的后綴名來實(shí)現(xiàn)控制上傳文件的格式。利用ASP.NET調(diào)用C++編寫的DLL文件,首先需要在項(xiàng)目中添加引用DLL文件。以下為引用片段:

圖5 上傳文件程序

圖6 數(shù)據(jù)下載程序

[DllImport("kernel32.dll")]

private extern static IntPtr LoadLibrary(String path);

[DllImport("kernel32.dll")]

private extern static IntPtr GetProcAddress(IntPtr lib,String funcName);

[DllImport("kernel32.dll")]

private extern static bool FreeLibrary(IntPtr lib);

圖7 上傳文件

分別取得了LoadLibrary和GetProcAddress函數(shù)的地址,再通過這兩個(gè)函數(shù)來取得DLL里面的函數(shù)即可實(shí)現(xiàn)調(diào)用DLL處理數(shù)據(jù)。其他功能模塊的實(shí)現(xiàn)基本相同。

2.實(shí)例應(yīng)用

下面以2014年12月水準(zhǔn)測(cè)量試驗(yàn)數(shù)據(jù)進(jìn)行實(shí)例分析。試驗(yàn)過程中采集了大約6.9 km的水準(zhǔn)數(shù)據(jù),其中共有6個(gè)水準(zhǔn)點(diǎn),分別為B01—B06,其中B01為已知點(diǎn),其高程為100 m,其余點(diǎn)為待定點(diǎn),水準(zhǔn)路線中包含了一個(gè)閉合環(huán)B02-B03-B06-B0。

數(shù)據(jù)采集完畢之后利用工程測(cè)量數(shù)據(jù)在線處理系統(tǒng)進(jìn)行處理,首先注冊(cè)一個(gè)賬號(hào),然后登錄賬戶進(jìn)入系統(tǒng),選擇水準(zhǔn)網(wǎng)計(jì)算模塊進(jìn)入水準(zhǔn)網(wǎng)數(shù)據(jù)處理,上傳已知點(diǎn)文件和觀測(cè)值文件,選擇自動(dòng)處理,然后下載結(jié)果文件,如圖8所示。

圖8 下載結(jié)果文件

為了驗(yàn)算本系統(tǒng)計(jì)算結(jié)果的正確性,本文使用GNPS軟件對(duì)水準(zhǔn)數(shù)據(jù)進(jìn)行了計(jì)算,其中圖9(a)為GNPS軟件處理結(jié)果,圖9(b)為系統(tǒng)處理結(jié)果,圖9(c)為兩者對(duì)比結(jié)果。

圖9 處理結(jié)果對(duì)比

通過對(duì)比分析可知系統(tǒng)計(jì)算結(jié)果正確,并有較高的精度。上述過程實(shí)現(xiàn)了工程測(cè)量數(shù)據(jù)的自動(dòng)處理,相對(duì)于利用軟件計(jì)算工程測(cè)量數(shù)據(jù)處理,該系統(tǒng)十分簡(jiǎn)便快捷,特別是對(duì)于測(cè)量機(jī)器人自動(dòng)測(cè)量數(shù)據(jù),可以直接上傳處理,大大減輕了測(cè)量工作者的作業(yè)負(fù)擔(dān)。

五、結(jié)束語(yǔ)

通過使用試驗(yàn)數(shù)據(jù)對(duì)系統(tǒng)進(jìn)行驗(yàn)證,能夠十分方便快捷地得到數(shù)據(jù)處理結(jié)果,相對(duì)于手工計(jì)算或者軟件計(jì)算來說速度更快,工作強(qiáng)度更小,這充分體現(xiàn)了工程測(cè)量數(shù)據(jù)在線處理系統(tǒng)的優(yōu)越性和實(shí)時(shí)性。本系統(tǒng)在實(shí)際工程中具有較大的實(shí)用性,特別適合于處理觀測(cè)數(shù)據(jù)量大、復(fù)雜且需要進(jìn)行平差處理的情況,用戶僅需按照指定格式上傳數(shù)據(jù)即可進(jìn)行數(shù)據(jù)處理,真正實(shí)現(xiàn)了工程測(cè)量數(shù)據(jù)的現(xiàn)測(cè)現(xiàn)算,能夠?qū)崟r(shí)評(píng)估工作質(zhì)量,及時(shí)發(fā)現(xiàn)錯(cuò)誤,對(duì)測(cè)量工作計(jì)劃具有很好的指導(dǎo)性。

[1] 熊梓言.工程測(cè)量數(shù)據(jù)處理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)繪與空間地理信息,2008,31(6):177-179.

[2] 任泰明.基于B/S結(jié)構(gòu)的軟件開發(fā)技術(shù)[M].西安:西安電子科技大學(xué)出版社,2006:16-20.

[3] Matt J.CROUCH.怎樣用ASP和COM進(jìn)行Web編程[M].北京:人民郵電出版社,2001:20-45.

[4] 米勒.Visual C++.NET開發(fā)人員指南[M].北京:清華大學(xué)出版社,2002:13-53.

[5] 王建康.大型聯(lián)網(wǎng)視頻監(jiān)控系統(tǒng)中ICE中間件的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2010.

猜你喜歡
控件數(shù)據(jù)處理對(duì)象
認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
涉稅刑事訴訟中的舉證責(zé)任——以納稅人舉證責(zé)任為考察對(duì)象
ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
基于.net的用戶定義驗(yàn)證控件的應(yīng)用分析
關(guān)于.net控件數(shù)組的探討
攻略對(duì)象的心思好難猜
基于熵的快速掃描法的FNEA初始對(duì)象的生成方法
區(qū)間對(duì)象族的可鎮(zhèn)定性分析
基于希爾伯特- 黃變換的去噪法在外測(cè)數(shù)據(jù)處理中的應(yīng)用
Matlab在密立根油滴實(shí)驗(yàn)數(shù)據(jù)處理中的應(yīng)用