李杰
(石家莊市勘察測繪設計研究院,河北石家莊 050019)
根據國家測繪局2008年第2號公告要求,各地加緊建立適合于地方的基于2000地球橢球的坐標系統。隨著新坐標系統的建立,為了保證原有數據的有效利用,坐標系轉換工作的緊迫性日益凸顯。
商業轉換軟件通用性強,在控制測量以及少量坐標數據轉換時能夠滿足需要,面對大量多源數據和復雜多步驟轉換時則顯得無能為力或事倍功半。例如:各種大量矢量圖形(如dwg、dgn等圖形數據)的轉換;一些需要多步驟組合(如先換帶再轉換等)才能完成的轉換等。
基于以上情況,想要便捷、準確實現坐標系轉換,有必要結合當地實際情況研發自己的坐標系轉換軟件,將各種日常參數固化到軟件中,把各種組合轉換集成為一鍵操作,減少出錯幾率,提高工作效率。
石家莊市勘察測繪設計研究院中標承擔了“建立石家莊城市坐標系統”項目,根據項目技術方案要求,需要編制石家莊坐標系統轉換軟件,實現石家莊目前各種坐標系之間的轉換,本文將結合該項目闡述坐標轉換的編制過程,本文不涉及轉換求參,只探討軟件編制問題。
20世紀50年代,石家莊市的建設部門建立石家莊地方坐標系統,經3次重大改造和擴測,一直使用至今;近十年來,石家莊市國土資源局和市房產局建立石家莊市坐標系,以滿足城市發展中不同專業、不同用途和對控制面積上的需求。
截至目前,石家莊市主要涉及3個國家坐標系和2個地方坐標系,分別是1954年北京坐標系、1980西安坐標系和新建立的2000國家大地坐標系以及石家莊地方坐標系和石家莊市坐標系。
基于“共建共享”目的,石家莊市政府要求整合現有的坐標系統,以便統一到新建立的2000國家大地坐標系上,編制坐標系統轉換軟件成為今后啟用、推行和應用新坐標系的重要抓手。
考慮到編程的便捷性,選擇基于.NET Framework框架,選用Visual Studio 2005為開發平臺,AutoCAD作為輔助圖形平臺來完成軟件研發工作。
結合項目技術方案以及實際需要,將軟件功能分為5個功能模塊,分別是登錄、轉換、高斯換算、求解轉換參數和幫助模塊。
坐標轉換屬于涉密工作,轉換參數應嚴格保密,因此軟件設計了登錄模塊,具體功能有用戶注冊、用戶登錄、刪除用戶、更改密碼和日志管理等,通過用戶名與密碼設定管理權限。
初次登錄需要授權才能使用,計算機不存儲用戶密碼原碼,只存儲其散列碼,原碼與散列碼之間轉換的不可逆性,可以起到較好的保密效果。
坐標系轉換是軟件的核心部分,主要功能有:源坐標系和目的坐標系的選取、坐標源文件與目的文件的選取、平面轉換四參數的調存(包含讀取、調取和保存參數)、坐標文件轉換、單點轉換以及矢量dwg數據轉換等。
通過列表框選擇各種坐標系,根據轉換坐標系名稱,調用固化在軟件中的轉換參數,固化轉換參數隱藏顯示,以起到保密作用。僅當選擇自定義坐標系轉換時才彈出轉換參數對話框,輸入參數進行轉換。
為實現方便快捷轉換,我們在數據處理細節上進行了挖掘。如:坐標數據文件分隔符可以是“,”、“;”、“”或TAB等,不論是中文英文還是全角半角,均能自動識別;單點轉換時,支持從 WPS、Word、Excel、Auto-CAD中直接粘貼數據,支持在AutoCAD中直接點選坐標等,錄入數據便捷,用戶體驗感覺上佳;為了提高轉換效率,將通常需要幾步轉換的組合操作集成在一起,實現一鍵轉換,減少出錯幾率。
dwg數據轉換功能針對AutoCAD圖形文件轉換,提供3種轉換方式。第1種,基于整幅圖的快速轉換,根據當前圖形的左下角與右上角坐標實施快速兩點轉換,用時短,精度低;第2種,基于實體的快速變換,創建選擇集,遍歷實體,獲取實體的矩形包圍盒完成轉換,用時較短,精度較高;第3種,基于坐標點的嚴密轉換,通過判定實體的類型,獲取其特征點坐標,逐點轉換,耗時長,精度最高。實際轉換時,可根據項目精度需求選擇其中一種方式轉換,靈活便捷。
主要有高斯正算、反算、換帶與dwg圖形轉換功能,同時提供大地主題計算工具。
高斯正算與反算完成指定橢球下經緯度與直角坐標的互算,高斯換帶完成不同中央子午線下直角坐標的計算,dwg圖形轉換功能與換帶配合使用;大地主題計算主要完成特定橢球下諸如各種球面半徑、子午線收斂角、大地距離與方位以及球面面積等的計算。
根據源坐標文件與目的坐標文件,首先進行坐標重心化處理,然后利用最小二乘法求解坐標系之間轉換的平面四參數,并給出精度評定,提供參數保存工具,以備坐標系轉換模塊調用。
介紹軟件的安裝、注冊、運行以及操作,便于初學者掌握軟件使用方法。
軟件編制過程中,關鍵點為數學模型的選取。軟件涉及的主要數學模型有高斯正反算和換帶模型、大地主題計算相關模型和平面四參數變換模型等。前兩個模型各教科書和參考書上多有明確的計算公式,直接引用或組合計算即可;平面四參數變換模型多數資料上求解相對復雜,要進行誤差方程線性化繁瑣。
本文平面四參數變換求解采用坐標系轉換參數的解耦算法[3],較總體最小二乘平差方便直觀,易于編程實現。平面四參數轉換模型為:

