1、用 Excel 计算距离和方位角以上表为例,新建一个 Excel 表格,用 10 个单元格 A、B、C 、D、E 、F 、G、H、I、J。A4、B4 分别输架站点的 X、Y 坐标,C4 、D4 分别输前视点(或后视点)的 X、Y 坐标。E4=C4-A4 ,F4=D4-B4,G4=ATAN(F4/E4)*180/PI(),或者 G4=DEGREES(ATAN(F4/E4) (ATAN 是反正切值 tan-1,PI()是圆周率 ,直接输 ATAN 和 PI(),DEGREES 是弧度转换角度)H4=IF(E4*F4 0,IF(E4 0,G4,180+G4),IF(E40, 180+G4,360+G
2、4),点 I4 右击鼠标选择设置单元格进入数字选择自定义,在类型下面框内编辑”hmmss”, 按确定,和 ”符号在电脑键盘上选择输,符号在输入法键盘单位符号上选择输。I4=H4/24,或者直接 I4=TEXT(H4/24, ”hmmss”),J4=SQRT(E42+ F42)或 J4=SQRT(E4* E4+ F4* F4)(SQRT 表示根号) 。架站点坐标一般不变,只不过前视点(或后视点)的坐标在变化,我们将架站点坐标 A4、B4 锁定成 $A$4、$B$4,将 E、F、G、H 单元格隐藏,只显示 6 个单元格。首先 Excelvba 界面(Alt+F11),之后“工程-VBAprojec
3、t”内(即显示着 Microsoft Excel对象和 sheet1 等等的地方) 右键-插入-模块,会得到一个“模块 1”,工作区会出现一个窗口,将以下红色代码复制到此窗口内即可。之后返回到 Excel 中,就可以和 Excel 的内部函数一样应用了。比如在 A1、B1、A2、B2 单元格内分别输入 A 点坐标 X1、Y1、B 点坐标 X2、Y2。在其他单元格内输入=FWJ(A1,B1,A2,B2) 便可得到从 A 点到 B 点的方位角了,在另一单元格内输入=JL(A1,B1,A2,B2)即可得到 AB 点间距离。VB 源码彩色显示 注:在code./code 内就以下面格式显示文字,双击源
4、码拷贝到剪切板Function FWJ(x1, y1, x2, y2) 求解两点方位角函数,返回结果为度Dim xx As Double, yy As Double, P As DoubleP = 3.14159265358979xx = x2 - x1yy = y2 - y1If xx = 0 Then FWJ = IIf(yy 0, Pi, 3 * P)If yy = 0 ThenFWJ = IIf(xx 0, 0, 2 * P)ElseFWJ = Atn(Abs(yy / xx)If yy 0 Then FWJ = IIf(xx 0, FWJ, P - FWJ)If yy 0, 2 * P - FWJ, P + FWJ)End IfFWJ = FWJ * 180 / PEnd FunctionFunction JL(x1, y1, x2, y2) 求解两点距离JL = Sqr(y2 - y1) 2 + (x2 - x1) 2)End Function