胡榮明,楊成斌,陳曉娣
(西安科技大學 測繪科學與技術學院,陜西 西安 710054)
測量數據處理是測繪工作過程中不可或缺的一部分,測量數據處理軟件的出現使測量數據處理由手工計算方式轉變?yōu)榘胱詣佑嬎闵踔寥詣佑嬎惴绞剑瑴y量數據處理的效率和質量在不斷地提高[1-2]。目前,一些單位和機構已經研制出多種各具特色的單機版測量數據處理軟件,如武漢大學的控制測量數據處理通用軟件包(CODAPS)、清華大學的工程測量控制網平差系統(NASEW)、南方測繪的平差易(Power Adjust)等。隨著桌面測量數據處理軟件的不斷成熟和計算機網絡技術的發(fā)展,測量平差軟件也在向著網絡化發(fā)展[3],研發(fā)高效、方便、實用的測量數據網絡處理系統成為一大熱點。
測量數據網絡處理系統一方面省去了用戶安裝單機平差軟件的麻煩,只需通過網頁瀏覽器即可進行測量數據處理,原始數據及處理結果都可保存在網絡服務器中,大大地避免了測量數據的丟失問題,實現了數據的統一管理和共享,方便單位內部的信息交流;另一方面,Silverlight技術的出現解決了傳統Web開發(fā)技術研發(fā)測量數據處理系統所面臨的問題[4],為本文的研究提供了技術保障。
為此,本文利用Silverlight技術設計并研發(fā)基于富客戶端的測量數據網絡處理系統,在提供完善的數據處理功能的基礎上,大大豐富了用戶體驗,減輕了網絡負載,提高了系統運行效率。
Microsoft Silverlight技術是一種跨瀏覽器、跨平臺的RIA應用開發(fā)技術,能夠運行在多種操作系統之上,支持.NET框架,擁有大量的類庫和控件;具有強大的2D和3D矢量繪圖和多媒體文件播放功能,支持LINQ、WCF和跨域訪問等[5]。 Silverlight的用戶界面由XAML標記語言呈現,邏輯程序可以使用C#和VB.NET等面向對象的編程語言實現,它把界面呈現邏輯和部分程序控制邏輯移到客戶端實現,在客戶端實現數據約束和程序邏輯控制,發(fā)揮了客戶端系統的性能,減輕了服務器的負載,提高了性能表現[6]。圖1為Silverlight的技術框架。
測量數據網絡處理系統的主要功能包含各種平面網、水準網及GPS網等的平差計算功能,測量數據和網圖顯繪功能,以及系統的基本管理功能等。系統具體功能設計如圖2所示。
圖2 系統功能設計
對于任何系統和軟件而言,系統的數據輸入和輸出問題一向是最為重要的問題之一,數據輸入的方便程度與速度直接影響一個系統的使用效率,同時也會對系統的精度造成一定的影響[7]。對于以數據為基礎的測量數據處理系統而言,數據的輸入輸出設計顯得尤為重要。
(1) 數據輸入
本文所研究的測量數據網絡處理系統可以提供多種可視化的數據輸入方式,用戶可以方便、快捷地輸入測量數據,提高系統的使用效率。
1) 建立與電子儀器的接口,直接導入觀測數據,然后經數據預處理后轉換為相應的數據格式進行平差計算[8]。
2) 提前編輯好相應格式的平差數據文件,導入系統后進行計算。
3) 對于系統數據庫中已經存在的數據,可以通過訪問數據庫,查找到相關數據后導出并進行平差計算。
4) 在觀測數據量比較小時,用戶可以直接依次將平差數據輸入系統中,進行平差計算。
(2) 數據輸出
數據輸出包括原始數據的輸出和平差報告的輸出。其中,平差報告是在系統平差計算完成后根據平差結果生成的,平差報告的內容由用戶進行設定。
1) 用戶輸入的平差數據及平差結果顯示在網頁上,這樣用戶可以第一時間得到平差結果并進行成果評價。
2) 原始數據及平差成果可以以文件方式保存在用戶本地。
3) 原始數據及平差成果可以保存到系統的數據庫,這樣方便用戶以后對平差數據的再次查看。
4) 用戶可以通過打印方式將平差數據和結果進行輸出。
在平面網平差中,僅僅將控制網的邊角和控制點坐標的平差結果以文字形式顯示,還不能直觀地了解控制網的整體情況(如控制點的相對位置、控制網網形等)。因此系統還需要按照用戶給定的比例尺大小將控制網圖和誤差橢圓圖繪制出來[7]。
Silverlight中提供了多種Shape對象,其中最基本的是Line對象、Rectangle對象和Ellipse對象。Line用來繪制直線,指定起始和結束的坐標值就可以畫一條直線;Rectangle用來繪制一個正方形或矩形,只要設置Rectangle的寬度和高度就能畫出正方形或矩形;Ellipse用來繪制圓或橢圓,可以通過調整其Width和Height屬性來調整水平和垂直半徑。因此,利用這幾種Shape對象即可以實現控制網圖和誤差橢圓的繪制。
(1) 繪圖坐標系的轉換
如圖3所示,利用Silverlight的Shape對象進行矢量圖繪制時,它的坐標原點位于容器控件(如Canvas控件)的左上角,而測量坐標系的原點應該為控件的左下角,因此,在繪圖之前要將控制點的測量坐標轉換為繪圖坐標。
若繪圖比例尺為m,Canvas控件的寬為width,高為height,則可以得到測量坐標與繪圖坐標的轉換關系式為
圖3 坐標系轉換
(2) 控制網圖及誤差橢圓繪制
控制網是由控制點組成的網形,利用Line和Circle對象即可實現控制網圖的繪制,其中,已知邊長使用雙Line表示,未知邊長使用單一Line表示,已知控制點以兩個同心圓表示,未知點以一個圓表示。若某一邊長平差后精度超限,則會以加粗的紅線來表示。同樣,若某一觀測角度平差后精度超限,則該角度的測站(控制點)會以一紅色實心圓表示,如圖4所示,邊P2P6、BP6平差后精度超限,以P3、P6點為測站的某些角度值平差后精度超限,此時需要根據平差結果判斷具體是哪些角度。
圖4 控制網和誤差橢圓
誤差橢圓的繪制是在控制網圖的基礎上,以控制點坐標為中心,根據橢圓的長短半軸和旋轉角度進行繪制。同樣,對于長短半軸較大的橢圓也以紅色表示。
對于系統繪制的控制網和誤差橢圓,不僅可以在系統界面上顯示,也可以以平差報告附圖的形式輸出保存,或者單獨以各種圖片格式輸出或存入數據庫。
系統繪制的網圖不僅能直觀地反映控制網的網形信息、誤差橢圓大小,用戶還可以通過移動鼠標來查看控制點的平差信息。當鼠標移動到某一控制點(即Ellipse對象)上時,系統將自動彈出信息顯示窗口,顯示該控制點的類型、坐標平差值、點位精度,以及相關的邊長和角度平差值。示例邏輯代碼如下
<-Ellipse對象->
Ellipse eps=new Ellipse();
<-鼠標移到Ellipse對象上時要執(zhí)行的事件->
eps.MouseMove+=new MouseEventHandler
(Ellipse_MouseMove);
private void Ellipse_MouseMove
(object sender,MouseEventArgs e)
{
Ellipse eps=(Ellipse) sender;
string name=eps.Name;
<-通過控制點名查找該點的平差信息->
nametoinfo(name);
<-顯示信息窗口->
showwindowinfo();
}
當控制網規(guī)模較小、網形較簡單時,用戶可以直接手工輸入觀測數據進行平差計算,但是對于大型、復雜的控制網,其包含有大量的觀測數據,數據之間的關系也相對復雜,因此數據的手工輸入需要技術人員具有較高的專業(yè)水平才能完成。如果數據的輸入能夠在屏幕上參照控制網草圖來進行,然后進行平差,即實現數據輸入的可視化,那么一般的技術人員也能進行大型、復雜網形的平差[9-10]。
可視化平差的作業(yè)流程有以下幾步:首先,用戶在屏幕的繪圖區(qū)域繪制出控制網草圖,即按野外控制網的網形大致確定出控制點的相對位置,標注點名,并根據測量邊將控制點連接起來;然后在草圖上選取已知點,輸入已知點數據,選取角度觀測測站和觀測邊,輸入觀測角度和邊長;最后根據輸入的數據進行平差計算,顯示平差結果,繪制平差后的控制網圖和誤差橢圓。
利用Silverlight的矢量繪圖功能為用戶提供一個繪制草圖的窗口,在該窗口中包括要素選擇工具和要素繪制工具,可以繪制控制點、觀測邊、誤差橢圓,可以添加文字描述,通過選擇工具可以為這些要素添加觀測數據[11],如圖5所示。
圖5 可視化數據輸入
利用Silverlight技術研發(fā)的測量數據處理網絡系統,通過Web進行測量數據處理,是測量數據處理模式的一次革命,無需安裝任何客戶端,只需要通過瀏覽器即可在線處理測繪數據,用戶不僅能體驗到如同桌面軟件一樣豐富的功能,而且省去了安裝、升級和維護桌面軟件的麻煩,同時還方便了用戶通信和數據共享,提高了測繪數據處理的效率。通過試運行表明,該系統可以安全高效地處理測量數據,可以清晰準確地繪制控制網圖和誤差橢圓,能夠以多種方式進行數據的查詢、統計和輸出,系統功能較為完善,實現了預期設計目標。
參考文獻:
[1] 黑志堅,周秋生,曲建光.基于網絡的測繪數據處理系統設計[J].黑龍江工程學院學報,2008,22(4):26-28.
[2] 謝智穎,李清泉,彭軍還.面向對象的測量平差軟件設計與網絡化應用[J].武漢大學學報:信息科學版,2003,28(5):604-607.
[3] 徐瑩,聶桂根,呂喬森.GNSS在線數據處理系統的比較與分析[J].測繪通報,2010(12):30-33.
[4] 吳濤,戚銘堯,黎勇,等.WebGIS開發(fā)中的RIA技術應用研究[J].測繪通報,2006(6):34-37.
[5] 駱正茂,王娟.基于Silverlight的在線CAD繪圖平臺[J].計算機系統應用,2011,20(6):216-220.
[6] 程國雄,胡世清.基于Silverlight的RIA系統架構與設計模式研究[J].計算機工程與設計,2010,31(8):1706-1709,1713.
[7] 王巖.高精度施工控制網平差系統的研究與開發(fā)[D].南京:河海大學,2005.
[8] 馮傳勇,魏猛.斷面測量數據處理系統的設計與開發(fā)[J].測繪通報,2011(4):47-48,61.
[9] 李沛鴻,徐昌榮,曾憲.圖形化方式的測量平差程序開發(fā)與研究[J].測繪科學,2007,32(1):38-39,161.
[10] 趙東保,張書畢,盛業(yè)華,等.可視化平差軟件的設計與開發(fā)[J].四川測繪,2003,26(2):68-71.
[11] 王靚,范德輝.基于Silverlight的在線制圖和通訊系統[J].吉林師范大學學報:自然科學版,2011,32(3):131-133.