式中,X1,Y1為源坐標,X2,Y2為目的坐標,dx,dy為平移參數,m為尺度參數,α為旋轉參數。
首先,根據源坐標數據和目的坐標數據分別計算出各自的重心坐標X1G、Y1G和X2G、Y2G,將各點坐標分別重心化得到點集;其次計算∑()的平方根得到縮放系數m,計算∑的反余切得到旋轉角度 α,將 X1G、Y1G和 X2G、Y2G以及求得的 m、α 代入式(1)計算出dx,dy;最后根據四參數進行精度評定。
軟件測試采用白盒測試與黑盒測試相結合(以黑盒測試為主)的方式進行,確保軟件使用正確性。
白盒測試針對主要數學模型,由精通測繪與編程的人員對程序源代碼進行檢查。
黑盒測試主要采用算例進行,通過與實測數據和商業軟件結果比對,驗證軟件輸出結果的正確性。檢查人員分為2組,第1組2人為專業測繪技術人員,具備10年以上相關測繪經驗,從測繪專業角度驗證軟件;第2組2人為有編程經歷人員,從計算機軟件學角度驗證軟件。
測試時,要求2人獨立測試或其中1人測試另1人旁站檢查,做到檢測結果正確無誤。測試出現問題時,兩人首先達成一致意見,共同核準,確有分歧時,由項目負責人召集相關人員進行商定。
填寫軟件檢查記錄,測試結束后,編寫檢查報告。
石家莊坐標系統轉換軟件,經過測試與試用,用戶反映良好,主要特點如下:
(1)功能齊全,操作便捷,達到(局部超過)項目方案的技術要求。
(2)數據輸入智能化、自動化,能識別多種格式的數據,粘貼到輸入框后能自動分離至相應輸入框,錄入便捷;可批量轉換dwg圖形文件,便于今后應用。
(3)各種參數固化到軟件中,對轉換過程進行封裝,多步驟轉換過程實現一鍵操作,降低出錯幾率,提高了工作效率。
[1]石家莊市國土資源局.石家莊市測量數據整合工程總體技術方案[R].2010.
[2]石家莊市勘察測繪設計研究院.建立石家莊城市坐標系技術總結[R].2011.
[3]杜蘭,王若璞,王占統等.平面坐標轉換參數的解耦算法[J].測繪通報,2012(1):26~28.
[4]邱衛寧,陶本藻,姚宜斌等.測量數據處理理論與方法[M].武漢:武漢大學出版社,2008.
[5]孔建,姚宜斌,許雙安.整體最小二乘求取坐標轉換參數[J].大地測量與地球動力學,2010,30(5):74 ~78.