李杰
(石家莊市勘察測繪設計研究院,河北石家莊 050019)
根據(jù)國家測繪局2008年第2號公告要求,各地加緊建立適合于地方的基于2000地球橢球的坐標系統(tǒng)。隨著新坐標系統(tǒng)的建立,為了保證原有數(shù)據(jù)的有效利用,坐標系轉(zhuǎn)換工作的緊迫性日益凸顯。
商業(yè)轉(zhuǎn)換軟件通用性強,在控制測量以及少量坐標數(shù)據(jù)轉(zhuǎn)換時能夠滿足需要,面對大量多源數(shù)據(jù)和復雜多步驟轉(zhuǎn)換時則顯得無能為力或事倍功半。例如:各種大量矢量圖形(如dwg、dgn等圖形數(shù)據(jù))的轉(zhuǎn)換;一些需要多步驟組合(如先換帶再轉(zhuǎn)換等)才能完成的轉(zhuǎn)換等。
基于以上情況,想要便捷、準確實現(xiàn)坐標系轉(zhuǎn)換,有必要結合當?shù)貙嶋H情況研發(fā)自己的坐標系轉(zhuǎn)換軟件,將各種日常參數(shù)固化到軟件中,把各種組合轉(zhuǎn)換集成為一鍵操作,減少出錯幾率,提高工作效率。
石家莊市勘察測繪設計研究院中標承擔了“建立石家莊城市坐標系統(tǒng)”項目,根據(jù)項目技術方案要求,需要編制石家莊坐標系統(tǒng)轉(zhuǎn)換軟件,實現(xiàn)石家莊目前各種坐標系之間的轉(zhuǎn)換,本文將結合該項目闡述坐標轉(zhuǎn)換的編制過程,本文不涉及轉(zhuǎn)換求參,只探討軟件編制問題。
20世紀50年代,石家莊市的建設部門建立石家莊地方坐標系統(tǒng),經(jīng)3次重大改造和擴測,一直使用至今;近十年來,石家莊市國土資源局和市房產(chǎn)局建立石家莊市坐標系,以滿足城市發(fā)展中不同專業(yè)、不同用途和對控制面積上的需求。
截至目前,石家莊市主要涉及3個國家坐標系和2個地方坐標系,分別是1954年北京坐標系、1980西安坐標系和新建立的2000國家大地坐標系以及石家莊地方坐標系和石家莊市坐標系。
基于“共建共享”目的,石家莊市政府要求整合現(xiàn)有的坐標系統(tǒng),以便統(tǒng)一到新建立的2000國家大地坐標系上,編制坐標系統(tǒng)轉(zhuǎn)換軟件成為今后啟用、推行和應用新坐標系的重要抓手。
考慮到編程的便捷性,選擇基于.NET Framework框架,選用Visual Studio 2005為開發(fā)平臺,AutoCAD作為輔助圖形平臺來完成軟件研發(fā)工作。
結合項目技術方案以及實際需要,將軟件功能分為5個功能模塊,分別是登錄、轉(zhuǎn)換、高斯換算、求解轉(zhuǎn)換參數(shù)和幫助模塊。
坐標轉(zhuǎn)換屬于涉密工作,轉(zhuǎn)換參數(shù)應嚴格保密,因此軟件設計了登錄模塊,具體功能有用戶注冊、用戶登錄、刪除用戶、更改密碼和日志管理等,通過用戶名與密碼設定管理權限。
初次登錄需要授權才能使用,計算機不存儲用戶密碼原碼,只存儲其散列碼,原碼與散列碼之間轉(zhuǎn)換的不可逆性,可以起到較好的保密效果。
坐標系轉(zhuǎn)換是軟件的核心部分,主要功能有:源坐標系和目的坐標系的選取、坐標源文件與目的文件的選取、平面轉(zhuǎn)換四參數(shù)的調(diào)存(包含讀取、調(diào)取和保存參數(shù))、坐標文件轉(zhuǎn)換、單點轉(zhuǎn)換以及矢量dwg數(shù)據(jù)轉(zhuǎn)換等。
通過列表框選擇各種坐標系,根據(jù)轉(zhuǎn)換坐標系名稱,調(diào)用固化在軟件中的轉(zhuǎn)換參數(shù),固化轉(zhuǎn)換參數(shù)隱藏顯示,以起到保密作用。僅當選擇自定義坐標系轉(zhuǎn)換時才彈出轉(zhuǎn)換參數(shù)對話框,輸入?yún)?shù)進行轉(zhuǎn)換。
為實現(xiàn)方便快捷轉(zhuǎn)換,我們在數(shù)據(jù)處理細節(jié)上進行了挖掘。如:坐標數(shù)據(jù)文件分隔符可以是“,”、“;”、“”或TAB等,不論是中文英文還是全角半角,均能自動識別;單點轉(zhuǎn)換時,支持從 WPS、Word、Excel、Auto-CAD中直接粘貼數(shù)據(jù),支持在AutoCAD中直接點選坐標等,錄入數(shù)據(jù)便捷,用戶體驗感覺上佳;為了提高轉(zhuǎn)換效率,將通常需要幾步轉(zhuǎn)換的組合操作集成在一起,實現(xiàn)一鍵轉(zhuǎn)換,減少出錯幾率。
dwg數(shù)據(jù)轉(zhuǎn)換功能針對AutoCAD圖形文件轉(zhuǎn)換,提供3種轉(zhuǎn)換方式。第1種,基于整幅圖的快速轉(zhuǎn)換,根據(jù)當前圖形的左下角與右上角坐標實施快速兩點轉(zhuǎn)換,用時短,精度低;第2種,基于實體的快速變換,創(chuàng)建選擇集,遍歷實體,獲取實體的矩形包圍盒完成轉(zhuǎn)換,用時較短,精度較高;第3種,基于坐標點的嚴密轉(zhuǎn)換,通過判定實體的類型,獲取其特征點坐標,逐點轉(zhuǎn)換,耗時長,精度最高。實際轉(zhuǎn)換時,可根據(jù)項目精度需求選擇其中一種方式轉(zhuǎn)換,靈活便捷。
主要有高斯正算、反算、換帶與dwg圖形轉(zhuǎn)換功能,同時提供大地主題計算工具。
高斯正算與反算完成指定橢球下經(jīng)緯度與直角坐標的互算,高斯換帶完成不同中央子午線下直角坐標的計算,dwg圖形轉(zhuǎn)換功能與換帶配合使用;大地主題計算主要完成特定橢球下諸如各種球面半徑、子午線收斂角、大地距離與方位以及球面面積等的計算。
根據(jù)源坐標文件與目的坐標文件,首先進行坐標重心化處理,然后利用最小二乘法求解坐標系之間轉(zhuǎn)換的平面四參數(shù),并給出精度評定,提供參數(shù)保存工具,以備坐標系轉(zhuǎn)換模塊調(diào)用。
介紹軟件的安裝、注冊、運行以及操作,便于初學者掌握軟件使用方法。
軟件編制過程中,關鍵點為數(shù)學模型的選取。軟件涉及的主要數(shù)學模型有高斯正反算和換帶模型、大地主題計算相關模型和平面四參數(shù)變換模型等。前兩個模型各教科書和參考書上多有明確的計算公式,直接引用或組合計算即可;平面四參數(shù)變換模型多數(shù)資料上求解相對復雜,要進行誤差方程線性化繁瑣。
本文平面四參數(shù)變換求解采用坐標系轉(zhuǎn)換參數(shù)的解耦算法[3],較總體最小二乘平差方便直觀,易于編程實現(xiàn)。平面四參數(shù)轉(zhuǎn)換模型為:
式中,X1,Y1為源坐標,X2,Y2為目的坐標,dx,dy為平移參數(shù),m為尺度參數(shù),α為旋轉(zhuǎn)參數(shù)。
首先,根據(jù)源坐標數(shù)據(jù)和目的坐標數(shù)據(jù)分別計算出各自的重心坐標X1G、Y1G和X2G、Y2G,將各點坐標分別重心化得到點集;其次計算∑()的平方根得到縮放系數(shù)m,計算∑的反余切得到旋轉(zhuǎn)角度 α,將 X1G、Y1G和 X2G、Y2G以及求得的 m、α 代入式(1)計算出dx,dy;最后根據(jù)四參數(shù)進行精度評定。
軟件測試采用白盒測試與黑盒測試相結合(以黑盒測試為主)的方式進行,確保軟件使用正確性。
白盒測試針對主要數(shù)學模型,由精通測繪與編程的人員對程序源代碼進行檢查。
黑盒測試主要采用算例進行,通過與實測數(shù)據(jù)和商業(yè)軟件結果比對,驗證軟件輸出結果的正確性。檢查人員分為2組,第1組2人為專業(yè)測繪技術人員,具備10年以上相關測繪經(jīng)驗,從測繪專業(yè)角度驗證軟件;第2組2人為有編程經(jīng)歷人員,從計算機軟件學角度驗證軟件。
測試時,要求2人獨立測試或其中1人測試另1人旁站檢查,做到檢測結果正確無誤。測試出現(xiàn)問題時,兩人首先達成一致意見,共同核準,確有分歧時,由項目負責人召集相關人員進行商定。
填寫軟件檢查記錄,測試結束后,編寫檢查報告。
石家莊坐標系統(tǒng)轉(zhuǎn)換軟件,經(jīng)過測試與試用,用戶反映良好,主要特點如下:
(1)功能齊全,操作便捷,達到(局部超過)項目方案的技術要求。
(2)數(shù)據(jù)輸入智能化、自動化,能識別多種格式的數(shù)據(jù),粘貼到輸入框后能自動分離至相應輸入框,錄入便捷;可批量轉(zhuǎn)換dwg圖形文件,便于今后應用。
(3)各種參數(shù)固化到軟件中,對轉(zhuǎn)換過程進行封裝,多步驟轉(zhuǎn)換過程實現(xiàn)一鍵操作,降低出錯幾率,提高了工作效率。
[1]石家莊市國土資源局.石家莊市測量數(shù)據(jù)整合工程總體技術方案[R].2010.
[2]石家莊市勘察測繪設計研究院.建立石家莊城市坐標系技術總結[R].2011.
[3]杜蘭,王若璞,王占統(tǒng)等.平面坐標轉(zhuǎn)換參數(shù)的解耦算法[J].測繪通報,2012(1):26~28.
[4]邱衛(wèi)寧,陶本藻,姚宜斌等.測量數(shù)據(jù)處理理論與方法[M].武漢:武漢大學出版社,2008.
[5]孔建,姚宜斌,許雙安.整體最小二乘求取坐標轉(zhuǎn)換參數(shù)[J].大地測量與地球動力學,2010,30(5):74 ~78.