EXCEL VBA测量平差程序编写11—求方位角及坐标
1、计算表格如下,已将观测的原始数据输入计算表格,并对角度进行平差,可查看我的其他几篇经验。
2、编写求方位角及坐标增量的程序,具体如下:
Sub jisuan7f()
Dim jiajiao As String
Dim cstart As String
Dim cend As String
Dim fangwei As Double
Dim side As String
Dim zeliangX, zeliangY As Double
Dim nRow As Integer
nRow = 6
Dim i, n As Integer
n = ThisWorkbook.Worksheets("sheet1").Range("v8").Value '测站数
cend = ThisWorkbook.Worksheets("sheet1").Cells(5 + n * 2, 8).Value
cend = Angle(cend)
For i = 1 To n - 1
cstart = ThisWorkbook.Worksheets("sheet1").Cells(nRow - 1, 8).Value
cstart = Angle(cstart)
jiajiao = ThisWorkbook.Worksheets("sheet1").Cells(nRow, 5).Value
jiajiao = Angle(jiajiao)
fangwei = Val(cstart) + Val(jiajiao)
If fangwei > 180 Then
fangwei = fangwei - 180
Else
fangwei = fangwei + 180
End If
If fangwei > 360 Then
fangwei = fangwei - 360
End If
ThisWorkbook.Worksheets("sheet1").Cells(nRow + 1, 8).Value = dfm2(fangwei)
side = ThisWorkbook.Worksheets("sheet1").Cells(nRow + 1, 11).Value
zeliangX = Cos(fangwei * 3.1415926 / 180) * side
ThisWorkbook.Worksheets("sheet1").Cells(nRow + 2, 12).Value = Round(zeliangX, 3)
zeliangY = Sin(fangwei * 3.1415926 / 180) * side
ThisWorkbook.Worksheets("sheet1").Cells(nRow + 2, 13).Value = Round(zeliangY, 3)
nRow = nRow + 2
Next
End Sub
3、方位角和坐标增量的计算主要应用坐标反算公式。
4、推算方位角的公式如下,这里按左角公式计算。
5、方位叫推算程序如下:
6、运行程序
7、程序执行结果如下: