基于AutoCAD二次開發(fā)的高斯投影轉(zhuǎn)等積割圓錐投影
目前測制地形圖使用的高斯坐標是等角投影,存在面積變形,而在利用地形圖進行大面積土地量算時要求應(yīng)用等積投影地形圖。本文針對如何在CASS 成圖軟件中實現(xiàn)高斯投影轉(zhuǎn)換為等積割圓錐投影進行闡述,開發(fā)了投影轉(zhuǎn)換功能菜單并進行了轉(zhuǎn)換有效性驗證,擯棄了傳統(tǒng)的借助其他GIS 軟件進行投影轉(zhuǎn)換再求積的工作程序。
一、引言
在土地開發(fā)整理項目中,地形圖是基于高斯等角投影坐標系測制的,為了編制專題地圖,在提交項目成果時往往又需要提交用等積割圓錐投影制作的測區(qū)地形圖。將CASS 成圖軟件測制的高斯投影地形圖轉(zhuǎn)換成等積割圓錐投影地形圖可以借助現(xiàn)有的各種GIS 軟件來實現(xiàn),但這涉及兩個以上的應(yīng)用軟件及不同的圖形格式轉(zhuǎn)換問題。為了簡化地圖投影轉(zhuǎn)換工作程序,避免轉(zhuǎn)換圖形數(shù)據(jù)差錯,提高制圖效率,本文在AutoCAD 平臺上進行二次開發(fā),設(shè)計了投影轉(zhuǎn)換程序作為CASS 軟件的一項功能,功能同時包括對不同分類地塊的面積統(tǒng)計,并對其轉(zhuǎn)換結(jié)果進行了比較驗證。
二、投影轉(zhuǎn)換模型
1、高斯-克呂格投影
高斯-克呂格投影簡稱高斯投影,是一種等角橫切橢圓柱投影,由高斯于19 世紀20 年代擬定,后經(jīng)克呂格進行修改補充得到的一種投影。除1∶ 100萬國際地圖外,我國的基本比例尺地形圖和各種大比例尺工程地形圖均采用高斯投影坐標系統(tǒng)測制成圖。高斯投影沒有角度變形,長度和面積變形也較小,中央經(jīng)線無變形,自中央經(jīng)線向投影帶邊緣變形逐漸變擴大。高斯投影的圖形保持了相似性和某點在各方向上長度比的同一性,同時采用分帶法則,使得各帶之間能夠使用相同的方式進行坐標計算,這使得高斯投影在世界各國得到了廣泛應(yīng)用。
由高斯平面坐標( x,y) 計算地理坐標( φ,λ) 可用高斯投影反算公式實現(xiàn)。
2、等積割圓錐投影
正軸等積割圓錐投影( 即Albers 投影) [2]是一種具有雙標準緯線的等積投影,該投影能夠保證面積不變,緯線投影后為同心圓圓弧,經(jīng)線投影后為圓弧的半徑,經(jīng)線之間的夾角和經(jīng)差成正比。正軸等積圓錐投影是按照等積條件函數(shù)ρ = f( φ) 的形式所確定的一種圓錐投影,它要求投影之后各個制圖區(qū)域的面積大小保持不變,即面積比等于1( P = a·b = 1) ,其一般公式如下
式中,ρ 為緯線投影半徑; λ 為地球橢球上兩條經(jīng)線的夾角; δ 為兩條經(jīng)線夾角在平面上的投影; m、n 中數(shù)字大者為a; α、C 為投影常數(shù); F 為經(jīng)差1 弧度從赤道至緯度φ 的橢球面上的梯形面積,單位為km2。
3、地圖投影變換方法
地圖投影變換的實質(zhì)是建立兩個面場中各個點之間的一一對應(yīng)關(guān)系。常用的投影變換有3種:解析變換法、數(shù)值變換法和數(shù)值解析變換法。
1) 解析變換法是找出兩個投影間坐標變換的公式,分為正解變換法和反解變換法。正解變換法是不需要反解出原地圖投影點的地理坐標而直接求出兩種坐標系下投影點的直角坐標關(guān)系式的方法; 而反解變換法則需要先反解出地理坐標。
2) 數(shù)值變換法是用于計算原投影點的坐標解析式未知,或不易求出兩投影之間的直接關(guān)系而采用的一種多項式逼近方法。
3) 數(shù)值解析變換法是當已知新投影的公式,但不知道原投影的公式時所采用的一種組合辦法。其先利用數(shù)值變換求出原地圖投影點的地理坐標,然后利用解析變換法求出新投影點的坐標。
本文采用將高斯-克呂格投影平面直角坐標( x,y) 轉(zhuǎn)換為地理坐標( φ,λ) ,然后再利用該地理坐標轉(zhuǎn)換為等積割圓錐投影下的平面直角坐標( X,Y) 的方法進行這兩種投影之間的轉(zhuǎn)換,即解析變換法。
三、地圖投影轉(zhuǎn)換實現(xiàn)
目前,大多數(shù)土地整理及地籍測量的地形圖普遍采用CASS 軟件進行繪制,而CASS 軟件是基于AutoCAD 平臺的二次開發(fā)程序。本文采用C#語言對AutoCAD 進行二次開發(fā)實現(xiàn)高斯投影到等積割圓錐投影的轉(zhuǎn)換,利用AutoCAD 本身的相關(guān)特性,可方便地將DWG 格式的地形圖從高斯投影轉(zhuǎn)換為等積割圓錐投影下的地形圖,以便于面積的量算和統(tǒng)計,免去了利用其他軟件進行轉(zhuǎn)換而需要諸多的數(shù)據(jù)格式轉(zhuǎn)換及繁瑣的程序操作。
該算法的實現(xiàn)采用Visual Studio 2010 編譯器,結(jié)合AutoCAD 2006,使用C#語言開發(fā)出托管DLL文件。在AutoCAD 中,利用netload 命令加載該DLL文件,即可輸入C#開發(fā)的AutoCAD 命令來實現(xiàn)相關(guān)的功能。
本文使用的投影轉(zhuǎn)換程序設(shè)計框圖如圖1所示。
數(shù)據(jù)圖形轉(zhuǎn)換過程中需保持各圖元的屬性不變,以便繼續(xù)用CASS 軟件編輯等積圖形。轉(zhuǎn)換模型中考慮了因測區(qū)高程不同而引起的圖塊面積變化因素,并依據(jù)膨脹橢球法原理采用輸入測區(qū)高程的方法予以修正計算。另外,設(shè)計了投影轉(zhuǎn)換前后各分類面積統(tǒng)計算法和統(tǒng)計報表的輸出。
圖1 AutoCAD 二次開發(fā)實現(xiàn)投影轉(zhuǎn)換流程圖
五、結(jié)束語
本文所述基于AutoCAD 二次開發(fā)的高斯投影轉(zhuǎn)等積割圓錐投影軟件功能,能夠在最常用的CASS測圖軟件中直接進行圖形投影轉(zhuǎn)換,彌補了CASS軟件的不足,減少了以往需借助其他GIS 軟件進行投影轉(zhuǎn)換帶來的不便和數(shù)據(jù)丟失,提高了工作效率,轉(zhuǎn)換精度可靠,可提高大面積土地面積量算的準確度。實踐證明,通過該方法進行轉(zhuǎn)換和利用程序?qū)崿F(xiàn)的結(jié)果能夠滿足實際生產(chǎn)的需要。