四等水准测量报告.doc

更新时间:2023-06-11 20:56:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

测量实习报告

2009-2010学年第1学期 平差程序设计报告

课 程 号:024003

学 号:07270222

班 级:07级测绘工程2班 姓 名:蔡地 成 绩:

2010年 1 月 5 日

测量实习报告

一、实验名称:四等水准测量测站计算

二、实验目的:接合课上所学知识和以前的数字测图知识,设计程序来实现四等水准测量测

站计算(可进行几个测站的各要素计算,并输出到文件)。 三、设计思路

输入后尺前尺8个数据,并按照要求设置尺长常数。然后需要算出后视距、前视距、

后距差、每站高差及总高差。误差提示用msgbox函数显示。因为输入的数据按习惯是mm单位的,但结果是m来显示的,所以要注记单位。按钮的设计要满足数据计算的需要,比如计算是算本测站的,下一站的数据要累积上一站的数据,清除是在数据输入错误的时候清除用的,打开输出文件可以直接打开保存数据的文本,退出即可退出程序。 四、设计过程

1、设计界面

然后修改各文本框及标签的属性等,根据数据要求设置。然后调整字体颜色等,增加可视化效果。便于检验,附初始值。

测量实习报告

2、编写代码并调试过程

点计算按钮后,结果如下图

点击下一站后,测站数变为2,其它清空

视距差和总高差是需要累积的,所以不要清空。若点清除按钮除了测站数都会清空,重新输入。

输入下一站数据后,如有误差,则会有误差提示。 点退出按钮,即退出程序。 3,代码

Dim x(0 To 500) As Single Dim y(0 To 500) As Single Dim z(0 To 500) As Single

Public Sub clear() '清零过程 Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" Text8.Text = "" Text11.Text = "" Text12.Text = "" Text14.Text = ""

测量实习报告

End Sub

Public Sub first() End Sub

Dim i As Integer

For i = 0 To 100

x(i) = 0 '视距差 y(i) = 0 '每站高差 z(i) = 0 '累计差 Next End Sub

Public Sub sideng()

Dim a As Single '后尺 黑面上丝 Dim b As Single '后尺 黑面下丝 Dim c As Single '后尺 黑面中丝 Dim d As Single '后尺 红面中丝 Dim e As Single '前尺 黑面上丝 Dim f As Single '前尺 黑面下丝 Dim g As Single '前尺 黑面中丝 Dim h As Single '前尺 红面中丝 Dim m As Single '后尺 尺长常数 Dim n As Single '前尺 尺长常数 Dim Zy As Single '总高差

a = Val(Text1.Text) b = Val(Text2.Text) c = Val(Text3.Text) d = Val(Text4.Text) e = Val(Text5.Text) f = Val(Text6.Text) g = Val(Text7.Text) h = Val(Text8.Text) m = Val(Combo1.Text)

n = Val(Combo2.Text)

Text11.Text = (a - b) * 0.1 Text12.Text = (e - f) * 0.1

If Abs((a - b) * 0.1 - (e - f) * 0.1) >= 5 Then MsgBox "视距差超限", , "误差超限" End If

'后视距 '前视距 '

测量实习报告

If Abs(g + n - h) > 5 Then

MsgBox "误差超限:后尺黑红面高差之差超过5mm", , "误差显示" End If

If Abs(c + m - d) > 5 Then

MsgBox "误差超限:前尺黑红面高差之差超过5mm", , "误差显示" End If

If m > n Then

Text14.Text = (((c - g) + (d - h)) - 100) / 2 / 1000

Else:

Text14.Text = (((c - g) + (d - h)) + 100) / 2 / 1000 End If End Sub

Private Sub Command1_Click() Form1.sideng '调用四等

x(Text9.Text) = Val(Text11.Text) - Val(Text12.Text) z(Text9.Text) = z(Text9.Text - 1) + x(Text9.Text) y(Text9.Text) = Val(Text14.Text)

For n = 1 To Val(Text9.Text) '计算总高差 Zy = Zy + y(n) '总高差 Zx = Zx + x(n) '总视距差差 Next n

Text13.Text = Zx Text15.Text = Zy

If Zx > 5 Then MsgBox "视距差超过5m", , "视距差超限" '如果视距差大于5,则以提示框显示 视距差大于5m

Open "c:\123.txt" For Append As 1

Write #1, "经测站" & n - 1 & "测得高差为" & Text15.Text Close 1

测量实习报告

End Sub

Private Sub Command2_Click() Text13.Text = "" Text15.Text = ""

Form1.clear '清零过程 Text1.SetFocus

End Sub

Private Sub Command3_Click() '下一站

Form1.sideng '调用四等

x(Text9.Text) = Val(Text11.Text) - Val(Text12.Text) z(Text9.Text) = z(Text9.Text - 1) + x(Text9.Text) y(Text9.Text) = Val(Text14.Text)

Form1.clear '清零

Text9.Text = Text9.Text + 1 '测站累计 Text1.SetFocus

End Sub

Private Sub Command4_Click() '打开输出的文件 Shell "NotePad " & "C:\123.txt", vbNormalFocus

End Sub

Private Sub Command5_Click() End End Sub

Private Sub Text6_Change()

End Sub

测量实习报告

五、实验心得

平差程序设计是一门需要结合自己以前学过的测量平差课程和VB程序设计课程的课,在这次试验中,我通过自己的努力才完整的做出了这个程序,其中很多平差的知识也都忘了,在翻看了很多以前的作业和书籍后,才把程序的原理弄懂,而VB的知识也是在慢慢回忆中,才将这个程序做出,做完以后却发现还是有很多不够人性化的地方,比如不能自定义存储输出文件的位置,清空数据时也会导致很多问题,这只能待以后慢慢修正了。

这次的试验我学到了许多,真正了解了测量平差是多么重要的一门课。

本文来源:https://www.bwwdw.com/article/s2w1.html

Top