1、
用电子表格进
行流速计算
用电子表格进行流速计算
电子表格功能强大,我们可以用它来完成很多工作。在测量工作中,就可以用它来完成流速的计算。在对河流的测量工作中,经常要进行流速的测量。
在测量流速时,我们一般先在需要测量河段的两岸选择适当的地点设置测站,架设经纬仪或全站仪(两个地点的平面坐标已知且视线开阔),且这两个站互为后视;然后在测量河段的上游方抛下一漂浮物,两测站都用仪器瞄准,并随着它的移动而移动;最后由第三人在间隔固定时间的计数(如20秒一次),两测站随着计数观测记录。如图:
在观测
2、完成后,我们就进行计算。电子表格功能强大,我们可以编制适当的函数,用电子表格完成。先新建一电子表格文档,打开VB编辑器,插入模块,在模块中编辑以下程序,完成后将文档保存为“加载宏”格式。(这个步骤一次完成,以后就不再做了)如图:
一、先编辑计算p点坐标的程序
如图所示,在A、B两已知点架设经纬仪,测得已知方向与AP、BP的测角α、β。P点的坐标计算公式如下:
根据这个公式,在电子表格中用VBA编制程序计算P点的坐标。
1、建立函数S(v) 完成正弦函数tan()的计算。
由于我们的观测数据都是用度分秒表示,如59°40′28″,在电子表格中输为59.4028
3、而在计算时都需要换算为弧度。我们用x°y′z″表示一个角,用w表示这个角的弧度值,则计算公式为
w=(x+y/60+z/3600)*π/180
函数S(v)的程序为:
Public Function s(v As Double) As Double
Dim x As Integer
Dim y As Integer
Dim z As Integer
Dim w As Double
x = v
y = (v - x) * 100
z = (v - x - y / 100) * 10000
w = (x + y / 60 + z / 3600
4、) * 3.14159265357989 / 180
s = Tan(w)
End Function
2、建立函数xp,yp完成p点的坐标计算
用x1,y1表示A站坐标,x2,y2表示B站坐标,a表示角α,b表示角β。
函数xp的程序为:
Public Function xp(x1 As Double, y1 As Double, x2 As Double, y2 As Double, a As Double, b As Double) As Double
Dim x As Double
Dim y As Double
Dim z As Double
x
5、 = x1 * s(a)
y = x2 * s(b)
z = (y2 - y1) * s(a) * s(b)
xp = Round((x + y + z) / (tan(a)+ tan(b)), 3)
End Function
函数yp的程序为:
Public Function yp(x1 As Double, y1 As Double, x2 As Double, y2 As Double, a As Double, b As Double) As Double
Dim x As Double
Dim y As Double
Dim z As Dou
6、ble
x = y1 * s(a)
y = y2 * s(b)
z = (x1 - x2) * s(a) * s(b)
yp = Round((x + y + z) / (tan(a)+ tan(b)), 3)
End Function
二、编辑计算两点间距离的程序
计算两点间距离公式为
根据上式,编辑函数d( ),计算两点间的距离
Public Function d(x1 As Double, y1 As Double, x2 As Double, y2 As Double) As Double
Dim x As Double
Dim y As
7、 Double
Dim z As Double
x = x1 - x2
y = y1 - y2
z = x * x + y * y
d = Round(Sqr(z),2)
End Function
在计算流速时,我们新建一电子表格文档,先加载宏“流速计算”,如图:
然后在输入站A,B的坐标以及两站的观测值,如图:
2行为A站的坐标,3行为B站的坐标,A列为A站的测角,B列为B站的测角。
然后在C4单元格输入公式,如图
在D4输入公式,如图
将C4的公式复制到C5:C8,将D4的公式复制到D5:D8,然后在E5输入公式(假定观测时间为20秒),如图:
将E5的公式复制到E6:E8,就完成了流速的计算,如图:
8