logo资料库

七参数法坐标转换在EXCEL VBA中的实现.pdf

第1页 / 共3页
第2页 / 共3页
第3页 / 共3页
资料共3页,全文预览结束
doi:檶檶檶檶檶檶檶檶檶檶檶檶殞殞殞殞10.3969/j.issn.1001-358X.2015.01.25计算机应用七参数法坐标转换在EXCELVBA中的实现赵淑湘(甘肃林业职业技术学院,甘肃天水741020)摘要:文中介绍了使用Bursa(布尔莎)数学模型进行七参数坐标转换的方法与步骤,并基于EXCELVBA平台开发了参数求解及坐标转换的自定义函数。由此,不但方便了计算,而且易于数据管理,具有很好的实用性。关键词:七参数法;坐标转换;EXECLVBA;实现中图分类号:P209文献标识码:B文章编号:1001-358X(2015)01-0074-03在测绘生产中,特别是随着全球导航卫星定位系统(GNSS)的广泛应用,往往会涉及到不同坐标系之间的转换问题,常见的有WGS-84坐标系与国家坐标系以及不同国家坐标系之间的转换。严格的转换方法应采用经典的七参数法,一般有布尔莎、莫洛金斯基和范士等数学模型,尽管这些模型对公共点的坐标精度、高程系统和公共点的图形强度以及数量均有严格要求,但与平面四参数法相比较,其精度更优,使用更广泛。MicrosoftOfficeExcel是一款集数值运算和数据管理的自动化办公软件,不但函数功能强大,还可以通过自带的VBA平台进行二次开发。因此,基于VBA平台开发了七参数法坐标转换的自定义函数,与其它专门的坐标转换软件相比较,使用方便,操作简单,易于管理,实用性更强。1七参数法坐标转换的方法与步骤设[XTiYTiZTi]和[XiYiZi]分别表示第i点在直角坐标系OT-XTYTZT和O-XYZ中的坐标值,则O-XYZ向OT-XTYTZT坐标系转换的公式为:XTiYTiZTi=100Xi0-ZiYi010YiZi0-Xi001Zi-YiXi0·M+XiYiZi(1)式中:M=[ΔX\ΔY\ΔZdk\εX\εY\εZ]T,即用于坐标转换的7个参数,其中3个平移参数ΔX、ΔY、ΔZ,3个旋转参数εX、εY、εZ和1个尺度变换参数dk;i=1、2、…、n。如n≥3,若设:Li=XTi-XiYTi-YiZTi-ZiBi=100Xi0-ZiYi010YiZi0-Xi001Zi-YiXi0L=[L1L2…Ln]TB=[B1B2…Bn]T则误差方程式为:V=BM^-L(2)若观测值为等权观测,即P=E,则可求出转换参数为:M^=(BTB)-1BTL(3)单位权方差为:δ0=±(VTV)/(3n-7)(4)2在EXCEL中的实现2.1代码实现在Excel2003界面下,点击菜单栏的“工具(T)”→“宏(M)”→VisualBasic编辑器(V)Alt+F11”,打开MicrosoftVisualBaic界面,并在该界面下点击菜单栏的“插入(I)”→“模块(M)”,打开模块代码窗口,编写如下代码,为节省篇幅,文中介绍两段代码的编写。OptionBase1'设置数组默认下标下界为1(1)'qcs()实现七参数求解PrivateFunctionqcs(ggdAsRange,OptionalydhAsInteger=1,OptionalmdhAsInteger=2)AsVa-riantIfydh<>1Andydh<>2Andydh<>347第1期2015年2月矿山测量MINESURVEYINGNo.1Feb.2015中国煤炭期刊网 www.chinacaj.net
Andydh<>4Thenydh=4Ifmdh<>1Andmdh<>2Andmdh<>3Andmdh<>4Thenmdh=4Ifydh=mdhThenqcs="#VALUE!":ExitFunction'原坐标和目标坐标代码相同时,退出函数Dimggdi,qc(7,2),csDimyb#,yl#,yh#,mb#,ml#,mh#,x#,y#,z#Dimyx#(),yy#(),yz#(),mx#(),my#(),mz#()Dimi%,j%,k%,m%,n#,a#(4),f#(4)a(1)=6378137:f(1)=298.257223563'"WGS84"a(2)=6378245:f(2)=298.3'"北京54"a(3)=6378140:f(3)=298.257'"西安80"a(4)=6378137:f(4)=298.257222101'"国家2000"qc(1,1)="△X(m)":qc(2,1)="△Y(m)"qcs=qcEndFunction(2)'qczh()实现七参数坐标转换PrivateFunctionqczh(yzbAsRange,qcsAsRange,OptionalydhAsInteger=1,OptionalmdhAsInteger=2)Ifydh<>1Andydh<>2Andydh<>3Andydh<>4Thenydh=4Ifmdh<>1Andmdh<>2Andmdh<>3Andmdh<>4Thenmdh=4Ifydh=mdhThenqcs="#VALUE!":ExitFunction'原坐标和目标坐标相同时,退出函数Dimyzbi,qcsi,i%,zh(3),a#(4),f#(4)Dimyb#,yl#,yh#,mb#,ml#,mh#,yx#,yy#,yz#,mx#,my#,mz#Dimdx#,dy#,dz#,dk#,cx#,cy#,cz#a(1)=6378137:f(1)=298.257223563'"WGS84"a(2)=6378245:f(2)=298.3'"北京54"a(3)=6378140:f(3)=298.257'"西安80"a(4)=6378137:f(4)=298.257222101'"国家2000"i=0ForEachyzbiInyzbi=i+1Ifi=1Thenyb=dfmzhd(yzbi.Value)Ifi=2Thenyl=dfmzhd(yzbi.Value)Ifi=3Thenyh=yzbi.ValueNextyzbii=0ForEachqcsiInqcsi=i+1Ifi=1Thendx=qcsi.ValueIfi=2Thendy=qcsi.ValueIfi=3Thendz=qcsi.ValueIfi=4Thendk=qcsi.Value/10^6Ifi=5Thencx=qcsi.Value/hdmIfi=6Thency=qcsi.Value/hdmIfi=7Thencz=qcsi.Value/hdmNextqcsiCallBLH_XYZ(yb,yl,yh,yx,yy,yz,a(ydh),f(ydh))mx=yx+dx+yx*dk-yz*cy+yy*czmy=yy+dy+yy*dk+yz*cx-yx*czmz=yz+dz+yz*dk-yy*cx+yx*cyCallXYZ_BLH(mx,my,mz,mb,ml,mh,a(mdh),f(mdh))'子过程XYZ_BLH实现空间直角坐标向大地坐标的转换zh(1)=hdzdfm(mb)'函数hdzdfm()实现弧度向度分秒的转换zh(2)=hdzdfm(ml):zh(3)=mh:qczh=zhEndFunction2.2界面运行自定义函数的使用方法与EXCEL内置函数相同。对于七参数求解:首先在任意空白单元格连续选定7行2列的区域,比如I1:J7;然后在编辑栏输入公式=qcs(B3:G5,1,3),同时按住[Ctrl]+[Shift]+[Enter]键,则返回七参数的值。对于坐标转换:在任意空白单元格连续(最好与所转换坐标的首行单元格相邻)选定1行3列的区域,比如E10:G10,然后在编辑栏输入公式=qczh(B11:D11,$J$1:$J$7,1,3),同时按住[Ctrl]+[Shift]+[Enter]键,则返回转换后的坐标57第1期赵淑湘:七参数法坐标转换在EXCELVBA中的实现2015年2月中国煤炭期刊网 www.chinacaj.net
值,运行界面见图2。图2自定义函数运行界面3结语本文基于ExcelVba编写的自定义函数简单实用,但为了能够得到正确结果,应注意以下几点:(1)自定义函数qcs的功能是根据公共点坐标完成转换参数的求解,其语法格式为qcs(array[,n1][,n2]),其中参数array为公共点坐标值,同一行数据顺序为源纬度、源经度、源H、目标纬度、目标经度、目标H;n1和n2分别为源坐标系和目标坐标系的代码,分别为:1—WGS-84,2—北京54,3—西安80,其它值为CGCS2000,n1省略时默认值为1,n2为2。(2)自定义函数qcs的功能是根据转换参数和源坐标值完成目标坐标值的计算,其语法格式为qc-zh(array1,array2[,n1][,n2]),其中参数array1为源坐标值,array2为转换参数(绝对地址引用),n1和n2同函数qcs。(3)纬度、经度的单位为度.分秒,3个旋转角的单位为秒,尺度变化dk的单位为ppm。参考文献:[1]赵淑湘.平面四参数法坐标转换在EXCELVBA中的实现[J].矿山测量,2014(1).[2]孔祥元等.大地测量学基础[M].武汉:武汉大学出版社,2005.[3]李政等.VBA应用基础与实例教程[M].北京:国防工业出版社,2009.[4]赵淑湘等.计算机测绘程序设计[M].郑州:黄河水利出版社,2012.作者简介:赵淑湘(1973-),男,甘肃省秦安县人,副教授。主要从事大地控制测量和测绘程序设计的教学工作。(收稿日期:2014-10-27檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸檸)(上接第2页)也未能引起多数一线测绘工作者的重视,因此,也就不能正确使用。以上论述,介绍了格网因子的概念,概述了高斯投影计算的方法,将两者计算过程有效的结合起来,通过计算分析,对于正确使用格网因子设置,并将其有效地应用到测绘工程的点位放样、距离放样中来,为进行高质量的测绘生产具有重要意义。参考文献:[1]孔祥元,梅是义.控制测量学.北京:测绘出版社[M].1989.[2]滕春江.利用全站仪格网因子抵消高程改化[J].测绘通报,2012,(5)66-68.[3]张晓东.矿山测量中地面勘探与地下扣合设计[J].矿山测量,2009,(2)18-20.[4]李巍,赵亮,张占伟,等.常用全站仪放样方法及精度分析,测绘通报,2012,(5)29-32.作者简介:张晓东(1964-)男,汉,甘肃甘谷人,教授,全国测绘行指委委员,主要从事测绘工程与地理信息的教学和研究工作。(收稿日期:2014-11-13)67第1期矿山测量2015年2月中国煤炭期刊网 www.chinacaj.net
分享到:
收藏