劉益林,劉小明,李勇
(連云港市勘察測繪院有限公司,江蘇連云港 222001)
Excel VBA在高斯投影換帶計(jì)算中的應(yīng)用
劉益林?,劉小明,李勇
(連云港市勘察測繪院有限公司,江蘇連云港 222001)
據(jù)城市測量坐標(biāo)系統(tǒng)的選擇應(yīng)滿足投影長度變形值不大于2.5 cm/km的原則,根據(jù)這一原則,每一個(gè)城市應(yīng)提出適合自身地理位置和高程的城市地方坐標(biāo)系統(tǒng),并應(yīng)建立國家坐標(biāo)與地方坐標(biāo)換帶計(jì)算關(guān)系,利用Excel VBA對原有的程序進(jìn)行二次開發(fā),減少了中間計(jì)算過程,提高了工作效率。
高斯投影;換帶計(jì)算;Excel VBA
Excel是辦公自動化中非常重要的一款軟件,很多巨型國際企業(yè)都是依靠Excel進(jìn)行數(shù)據(jù)管理。它不僅僅能夠方便的處理表格和進(jìn)行圖形分析,其更強(qiáng)大的功能體現(xiàn)在對數(shù)據(jù)的自動處理和計(jì)算。Excel 2003是大家在工作中經(jīng)常使用的辦公軟件之一,微軟為Excel 2003提供了二次開發(fā)的功能,只要對Excel 2003進(jìn)行一些二次開發(fā),就可以達(dá)到事半功倍的效果。初識Visual Basic編輯器,必須懂得一些簡單的VB編輯常識,打開Excel,按ALT+F11進(jìn)入Visual Basic編輯器。在菜單上依次點(diǎn)擊[插入]→[模塊],或在[工具]→[宏]→[visual編輯器],然后就可以輸入代碼。
本文按1954北京坐標(biāo)系的高斯投影正、反算及換帶計(jì)算,給出用Excel 2003實(shí)現(xiàn)的程序。
1.1 常用公式
(1)高斯投影正算和平面子午線收斂角公式
式中,X為軸子午線上大地緯度等于B的某點(diǎn)至赤道的子午線弧長;l=L-L0,L0為軸子午線經(jīng)度;為橢球的第一偏心率為橢球的第二偏心率;a為橢球的長半軸;b為橢球的短半軸。
(2)高斯投影反算公式
其中:Bf為底點(diǎn)緯度。
1.2 本程序采用的公式
為了提高計(jì)算效率對上述常用公式加以改化,并按克拉索夫斯基橢球參數(shù)計(jì)算有關(guān)系數(shù),現(xiàn)將公式匯集如下:
(1)正算及平面子午線收斂角公式
(2)反算公式
本程序可用于國家投影帶和地方任意投影帶的高斯投影正算(由B、L換算為x、y)、高斯投影反算(由x、y換算為B、L)。大地坐標(biāo)可計(jì)算至0.000 1″,高斯平面坐標(biāo)計(jì)算至0.1 mm。正算時(shí),本程序除給出平面子午線收斂角的結(jié)果外,還可以給出反算的結(jié)果以便校核,高斯平面坐標(biāo)中的橫坐標(biāo)輸入其計(jì)算值,本程序只計(jì)算3°帶坐標(biāo)正反算和地方坐標(biāo)之間的換算。計(jì)算時(shí),Y取其計(jì)算值,程序運(yùn)行時(shí)自動減去其帶號和加常數(shù)。
在程序編制的過程中,因計(jì)算機(jī)內(nèi)部計(jì)算采用的是弧度計(jì)算,而測量中采用的是度制計(jì)算,因此首先應(yīng)解決的60進(jìn)制角度的三角函數(shù)計(jì)算問題,即度分秒與度制之間的轉(zhuǎn)換,度制與弧度之間的轉(zhuǎn)換問題。
(1)度、分、秒→度
度、分、秒的表示為:小數(shù)點(diǎn)前為度,小數(shù)點(diǎn)后的前兩位為分,分后面則為秒。
(2)度→度、分、秒
(3)度→弧度
定義3個(gè)子程序Sub gszs()、Sub gsfs()、Sub gscj ()分別為3°帶國家坐標(biāo)正算、反算和城建坐標(biāo)系的計(jì)算,計(jì)算過程中可以相互調(diào)用??梢远x一個(gè)名為“換帶計(jì)算”的控件按鈕,指定此工具的宏為“換帶計(jì)算”,那么只需在相應(yīng)的單元格內(nèi)輸入數(shù)據(jù),點(diǎn)“換帶計(jì)算”按鈕,就可以得到計(jì)算結(jié)果。所有的過程均為自動,并可打印最終結(jié)果。Excel的格式見表1。程序源代碼的數(shù)據(jù)位置與表1的單元格對應(yīng)。
大地坐標(biāo)、國家3°帶坐標(biāo)、地方坐標(biāo)換算計(jì)算表 表1
程序源代碼如下:
Excel的二次開發(fā)功能非常強(qiáng)大,利用Excel的Visual Basic編輯器還可以開發(fā)出很多實(shí)用的測繪程序,如平時(shí)大家工作中附合導(dǎo)線概略計(jì)算,外業(yè)測圖檢查中坐標(biāo)點(diǎn)位精度自動統(tǒng)計(jì),可以大大提高工作效率。
[1]狄鋼.Excel VBA在城市工程測量中的應(yīng)用[J].城市勘測,2006(3)
[2]吳俊昶.PC-1500機(jī)BASIC程序設(shè)計(jì)與測量計(jì)算程序[M].北京:測繪出版社,1984
Application of Excel VBA in Gauss Zone Conversion
Liu YiLin,Liu XiaoMing,Li Yong
(Lianyungang Institute Co.,Ltd of Prospecting&surveying,Lianyungang 222001,China)
According to the choice of urban survey coordinate system,it should satisfy the projected length of the deformation should not overshoot 2.5cm/km,according to this principle,each city should be build its own coordinate system by its geographic location and elevation,and should establish relationship between state coordinate with the local coordinates for the zone conversion calculation,using Excel VBA to develop the original procedures of BASIC,we can reduce the middle of the process and enhance working efficiency.
Gauss projection;zone conversion calculation;Excel VBA
1672-8262(2010)05-128-03
P226.3
B
2009—12—18
劉益林(1970—),男,高級工程師,國家注冊土木工程師(巖土),主要從事城市工程建設(shè)測繪和檢測技術(shù)管理工作。