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