
利用Excel实现坐标转换功能.docx
2页利用Excel实现坐标转换功能 摘 要】以相似变换四参数模型、仿射变换六参数模型和正形变换六参数模型,建立最小二乘法为准那么进行间接平差的数学模型,利用Excel软件的宏程序VBA进行编程,求局部的不同坐标系间的转换参数,最后利用这些参数实现不同坐标系之间的相互转换利用高斯投影正反算公式和换带计算公式,利用Excel的公式计算功能实现高斯投影的正反算和换带计算关键词Excel宏程序;最小二乘算法;高斯投影正反算;相似变换;仿射变换;正形变换;换带计算0 引言随着gps,测量机器人等测量仪器的不断更新,工程建设中也越来越多的出现不同复杂情况,这就使坐标转换的问题凸显出来例如,北京54和西安80坐标换算是工程建设中经常遇见的问题,可使不同坐标系统下的测绘成果得到充分利用,因此快速准确地进行坐标转换是非常重要的再如,在GPS测量中,很多实测的点可能是大地坐标的形式输出,那么要将大地坐标转换为空间直角坐标也是要非常快速和重要的Excel作为常用的办公软件,几乎在每台微机上都有配备,所以使用Excel做相应的数据转换是非常方便且容易获取的在数字化测图时,应当是先进行控制测量,后进行地形图测量但是有许多时候,例如当要求在短期内要完成测图,而当地国家坐标又不能查到,为了赶时间,只得先采取假定坐标系进行控制和测图,最后采用坐标转换的方法转换成国家标准坐标系地形图。
在种情况下,可以采用“坐标换算〞、“图上转换〞等方法解决此类问题借助Excel中的VBA编程,就能方便的批量转换坐标,使得工作变得更加方便和快捷1 不同坐标系之间的相互转换1.1 数学模型的建立1.1.1 相似变换四参数模型1.1.2 仿射变换六参数模型1.1.3 正形变换六参数模型对于n个点对,公式〔1〕的相似变换模型可以建立的误差方程为对于n个点对,公式〔2〕的正形变换模型可以建立的误差方程为2.1 建立矩阵运算模块因为在运算中要进行矩阵的计算,所以要建立一个新的模块,这个模块有一系列的函数可以调用,从而实现矩阵求逆、转置、相乘等相关矩阵运算这是相关函数的自定义:PublicSubjzzz(a()AsDouble,at()AsDouble)acute;矩阵转置PublicSubjzxc(a()AsDouble,b()AsDouble,c()AsDouble)acute;矩阵相乘PrivateFunctionh(a()AsDouble)AsIntegeracute;计算矩阵行数PrivateFunctionl(a()AsDouble)AsIntegeracute;计算矩阵列数PublicFunctionjzqn(mtxAR()AsDouble)AsBooleanacute;矩阵求逆2.2 界面设计在Excel表格中设置的参考坐标系下的坐标和两个坐标系的同点坐标对,并固定至少三个同点坐标对如图1所示:在计算按钮双击事件中添加运算代码,PrivateSubCommandButton1_Click()。
jzzza(),at()‘矩阵转置jzxcat(),a(),c()‘矩阵相乘jzqnc()‘矩阵求逆jzxcc(),at(),d()‘矩阵求逆jzxcd(),l(),cs()‘矩阵求逆设计好的Excel宏,在使用的时候,只要点击Excel菜单栏上的工具>>宏〔M〕>>运行宏或者直接使用快捷操作Alt+F8就能启动宏此宏命令在平面坐标转换中如北京54平面坐标转西安80平面坐标可以相当快捷方便的使用,为工程计算带来便利3 高斯投影转换在工程中经常会遇见这样的问题,很多GPS测量设备或遥感数据只能提供当地的大地坐标,而真正工程使用却是平面坐标,那么就要通过确定的中央经线来进行高斯平面投影或换带计算,那么这些计算是相当复杂和繁重的这时,我们可以利用Excel公式计算功能,将既定的高斯投影公式输入到Excel表格中,从而实现准确迅速的计算3.1 坐标正算将公式输入Excel表中X=B9+D10*F9*(0.5*POWER(D9,2)+(1/24)*(5-POWER(F9,2)+9*B10+4*POWER(B10,2))*POWER(D9,4)+(1/720)*(61-58*POWER(F9,2)+POWER(F9,4))*POWER(D9,6))Y=D10*(D9+(1/6)*(1-POWER(F9,2)+B10)*POWER(D9,3)+(1/120)*(5-18*POWER(F9,2)+POWER(F9,4)+14*B10-58*B10*POWER(F9,2))*POWER(D9,5))Excel计算流程,1>输入点的大地经纬度坐标B、L、L0及椭球参数2>计算参数X、m、t、l、η2、N、L3>计算待求数据项X,Y。
计算结果如图43.2 高斯投影坐标反算本实例设计目的在于将投影平面坐标反算到大地坐标为了计算方便,改写高斯反算公式如下:L=F6+F10B=B9-((1+B10)/PI())*F9*(90*D9*D9-7.5*(5+3*F9*F9+B10-9*B10*F9*F9)*POWER(D9,4)+0.25*(61+90*F9*F9+45*POWER(F9,4))*POWER(D9,6))Excel计算流程,1>输入点的空间直角坐标X,Y,L0及椭球参数2>计算参数B计算待求数据项B,L计算结果如图4高斯投影虽然保证了角度没有变形这一优点,但其长度变形较为严重为了限制高斯投影的长度变形,必须依中央子午线进行分带,把投影范围限制在中央子午线东、西两侧一定的狭长带内分别进行但这又使得统一的坐标系分割成各带的独立坐标系于是,因分带的结果产生了新的矛盾,即在生产建设中提出各相邻带的相互联系问题这个问题是通过由一个带的平面坐标换算到相邻带的平面坐标利用高斯投影的正反算公式,亦可进行不同投影带坐标的换带计算其计算步骤如下:〔1〕根据高斯投影坐标x,y,反算得纬度B和经度差l;〔2〕由中央子午线的经度L0,求得经度L=L0+l;〔3〕根据换带后新的中央子午线经度L0acute;,计算相应的经差;〔4〕由高斯投影正算,求得新的高斯投影坐标xacute;,yacute;。
Excel计算流程,1>输入点的原坐标、原坐标带L0、拟转坐标带L0’及椭球参数2>计算参数项计算待求数据项X,Y计算结果如图44 结论与建议将Excel方便的宏VBA和公式计算功能应用于测量快速计算中,不仅有良好的界面,而且加快了数据处理的进程,为工程提供可视化计算和表格处理,让非专业的测量人员也可以方便使用本文仅在不同参考平面坐标系下的相互转换和高斯投影的相关坐标转换中做了简要的方法和理论讲述,在实际运用中,可以根据不同的工程工程特点设计Excel计算命令程序,使得工程计算中大大提高坐标转换的计算效率参考文献[1]武汉大学测绘学院测量平差学科组.误差理论与测量平差根底.武汉大学出出版社.[2]孔祥元,郭际明,刘宗泉.大地测量学根底.武汉大学出出版社.[3]李庆扬,等,编.数值分析.施普林格出版社.[4]徐振明,等,编.VisualBasic.Net程序设计与应用.中国水利水电出版社.[5]赵丹.基于vc++的常用大地坐标转换程序实现.铁道勘测与设计,2021.[6]严蔚敏,等,编.数据结构.清华大学出版社.[7]李宝玉,等,编.大比例尺数字化测图技术.西南交通大学出版社.[8]同济大学数学系编著.线性代数.高等教育出版社.[9]同济大学应用数学系主编.高等数学.高等教育出版社.[10]潘正风,等,编.数字测图原理与方法.武汉大学出版社.[11]杨晓明,等,编.数字测绘根底.测绘出版社.。












