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