角度在Excel中的换算
- 格式:doc
- 大小:84.50 KB
- 文档页数:7
角度在Excel中的换算
为解决一些同仁急需了解角度在Excel表格中运算和显示的一些特征,特发表以下意见供参考:
1、60进制角度在Excel 中的运算:
不论是角度直接计算还是导入函数都应为:RADIANS(度+分/60+秒/3600);
2、坐标反算后的方位角(包括直线或曲线)的运算与显示:在Excel中整个角度运算都是以弧度为单位的。应该说弧度在数值运算中是最简便的,而60进制的角度只是我们阅读习惯问题,因此,为了解决这个问题,最好把参与运算的弧度放在后台,而适合我们阅读形式的°′″放在可读的单元格上。角度运算的最后结果怎样以度、分、秒形式显示呢?
①、最笨的办法作成三列显示。假设A10(在后台)为弧度,A1、A2、A3分别为度、分、秒
A1 =INT(DEGREES(A10));(取整角度)
A2 = INT((DEGREES(A10)-A1)*60);(余数乘60取整分)
A3 =(DEGREES(A10)-A1-A2/60)*3600。(再对剩余余数乘3600取秒)
以上三列构成一个60进制完整的角度值,可以再参与运算,其精度等同弧度。
②、在一列中直接显示带°′″的角度,设A1为放60进制角度单元格:
A1 =INT(DEGREES(A10]))&"°"&INT((DEGREES(A10)-INT(DEGREES(A10)))*60)&"′"&INT((((DEGREES(A10)-INT(DEGREES(A10)))*60)-INT(((DEGREES(A10)-INT(DEGREES(A10)))*60)))*60)&"″" 第二种显示为数值与文本的混合格式,其值不能参与普通数值运算,但可以作文本混合运算 。
Excel上面怎么编制程序
各位大师,Excel上面怎么编制程序?
我看到相关的问题,按照步骤来,到双击模块*
②、 将sub Rad()改写成Public Function Rad(y)
③、 将下列程序代码写入(或拷贝)到
就不知道怎么用了???
、在Excel中建立自定义函数
一、建立自定义函数
㈠、 录制宏:
①、 打开一个新的Excel工作薄
②、 选择“工具”菜单中的“宏”子菜单,从它的下级菜单中选择“录制新宏”
③、 在“录制新宏”对话框的“宏名”中输入要建立的函数名,例: Rad
④、 在“保存在”列表中选择“个人宏工作薄”
⑤、 左击“确定” ⑥、 在“停止录”对话框中左击蓝色的小方框
㈡、 写程序代码
①、 选择“工具”菜单中的“宏”子菜单,从它的下级菜单中选择“Visual Basic 编辑器”,双击模块*
②、 将sub Rad()改写成Public Function Rad(y)
③、 将下列程序代码写入(或拷贝)到
坐标反算代码
Public Function fsa(x1, y1, x2, y2)
Dim aa, a, b, b1, b2, b3, a1, x, y, a0
Const pi = 3.14159265358979
x = x2 - x1: y = y2 - y1
a = Atn(y / x)
If (x < 0 And y > 0) Or (x < 0 And y < 0) Then
a = a + pi
End If
If x > 0 And y < 0 Then
a = a + 2 * pi
End If
ab = a
aa = Sgn(ab): If aa < 0 Then ab = Abs(ab)
a0 = ab / pi * 180: b1 = Int(a0): a1 = (a0 - b1) * 60: b2 = Int(a1) / 100
b3 = (a1 - b2 * 100) * 60 / 10000
b = b1 + b2 + b3
fsa = b * aa
'计算的角度为:°′″(12.3645---12°36′45″)
End Function
将60进制角度化成弧度――2
Public Function rad(a)
Dim a1, a2, a3, a4, a5, aa
aa = Sgn(a)
If aa < 0 Then
a = Abs(a)
End If
a1 = Int(a)
a2 = Int((a - a1) * 100)
a3 = ((a - a1) * 100 - a2) * 100
a4 = (a1 + a2 / 60 + a3 / 3600) / 180 * 3.1415926535
rad = a4 * aa
End Function
化弧度为角度―――2
Public Function deg(a)
Dim a1, a2, a3, a4, a5, aa
aa = Sgn(a)
If aa < 0 Then
a = Abs(a)
End If
a1 = a / 3.1415926535 * 180
a2 = Int(a1)
a3 = Int((a1 - a2) * 60)
a4 = ((a1 - a2) * 60 - a3) * 60
a5 = (a2 + a3 / 100 + a4 / 10000) * aa
deg = a5
End Function
应用全站仪进行三角高程测量的新方法
应用全站仪进行三角高程测量的新方法
摘要:使用跟踪杆配合全站仪测量高程的方法越来越普及,使用传统的三角高程测量方法已经显示出了他的局限性。经过长期摸索,总结出一种新的方法进行三角高程测量。这种方法既结合了水准测量的任一置站的特点,又减少了三角高程的误差来源,同时每次测量时还不必量取仪器高、棱镜高。使三角高程测量精度进一步提高,施测速度更快。
关键词:全站仪 三角高程 测量 新方法
相关站中站: 工程测量
在工程的施工过程中,常常涉及到高程测量。传统的测量方法是水准测量、三角高程测量。两种方法虽然各有特色,但都存在着不足。水准测量是一种直接测高法,测定高差的精度是较高的,但水准测量受地形起伏的限制,外业工作量大,施测速度较慢。三角高程测量是一种间接测高法,它不受地形起伏的限制,且施测速度较快。在大比例地形图测绘、线型工程、管网工程等工程测量中广泛应用。但精度较低,且每次测量都得量取仪器高,棱镜高。麻烦而且增加了误差来源。
随着全站仪的广泛使用,使用跟踪杆配合全站仪测量高程的方法越来越普及,使用传统的三角高程测量方法已经显示出了他的局限性。经过长期摸索,总结出一种新的方法进行三角高程测量。这种方法既结合了水准测量的任一置站的特点,又减少了三角高程的误差来源,同时每次测量时还不必量取仪器高、棱镜高。使三角高程测量精度进一步提高,施测速度更快。
一、三角高程测量的传统方法
如图一所示,设A,B为地面上高度不同的两点。已知A点高程HA,只要知道A点对B点的高差HAB即可由HB=HA+HAB得到B点的高程HB。
棱镜高i
全站仪 B
A 图 一
图中:D为A、B两点间的水平距离
а为在A点观测B点时的垂直角
i为测站点的仪器高,t为棱镜高
HA为A点高程,HB为B点高程。
V为全站仪望远镜和棱镜之间的高差(V=Dtanа)
首先我们假设A,B两点相距不太远,可以将水准面看成水准面,也不考虑大气折光的影响。为了确定高差hAB,可在A点架设全站仪,在B点竖立跟踪杆,观测垂直角а,并直接量取仪器高i和棱镜高t,若A,B两点间的水平距离为D,则hAB=V+i-t
故 HB=HA+Dtanа+i-t (1)
这就是三角高程测量的基本公式,但它是以水平面为基准面和视线成直线为前提的。因此,只有当A,B两点间的距离很短时,才比较准确。当A,B两点距离较远时,就必须考虑地球弯曲和大气折光的影响了。这里不叙述如何进行球差和气差的改正,只就三角高程测量新法的一般原理进行阐述。我们从传统的三角高程测量方法中我们可以看出,它具备以下两个特点:
1、 全站仪必须架设在已知高程点上
2、 要测出待测点的高程,必须量取仪器高和棱镜高。
二、三角高程测量的新方法
如果我们能将全站仪象水准仪一样任意置点,而不是将它置在已知高程点上,同时又在不量取仪器高和棱镜高的情况下,利用三角高程测量原理测出待测点的高程,那么施测的速度将更快。如图一,假设B点的高程已知,A点的高程为未知,这里要通过全站仪测定其它待测点的高程。首先由(1)式可知:
HA=HB-(Dtanа+i-t) (2)
上式除了Dtanа即V的值可以用仪器直接测出外,i,t都是未知的。但有一点可以确定即仪器一旦置好,i值也将随之不变,同时选取跟踪杆作为反射棱镜,假定t值也固定不变。从(2)可知:
HA+i-t=HB-Dtanа=W (3)
由(3)可知,基于上面的假设,HA+i-t在任一测站上也是固定不变的.而且可以计算出它的值W。
这一新方法的操作过程如下:
1、 仪器任一置点,但所选点位要求能和已知高程点 通视。
2、 用仪器照准已知高程点,测出V的值,并算出W的值。(此时与仪器高程测定有关的常数如测站点高程,仪器高,棱镜高均为任一值。施测前不必设定。)
3、 将仪器测站点高程重新设定为W,仪器高和棱镜高设为0即可。
4、 照准待测点测出其高程。
下面从理论上分析一下这种方法是否正确。
结合(1),(3)
HB′=W+D′tanа′ (4)
HB′为待测点的高程
W为测站中设定的测站点高程
D′为测站点到待测点的水平距离
а′为测站点到待测点的观测垂直角
从(4)可知,不同待测点的高程随着测站点到其的水平距离或观测垂直角的变化而改变。
将(3)代入(4)可知: