Excel函数进行测量坐标批量计算的编程应用
陈 兵 何红玲
(中国一冶集团有限公司,湖北 武汉 430080)
关键词 Excel函数 测量坐标 坐标计算
1 前言
提起Excel电子表格,我们往往想起它在办公管理、统计财经、金融等众多领域的应用,可以进行各种数据的处理、统计分析和辅助决策操作,然而Excel中函数对于测量行业也能发挥不小的作用,比如在高速公路项目中,要花费大量时间对线路放样坐标进行逐桩计算和校核,采用传统的方法去计算这些坐标,很是费时费力,而且效率不高,而运用Excel电子表格中的函数功能编缉公式,实现逐桩坐标批量计算,可大大提高工作效率,减少计算错误,实现便捷化工作模式。
2 测量坐标计算依据
2.1 方位角与象限角的关系
由坐标纵轴的北端或南端起,沿顺时针或逆时针方向量至直线的锐角,称为该直线的象限角,用R表示,其角值范围为0?~90?。如图1所示,直线01、02、03和04的象限角分别为北东R01、南东R02、南西R03和北西R04,则直线方位角和象限角的位置关系如图2,坐标方位角与象限角的换算关系如表1:
图1 象限角
表1 方位角与象限角的换算关系 象限 Ⅰ北东 Ⅱ 南东 Ⅲ 南西 Ⅳ 北西
坐标增量 △x>0,△y>0 △x<0,△y>0 △x<0,△y<0 △x>0,△y<0 由象限角求方位角 α01=R01 α02=180-R02 α03=180+R03 α04=360-R04 由方位角求象限角 R01=α01 R02=180-α02 R03=α03-180 R04=360-α04
2.2 坐标正算和反算 2.2.1.坐标正算
根据已知点的坐标,已知边长及该边的坐标方位角,计算未知点的坐标的方法,称为坐标正算。
如图3所示,A点为已知点,坐标为XA 、YA,已知AB边长DAB,坐标方位角为αAB,要求B
点坐标XB、YB。由图3可知 XB=XA+△XAB YB=YA+△YAB 其中
△XAB= DABcosα
AB
图2 方位角与象限角的关系
△YAB= DABsinαAB
上面式中sin和cos的函数值随着α所在象限的不同有正、负之分,因此,坐标增量同样具
图3 坐标正算和反算
有正、负号。其符号与α角值的关系如表2所示。
表2 坐标增量的正负号 象限 Ⅰ Ⅱ Ⅲ Ⅳ
2.2.2.坐标反算
根据两个已知点的坐标求算出两点间的边长入其方位角,称为坐标反算。 由图3可知
方向角α 0°~90° 90°~180° 180°~270° 270°~360° cosα + - - + sinα + + - - △X + - - + △Y + + - - DAB?(?X2AB2??YAB)?(XB?XA)2?(YB?YA)2 RAB= arctan︱(△YAB/△XAB)︱
此时得出的角值只是象限角,还必须根据坐标增量的正负,结合表1和表2将象限角换算成坐标方位角。
例如:已知两控制点,A点(XA=20980.827,YA=27462.952),B点(XB=20965.160,YB=27442.833),求两点坐标间水平距离及A点到B点的坐标方位角。 第一步,求X、Y坐标增量(△XAB、△YAB)
△XAB= XB- XA=-15.667 △YAB= YB- YA=-20.119
第二步,求两点间的水平距离(DAB) DAB?(?X2AB2??YAB)?25.500
第三步,求A B直线边的象限角(α)
RAB= arctan︱(△YAB/△XAB)︱=52°05′29.45″
第四步,判别求出的象限角RAB在哪个象限,得出真正的坐标方位角
△XAB=-15.667<0,△YAB= -20.119<0,所以AB边方向位于第Ⅲ象限,得出α
=180+RAB=232°05′29.45″。
方位角计算步骤并不复杂,但是如果需要计算的数量多,用传统的计算方法来一一计算,工作量也就很大,而且在判断象限时很容易出错,即使使用编程计算器,也要一一输入已知数据,对应一一记录计算结果,仍是较慢,如果利用Excel中的函数编写程式来进行批量计算方位角就很方便,而且便于结果数据集成及拓展应用。
AB
3 Excel电子表进行坐标计算的公式编缉
3.1 Excel编缉公式进行方位角计算
如下图表3 ,是Excel编缉公式进行方位角计算的一个电子表 表3 坐标方位角计算Excel电子表
利用Excel电子表中的函数公式,编缉时依次在单元格中输入以下公式: B4=XA、C4=YA、D4=XB、E4=YB; F4=D4-B4; G4=E4-C4;
H4=SQRT(POWER(F4,2)+POWER(G4,2)); I4= ATAN(ABS(IF(OR(F4=0,G4=0),0,G4/F4)));
K4= IF(F4>=0,IF(F4=0,IF(G4=0,\、B为同一点\J4,360-J4))),IF(G4=0,180,IF(G4>0,180-J4,180+J4)));
L4=TEXT(K4/24,\°mm′s.00″\。 说明:
1.上式中ATNT()为反正切值,ABS()为数值的绝对值,POWER()为数值的乘幂。
2.I4单元格中加入了一个判断选择项,当增量△X、△Y均为0或某一项为0时,结果都会显示为0值,不然△X=0时会显示“被零除”错误,但都不会影响最后方位角象限的判断和计算结果。此时I4单元格计算的结果是弧度制,不能显示成常用的“度分秒”格式,再用DEGREES()函数把弧度转换成十进制“度分秒”角度。
3.K4单元格中是一组判断象限角所在象限的程式,当F4>0,G4>0时,程式会自动定为第Ⅰ象限;当F4<0,G4>0时,程式会自动判定为第Ⅱ象限;当F4<0,G4<0时,程式自动判定为第
相关推荐: