基于VB电子水准仪观测数据处理
基于VB6.0的水准网数据处理程序的实现

例, 其抗 差解 为
一
式中 , s i g ma O为给定 的先 验单 位权 中误 差 。
2 . 3 求 解 未 知 点 的 近 似 高 程
当参 数两 次 估值 之 差 的绝对 值 中 的最大 值 小 于 迭代精 度 时 , 迭代 停 止 , 单位 权 中误差 为
V — A 一 Z 。
身 特点选 择 合适 的平 差 基 准 模 型 来 处 理 数 据 ; 不 能进行 抗差 处理 , 消 除观 测粗 差 的影响 等 。
VB 6 . 0是 一 种 可 视 化 、 面 向 对 象 的 开 发 语 言L 3 ] , 文 章基 于 VB 6 . 0的语 言环境 , 进行 了矿 区水
善 了矿 区水 准 网数 据 处理 流程 , 减少 了作业 人 员 的 工 作量 , 提 高 了工 作效 率 。
由最小 二乘 原理 可知 :
七一 Q, A Pl , ( 4 )
式 中, Q 。一 ( A P A+P S P ) 一
= ( 』 、 , + P S S ) 一. ( 5 )
L j d ( p 1 ) 一p 2
S( p1)一 S( p2) + S1 2
程序采 用 等价权 法进 行抗 差模 型设 计 , 即观测 高差 权 阵 P变 为等 价权 阵 P:
P — P W , ( 8)
将上 述 编码编 写成 过程 F S P ( ) , 在 进行 闭合 差
( 2 )
单 位权 中误 差为 :
±
且量 大 , 大多 数矿 区 当前使 用 的水 准 网数据 处理 程 序 或软 件都 不 同程 度 的存 在 不 足 , 如: 程序不能 自 动进 行 闭合 条件 的搜索 和 闭合差 的计 算 , 单 纯依 靠 人 工计算 , 费时 费力 ; 一 般 的平 差 程 序是 以 固定 基
基于VB2008的电子水准测量数据处理程序的设计与实现

T eE e t n cL v l t r c s i gSDe i na dI lme t t h lcr i e e aP o e sn ’ o Da sg n mp e n h wi
Viu l sc2 0 s a Ba i 0 8
P UC a -u Y h ox UDa: n iu j
其本 身不 带 后处 理软 件 。 本文 针对 徕 卡 D A 3数 字水 准仪 和天 宝 D N 0 N0 ii3
徕 卡 D A 3数 字 水准 仪 是 徕 卡 公司 推 出 的第 N0
数字 水准 仪 ,基 于 V sa a i 言设 计 并实现 了 iu lB sc语 电子 水准 测 量 数据 处 理程 序 ,包 括 数据 传 输 、数 据 处 理 、折 线 图绘 制 、等 级 校验 等 功 能 , 同时 可 以输 出外业 观 测 手 簿 ,并 按 照 现行 测 量规 范进 行 数据 的 近 似平 差 计 算 , 且具 有 数据 修 改 、整 理数 据 成果 、 绘制 三轴 折 线 图等功 能 。
二 代 数字 水 准 仪 ,是第 一 部 使用 大 屏 幕进 行 显 示 的 数 字 水准 仪 ,能 提 示下 一 步 动 作 ,具 有 数据 安全 双 重 保 护 功 能 ,除 了可 以把 测 量 数据 自动 存储 在 仪 器 内存 中 ,还 能 在 测量 完 成 之 后将 数 据 输 出存 储 到 仪 器的 P c卡上 , 导 出的数据 格 式均 是徕 卡标 准 的 G I S 格 式 。同时 它操 作也 非 常方便 ,汲 取 了 T S 0 站 P 70全 仪 的设 计思 路 ,采 用 字母 数字 式 混合键 盘 操作 方 式 , 从 而提 高 用 户 的作 业 效 率 。通 过 实 践 可 以证 明 ,与 传 统 水 准 仪 相 比,采 用 徕 卡数 字 水 准 仪 可 以节 省将 近 5 % 的工 作 时 间,其 测量 既轻 松 又准 确 。 O
利用VB编程控制Excel处理测量数据

文章编号:1672-8262(2007)04-96-04 中图分类号:P209 文献标识码:B 利用VB 编程控制Excel 处理测量数据阳德胜33 收稿日期:2006—10—08作者简介:阳德胜(1971—),男,测绘工程师,从事道路勘测工作。
(广东省公路勘察规划设计院,广东广州 510507)摘 要:介绍了利用VB 610编程控制电子表格Excel 处理测量数据的编程方法与技巧,从而实现测量数据处理可视化和制表自动化,提高了测量数据处理的效率和准确性。
关键词:VB;Excel;编程;测量数据1 引 言VB 是人们常用的一种高级程序设计语言,利用VB 开发的程序可作为OLE (Object linking and e mbed 2ding )容器。
Excel 作为一种非常普及的办公自动化软件,可以用作OLE 服务器,向外部输出某些属性、方法和事件。
通过OLE 自动化,VB 程序可以调用Excel 的功能,因此,可以利用VB 编程控制Excel 处理测量数据。
本文以公路测量数据处理为例介绍这方面的一些编程方法和技巧。
2 VB 与Excel 链接VB 与Excel 的链接步骤和常用命令如下:(1)打开VB6.0,进入VB 程序设计界面,从下拉菜单“工程”中选择“引用”,进一步选择“M icr os oft Ex 2cel 910Object L ibrary ”,再选择“确定”,表示在工程中要引用Excel 类型库。
(2)在通用对象的声明过程中定义Excel 对象:D i m excel1A s Excel .App licati on D i m excel1Book A s Excel .Work Book D i m excel1Sheet A s Excel .Worksheet(3)创建Excel 对象SET excel1=Create Object (“Excel .App licati on ”)(4)建立一个新Excel 工作簿文件Set excel1Book =excel1.Workbooks ().Add……excel1Book .SaveA s [路径]\“文件名”(5)打开一个旧Excel 工作簿文件Set excel1Book =excel1.Workbooks .Open ([路径]\“文件名”)(6)设置Excel 对象可见(或不可见)excel1.V isible =True (False )(7)增加Excel 工作表,并命名Sheets .AddSet excel1Sheet =excel1Book .Worksheets ("sheet n")Sheets ("Sheet n").SelectSheets ("Sheet n").Na me ="工作表名"(n 表示第n 个工作表)(8)设置Excel 工作表Set excel1Sheet =excel1Book .Worksheets ("工作表名")(9)给工作表单元格(r ow,col )赋值excel1Sheet .Cells (r ow,col )=值或算式(10)读工作表单元格(r ow,col )的值Sheets ("工作表名").Select X =excel1Sheet .Cells (r ow,col )(11)保存Excel 工作簿Active Workbook .Save(12)退出Excelexcel1.Quit(13)交还控制权给Excelset excel1=nothing3 利用VB 程序控制Excel 制表打开Excel,选择“工具\宏(M )\录制新宏(R )”,按常规方法制表,再选择“停止录制”,然后对所录制的内容进行分析,就可以获得绘制各种Excel 表格的方法和命令,将录制的内容复制插入VB 程序中,在执行程序的过程中,将自动生成所设计的Excel 表格。
应用VBA实现电子水准仪数据的自动处理

N= IS r S R , n t (T 1
S R = T m( T ) T1 ri S R1
N = I S r(T 1 n t SR .
)
ห้องสมุดไป่ตู้
() 序 界面 3程
SR T 1=T i ( i h (T 1 e S R )一N ) r m R g t S R ,L n(T 1 ) N = I S r(T 1 nt SR, ) J =V l L f (T 1 a (e t S R ,N — 1 ) ) SR T 1=T i ( i h (T 1 L n(T 1 一N ) r mR g tS R, e S R) ) N= I S r S R . n t (T 1 ) K= V l L f (T 1 a (e t S R ,N 一 1 ) ) S R =T i ( i h ( T 1 L n S R ) N ) T1 rm R gt S R, e (T 1 ) L= V l L f (T 1 a (e t S R ,N 一 1 ) )
N = I S r(T 1 nt SR, )
G= V l L f (T 1 1 ) a (e t S R ,N )
L n I p t #1 S R1 ie nu . T
S Rl = T i S R1 T r m(T )
我 院用于 水准测 量 的 电子 水准 仪 为 T po 0 C其 原始 数据 格式 如下 o cn 1 1 , () 序流 程 图 2程
1引言 随着测 绘技 术进 步 , 电子 水准 仪逐 步 替代 光学 水准 仪成 为 水准测 量 的主 流, 电子 水准 仪即减轻 了水准 测量 的外业 工作量 又在 一定程度 上提 高 了测 量精 度, 特别 是高等 的水 准测 量和 沉降观 测 中更显 其优 越性 , 该仪 器传 出 的原始 但 数据 较为 复杂 , 需要 人 工输 入 、整 理 、平差 计算 才 能 得到 最 终成 果, 样 即 这
电子水准仪自动记录数据生成观测手薄操作说明

电子水准仪自动记录数据生成观测手薄操作说明
1、首先打开文件夹里的DDM6.0.EXE文件运行程序。
2、运行程序后点击工程菜单选择新建工程或直接点击按钮新
建工程,弹出新建工程对话框,在工程位置点击浏览出现选择工程目录对话框,选择你想要存储的位置点击确定,在工程名称里输入你要新建的工程名称点击新建,此时会出现一个运行提示框显示“找不到路径”点击确定关闭新建工程对话框,如果没有选择路径,直接输入名称点击确定,新建的工程项目文件夹将会默认新建在程序文件夹根目录下。
3、选择工程菜单里的打开工程或点击按钮弹出打开工程对话
框,在对话框里会看到我们新建的工程,点击打开工程。
4、选择数据准备菜单里的导入原始观测数据选项或直接点击
按钮弹出导入原始观测数据对话框,选择导入水准数据选项,找到我们需要转换为手薄的原始数据,点击打开然后回到原始观测数据对话框点击确定。
5、选择预处理菜单里的观测手薄选项或点击按钮弹出一个名
称为GMASVBA.XLS的Excel表格。
6、选择Excel表格里的水准观测手薄选项,弹出水准观测手薄对
话框,在此对话框选择好相应的设置,如观测仪器、气温、观测记录等……特别注意在等级选项里只能选择二等,点击生成观测手薄按钮,选择要生成手薄的文件后自动回到水准观测手
薄对话框,然后点击浏览手薄选项,在Excel表格中会出现以转换的观测数据。
7、软件生成的手薄文件会自动存储到我们刚开始新建工程的文件
夹中,然后修改手薄文件名。
8、当新建工程显示太多时我们可以选择工程菜单里面的删除工程
选项或按钮来删除工程,在弹出的对话框中有两个选项,删除按钮是直接删除工程文件夹包括数据,而从工程列表中清除按钮只是清除列表中的工程名称而不删除数据。
基于VB的测量数据有效数字取位程序开发

基于VB的测量数据有效数字取位程序开发作者:唐博来源:《价值工程》2013年第24期摘要:测量数据的有效数字取位时存在舍入问题,合理的舍入法则会减小误差,同时本文根据测量数据量大的特点开发了批量处理的程序。
Abstract: Effective digital position of measurement data has rounding problems. Reasonable rounding rules will reduce the error. This paper develops batch processing program of measurement data according to the characteristics of the large amount of measured data.关键词: VB开发;有效数字取位;测量数据Key words: VB development;effective digital position;measurement data中图分类号:TP311.1 文献标识码:A 文章编号:1006-4311(2013)24-0174-020 引言实际测量工作中经常遇到测量与计算结果数据有效数字的取位问题,取位时会引入误差,若舍入得当则此误差就会变小。
同时由于测量数据量的较大,若单数据进行手工取位则是一项较为繁琐且易出错的过程,因此本文针对此问题进行了程序的开发可以对测量数据进行批量的处理。
1 数据舍入法则1.1 “四舍五入”法则“四舍五入”法则规定,有效数字右一位为4或者小于4时则舍去,有效数字右一位为5或者大于5时则进1。
如数字3.145,若要求保留两位有效数字,由于有效数字右一位为4则取位后为3.1;若要求保留三位有效数字,由于有效数字右一位为5,则取位后为3.15。
但是由于测量数据的特殊性,在其取位时一般不采用此法则而是采用“四舍六入尾留双”法则。
使用VB实现电子水准仪数据的自动化提取

使用VB实现电子水准仪数据的自动化提取赵利江包头铁道职业技术学院 014040摘要:本文通过对徕卡和天宝电子水准仪数据格式的研究,实现了使用VB对电子水准仪记录数据的分线路提取,同时本程序所采用的方法对其他一些电子水准仪的数据提取具有一定的参考价值。
关键词:电子水准仪 VB 分线路数据提取1 程序的开发背景近年来随着技术的不断进步,电子仪器也在飞速发展,其快速、精确的测量的优势越来越受到放大测量人员的亲睐,电子水准仪就是在这一背景下诞生的新一代测量仪器,其在工程界的使用越来越广,尤其是在高精度的高程测量领域应用十分广泛,其中以徕卡和天宝的电子水准仪为主,现如今的一些电子水准处理软件也多以处理这两种水准观测数据为主,一些单位和个人也在进行此类软件的开发和应用,但研究的软件或程序格式转化单一,不能满足不同测量领域的人们的需求,本文针对这一现状,提出了分线路提取关键数据的解决办法。
2 程序开发的关键问题及解决方法2.1 天宝系列电子水准仪(DINI系列)2.1.1 水准数据分线路处理数据处理的一个难点就在于一个水准观测文件中存在多条水准路线,对于天宝系列的数字水准仪来说,其文件内部有关于线路起点“Start-Line”和线路终点“End-Line”的提示信息,但一个主要问题是在“End-Line”之后,可能有“Cont-Line”出现,如果这样那么这条水准路线并未真正结束,天宝电子水准仪的一个记录原则是一个Start-Line和Cont-Line必各对应一个End-Line,这种情况下,如果我们以“Start-Line”和“Cont-Line”标记线路起点,以“End-Line”标记线路终点,那么如果存在“Cont-Line”的情况程序会将一条水准路线分割成两条,这样就导致了数据处理的错误。
原始数据如下For M5|Adr 46|KD1 N4 L1|Sh -1.90278 m |dzFor M5|Adr 47|KD2 N4 6 L1|Db 73.660 m |Df For M5|Adr 48|TO End-Line L1| |For M5|Adr 49|KD1 3 09:06:223 |R 1.34466 m |HD For M5|Adr 50|TO Cont-Line L1| |For M5|Adr 51|KD1 N4 09:08:243 L1|Rb 1.34468 m |HD For M5|Adr 52|KD1 4 09:08:483 L1|Rf 1.37887 m |HD For M5|Adr 53|KD1 4 09:08:583 L1|Rf 1.37889 m |HD 首先,我们编程时会将关键的数据记录项(前后视距、中丝读数)记录到不同的数组里,这样就可以自由的使用数组来实现水准路线的计算。
vb水准

导线测量平差水准测量平差VB程序导线测量, 水准测量, 程序符合导线平差程序如下:Const pi As Double = 3.14159265358979 Private Sub Command1_Click() Form8.Hide mj = Val(Text1.Text) If list1.Text = "等精度" Then ma = Val(Text2.Text) mb = Val(Text3.Text) End If If Opt1.Value Then ij = 1 ElseIf Opt2.V alue Then ij = Val(Text4.Text) End If CommonDialog1.ShowOpen On Error GoTo errorhandler Open CommonDialog1.FileName For Input As #1 If Form8.Caption = "闭合导线" Then Input #1, bi1, bi2 End If Dim a1() Do n1 = n1 + 1 ReDim Preserve a1(1 To n1) Input #1, a1(n1) Loop Until Left(a1(n1), 1) = "*" n1 = (n1 - 1) / 3 ReDim Preserve a1(1 To 3 * n1) Dim c() Do t = t + 1 ReDim Preserve c(1 To t) Input #1, c(t) Loop Until Left(c(t), 1) = "*" t = t - 1 ReDim Preserve c(1 To t) Dim b1() If list1.Text = "等精度" Then '等精度时,取角度和距离观测值Do n2 = n2 + 1 ReDim Preserve b1(1 To n2) Input #1, b1(n2) Loop Until Left(b1(n2), 1) = "*" n2 = (n2 - 1) / 4 ReDim Preserve b1(1 To 4 * n2) Dim d1() Do While Not EOF(1) n3 = n3 + 1 ReDim Preserve d1(1 To n3) Input #1, d1(n3) Loop n3 = n3 / 3 ElseIf list1.Text = "不等精度" Then '不等精度时,取角度和距离观测值以及中误差Dim b5() Do n2 = n2 + 1 ReDim Preserve b1(1 To 4 * n2), b5(1 To n2) Input #1, b1(4 * n2 - 3), b1(4 * n2 - 2), b1(4 * n2 - 1), b1(4 * n2), b5(n2) Loop Until Left(b1(4 * n2 - 3), 1) = "*" Dim d4() ReDim d1(1 To 3), d4(1 To 1) d1(1) = b1(4 * n2 - 2): d1(2) = b1(4 * n2 - 1) d1(3) = b1(4 * n2): d4(1) = b5(n2) n2 = n2 - 1 ReDim Preserve b1(1 To 4 * n2), b5(1 To n2) n3 = n3 + 1 Do While Not EOF(1) n3 = n3 + 1 ReDim Preserve d1(1 To 3 * n3), d4(1 To n3) Input #1, d1(3 * n3 - 2), d1(3 * n3 - 1), d1(3 * n3), d4(n3) Loop End If Close #1 n6 = 0 Dim ax1() If Form8.Caption = "附有条件的导线网" Then '如是附有条件的导线,取条件CommonDialog1.ShowOpen Open CommonDialog1.FileName For Input As #2 Do While Not EOF(2) n6 = n6 + 1 ReDim Preserve ax1(1 To n6) Input #2, ax1(n6) Loop n6 = n6 / 4 Close #2 End If For i = 1 To n2 If b1(4 * i - 3) Like b1(4 * i - 2) Or b1(4 * i - 3) Like b1(4 * i - 1) Or b1(4 * i - 2) Like b1(4 * i - 1) Then MsgBox "角度观测中,第" & i & "行存在重复点名!", , "错误" Exit Sub End If Next For i = 1 To n3 If d1(3 * i - 2) Like d1(3 * i - 1) Then MsgBox "边长观测中,第" & i & "行存在重复点名!", , "错误" Exit Sub End If Next Dim b11(), d11() ReDim b11(1 To 4 * n2), d11(1 To 3 * n3) For i = 1 To n2 For i1 = 1 To t If b1(4 * i - 3) Like c(i1) Then b11(4 * i - 3) = i1 + n1 GoTo 1 End If Next For i1 = 1 To n1 If b1(4 * i - 3) Like a1(3 * i1 - 2) Then b11(4 * i - 3) = i1 GoTo 1 End If Next int8 = MsgBox("角度观测中,第" & i & "行存在错误测站点" & b1(4 * i - 3) & "!", , "错误!") If int8 = vbOK Then Exit Sub 1: For i1 = 1 To t If b1(4 * i - 2) Like c(i1) Then b11(4 * i - 2) = i1 + n1 GoTo 2 End If Next For i1 = 1 To n1 If b1(4 * i - 2) Like a1(3 * i1 - 2) Then b11(4 * i - 2) = i1 GoTo 2 End If Next int8 = MsgBox("角度观测中,第" & i & "行存在错误后视点" & b1(4 * i - 2) & "!", , "错误!") If int8 = vbOK Then Exit Sub 2: For i1 = 1 To t If b1(4 * i - 1) Like c(i1) Then b11(4 * i - 1) = i1 + n1 GoTo 3 End If Next For i1 = 1 To n1 If b1(4 * i - 1) Like a1(3 * i1 - 2) Then b11(4 * i - 1) = i1 GoTo 3 End If Next int8 = MsgBox("角度观测中,第" & i & "行存在错误前视点" & b1(4 * i - 1) & "!", , "错误!") If int8 = vbOK Then Exit Sub 3: b11(4 * i) = b1(4 * i) Next For i = 1 To n3 For i1 = 1 To t If d1(3 * i - 2) Like c(i1) Then d11(3 * i - 2) = i1 + n1 GoTo 4 End If Next For i1 = 1 To n1 If d1(3 * i - 2) Like a1(3 * i1 - 2) Then d11(3 * i - 2) = i1 GoTo 4 End If Next int8 = MsgBox("边长观测中,第" & i & "行存在错误点" & d1(3 * i - 2) & "!", , "错误!") If int8 = vbOK Then Exit Sub 4: For i1 = 1 To t If d1(3 * i - 1) Like c(i1) Then d11(3 * i - 1) = i1 + n1 GoTo 5 End If Next For i1 = 1 To n1 If d1(3 * i - 1) Like a1(3 * i1 - 2) Then d11(3 * i - 1) = i1 GoTo 5 End If Next int8 = MsgBox("边长观测中,第" & i & "行存在错误点" & d1(3 * i - 1) & "!", , "错误!") If int8 = vbOK Then Exit Sub 5: d11(3 *i) = d1(3 * i) Next Dim x0() If Form8.Caption = "附合导线" Then ReDim x0(1 To 2 * t + 2) x0() = 附合导线(a1(), b11(), d11(), t) fx = x0(2 * t + 1) '坐标闭合差fy = x0(2 * t + 2) fs = Sqr(fx * fx + fy * fy) fx = Format(fx * 100, "0.0") fy = Format(fy * 100, "0.0") s = 0 For i = 1 To n3 '全长相对闭合差s = s + d1(3 * i) Next fs = Int(s / fs) For i = 1 To n2 '方位闭合差If b11(4 * i - 3) <= n1 And b11(4 * i - 2) <= n1 Then i1 = b11(4 * i - 3): i2 = b11(4 * i - 2) x1 = a1(3 * i1 - 1): y1 = a1(3 * i1) x2 = a1(3 * i2 - 1): y2 = a1(3 * i2) aq = xlu(x2, y2, x1, y1) ElseIf b11(4 * i - 3) <= n1 And b11(4 * i - 1) <= n1 Then i1 = b11(4 * i - 3): i2 = b11(4 * i - 1) x1 = a1(3 * i1 - 1): y1 = a1(3 * i1) x2 = a1(3 * i2 - 1): y2 = a1(3 * i2) az = xlu(x1, y1, x2, y2) End If bb = bb + hu(b1(4 * i)) Next bb = (aq + bb - n2 * pi - az) * 206264.806247096 bb = Format(bb, "0.00") bb1 = mj * Sqr(n2) bb1 = Format(bb1, "0.00") ReDim Preserve x0(1 To 2 * t) ElseIf Form8.Caption = "闭合导线" Then ReDim x0(1 To 2 * t + 2) x0() = 附合导线(a1(), b11(), d11(), t) fx = x0(2 * t + 1) '坐标闭合差fy = x0(2 * t + 2) fs = Sqr(fx * fx + fy * fy) fx = Format(fx * 100, "0.0") fy = Format(fy * 100, "0.0") s = 0 For i = 1 To n3 s = s + d1(3 * i) Next fs = Int(s / fs) For i = 1 To n2 bb = bb + hu(b1(4 * i)) Next If bi1 = 0 Then '方位闭合差If bi2 = 0 Then bb = (bb - (n2 - 2) * pi) * 206264.806247096 ElseIf bi2 = 1 Then bb = (bb - (n2 + 2) * pi) * 206264.806247096 End If ElseIf bi1 = 1 Then For i = 1 To n2 If b11(4 * i - 3) <= n1 And b11(4 * i - 2) <= n1 Then i1 = b11(4 * i - 3): i2 = b11(4 * i - 2) x1 = a1(3 * i1 - 1): y1 = a1(3 * i1) x2 = a1(3 * i2 - 1): y2 = a1(3 * i2) aq = xlu(x2, y2, x1, y1) End If Exit For Next If bi2 = 0 Then bb = (bb - aq - (n2 - 3) * pi) * 206264.806247096 ElseIf bi2 = 1 Then bb = (bb - aq - (n2 + 1) * pi) * 206264.806247096 End If End If bb1 = mj * Sqr(n2) bb1 = Format(bb1, "0.00") ReDim Preserve x0(1 To 2 * t) ElseIf Form8.Caption = "导线网平差" Then ReDim ax1(0) ReDim x0(1 To 2 * t) x0() = 导线网(a1(), b11(), d11(), ax1(), t) Else ReDim x0(1 To 2 * t) x0() = 导线网(a1(), b11(), d11(), ax1(), t) End If mj1 = mj For ii = 1 To ij Dim b2(), l2(), p() ReDim Preserve b2(1 To n2, 1 To 2 * t), l2(1 To n2), p(1 To n2 + n3) l2() = 角常系数1(a1(), b11(), x0()) b2() = 方系数2(a1(), b11(), x0()) Dim b3(), l3() ReDim b3(1 To n3, 1 To 2 * t), l3(1 To n3) b3() = 边系数2(a1(), d11(), x0()) l3() = 边常数项1(a1(), d11(), x0()) Dim b(), l() ReDim Preserve b(1 To n2 + n3, 2 * t), l(1 To n2 + n3) For j = 1 To 2 * t For i = 1 To n2 If b2(i, j) = "" Then b2(i, j) = 0 End If b(i, j) = 10 ^ 4 * b2(i, j) / 206264.806247096 If list1.Text = "等精度" Then p(i) = 1 ElseIf list1.Text = "不等精度" Then p(i) = mj1 * mj1 / (b5(i) * b5(i)) End If l(i) = 10 ^ 4 * l2(i) / 206264.806247096 Next For i = 1 To n3 If b3(i, j) = "" Then b3(i, j) = 0 End If b(i + n2, j) = b3(i, j) If list1.Text = "等精度" Then p(i + n2) = 2350.4 * mj1 * mj1 / ((ma + mb * d1(3 * i) / 1000) * (ma + mb * d1(3 * i) / 1000)) ElseIf list1.Text = "不等精度" Then p(i + n2) = 2350.4 * mj1 * mj1 / (d4(i) * d4(i)) End If l(i + n2) = l3(i) Next Next If Form8.Caption = "附有条件的导线网" Then '如是附有条件的导线,计算系数Dim ax(), lx() ReDim ax(1 To 2 * t, 1 To n6), lx(1 To n6) For i = 1 To n6 For i1 = 1 To n1 If ax1(4 * i - 3) Like a1(3 * i1 - 2) Then x1 = a1(3 * i1 - 1): y1 = a1(3 * i1) GoTo 111 End If Next i1 = i1 - 1 For i2 = 1 To t If ax1(4 * i - 3) Like c(i2) Then x1 = x0(2 * i2 - 1): y1 = x0(2 * i2) GoTo 111 End If Next 111: For i3 = 1 To n1 If ax1(4 * i - 2) Like a1(3 * i3 - 2) Then x1 = a1(3 * i3 - 1): y1 = a1(3 * i3) GoTo 112 End If Next i3 = i3 - 1 For i4 = 1 To t If ax1(4 * i - 2) Like c(i4) Then x2 = x0(2 * i4 - 1): y2 = x0(2 * i4) GoTo 112 End If Next 112: ss1 = Sqr((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)) x3 = x2 - x1: y3 = y2 - y1 If ax1(4 * i) = 0 Then '如是方位角时,计算系数lx(i) = 10000 * (xlu(x1, y1, x2, y2) - hu(ax1(4 * i - 1))) If ax1(4 * i - 3) <> a1(3 * i1 - 2) Then ax(2 * i2 - 1, i) = 10000 * y3 / (ss1 * ss1) ax(2 * i2, i) = -10000 * x3 / (ss1 * ss1) End If If ax1(4 * i - 2) <> a1(3 * i3 - 2) Then ax(2 * i4 - 1, i) = -10000 * y3 / (ss1 * ss1) ax(2 * i4, i) = 10000 * x3 / (ss1 * ss1) End If ElseIf ax1(4 * i) = 1 Then '如是距离,计算系数lx(i) = ss1 - ax1(4 * i - 1) If ax1(4 * i- 3) <> a1(3 * i1 - 2) Then ax(2 * i2 - 1, i) = -x3 / ss1: ax(2 * i2, i) = -y3 / ss1 End If If ax1(4 * i -2) <> a1(3 * i3 - 2) Then ax(2 * i4 - 1, i) = x3 / ss1: ax(2 * i4, i) = y3 / ss1 End If End If Next Fori = 1 To 2 * t For j = 1 To n6 If ax(i, j) = "" Then ax(i, j) = 0 End If Next Next End If Dim u(), nni(), xx(), nni1() ReDim u(1 To 2 * t), nni(1 To t * (2 * t + 1)) nni() = 法系数(b(), p()) u() = 常数项(b(), p(), l()) If Form8.Caption = "附有条件的导线网" Then ReDim nni1(1 To (2 * t + n6) * (2 * t + n6 + 1) / 2) nni1() = 附有条件的法方程(nni(), ax()) ReDim Preserve u(1 To 2 * t + n6) For i = 1 To n6 u(2 * t + i) = lx(i) Next nni1() = ni(nni1(), 2 * t + n6) xx() = bx(nni1(), u()) ReDim Preserve xx(1 To 2 * t) nni() = 条件从有到无(nni1(), t, n6) Else nni() = ni(nni(), 2 * t) xx() = bx(nni(), u()) End IfFor i = 1 To 2 * tx0(i) = x0(i) + xx(i)NextDim v(), fz()ReDim v(1 To n2 + n3), fz(1 To 2 * t)v() = 改正数(b(), xx(), l())Dim v1(), v2()ReDim v1(1 To n2), v2(1 To n3)For i = 1 To n2v1(i) = v(i) * 206264.806247096 / 10000m1 = m1 + v1(i) * v1(i)Nextm1 = Sqr(m1 / (n2 - 1)): m1 = Format(m1, "0.00")For i = 1 To n3v2(i) = v(i + n2)Nextmm0 = 单位权中误差(v(), p())mm0 = Sqr(mm0 / (n2 + n3 - 2 * t + n6))m0 = mm0 * 206264.806247096 / 10000If Optd2.Value Thenmj1 = m0End IfNextDim vas1 As String * 5, vas2 As String * 5, vas3 As String * 5, vas4 As String * 20Dim vas5 As String * 10, vas6 As String * 20txt = txt & Chr(13) & Chr(10)txt = txt & "导线平差成果表" & Chr(13) & Chr(10)txt = txt & Chr(13) & Chr(10)txt = txt & "角度观测成果表" & Chr(13) & Chr(10)txt = txt & Chr(13) & Chr(10)txt = txt & "-------------------------------------------------------------------" & Chr(13) & Chr(10)txt = txt & "测站" & Space(1) & "后视" & Space(1) & "前视" & Space(1) & "方向观测值(°′″)" & Space(1) & "改正数(″)" & Space(1) & "方向平差值(°′″)" & Space(1) & Chr(13) & Chr(10)Dim f(), f1(), f2()ReDim f(1 To n2)f() = 角度平差值(v1(), b1())For i = 1 To n2ReDim f1(1 To 3), f2(1 To 3)f1() = 度分离(b1(4 * i))v1(i) = Format(v1(i), "0.00")f2() = 度分离(f(i))LSet vas1 = b1(4 * i - 3)LSet vas2 = b1(4 * i - 2)LSet vas3 = b1(4 * i - 1)LSet vas4 = f1(1) & Space(1) & f1(2) & Space(1) & f1(3)LSet vas5 = v1(i)LSet vas6 = f2(1) & Space(1) & f2(2) & Space(1) & f2(3)txt = txt & vas1 & vas2 & vas3 & vas4 & vas5 & vas6 & Chr(13) & Chr(10)Nexttxt = txt & "---------------------------------------------------------------------" & Chr(13) & Chr(10)txt = txt & Chr(13) & Chr(10)txt = txt & "边长观测成果表" & Chr(13) & Chr(10)txt = txt & Chr(13) & Chr(10)txt = txt & "---------------------------------------------------------------------" & Chr(13) & Chr(10) Dim bz()ReDim bz(1 To n3 + 3)bz() = 边长相对中误差(mm0, nni(), b3(), d1())Dim bc()ReDim bc(1 To n3)bc = 边长平差值(v2(), d1())txt = txt & "起点" & Space(1) & "终点" & Space(1) & "观测边长(m)" & Space(1) & "改正数(mm)" & "边长平差值(m)" & Space(1) & "边长观测值的相对中误差" & Chr(13) & Chr(10) Dim vas7 As String * 12, vas8 As String * 12For i = 1 To n3v2(i) = v2(i) * 1000: v2(i) = Format(v2(i), "0.0")LSet vas1 = d1(3 * i - 2)LSet vas2 = d1(3 * i - 1)LSet vas7 = d1(3 * i)LSet vas5 = v2(i)LSet vas8 = bc(i)LSet vas6 = "1:" & Space(1) & bz(i)txt = txt & vas1 & vas2 & vas7 & vas5 & vas8 & vas6 & Chr(13) & Chr(10)Nexttxt = txt & "--------------------------------------------------------------------" & Chr(13) & Chr(10)txt = txt & Chr(13) & Chr(10)txt = txt & "点位误差及误差椭圆" & Chr(13) & Chr(10)txt = txt & Chr(13) & Chr(10)txt = txt & "---------------------------------------------------------------------------------" & Chr(13) & Chr(10)txt = txt & "点号" & Space(1) & "误差X(mm)" & Space(1) & "误差Y(mm)" & Space(1) & "点位误差(mm)" & Space(1) & "椭圆长轴E(mm)" & Space(1) & "椭圆短轴(mm)" & Space(1) & "方位角(°′″)" & Chr(13) & Chr(10)Dim dw(), e()ReDim dw(1 To 3 * t), e(1 To 3 * t)dw() = 点位误差(mm0, t, nni())e() = 点位误差椭圆(mm0, t, nni())Dim vas9 As String * 10, vas10 As String * 10, vas11 As String * 12, vas12 As String * 12For i = 1 To tf1() = 度分离(e(3 * i))LSet vas1 = c(i)LSet vas9 = dw(3 * i - 2)LSet vas10 = dw(3 * i - 1)LSet vas7 = dw(3 * i)LSet vas8 = e(3 * i - 2)LSet vas11 = e(3 * i - 1)LSet vas12 = f1(1) & Space(1) & f1(2) & Space(1) & f1(3)txt = txt & vas1 & vas9 & vas10 & vas7 & vas8 & vas11 & vas12 & Chr(13) & Chr(10)Nexttxt = txt & "---------------------------------------------------------------------------------" & Chr(13) & Chr(10)txt = txt & Chr(13) & Chr(10)txt = txt & "坐标成果表" & Chr(13) & Chr(10)txt = txt & Chr(13) & Chr(10)txt = txt & "----------------------------------------------" & Chr(13) & Chr(10)txt = txt & "点号" & Space(2) & "坐标X(m)" & Space(12) & "坐标Y(m)" & Space(11) & Chr(13) & Chr(10)For i = 1 To n1LSet vas1 = a1(3 * i - 2)LSet vas4 = a1(3 * i - 1)LSet vas6 = a1(3 * i)txt = txt & vas1 & vas4 & vas6 & Chr(13) & Chr(10)NextFor i = 1 To tx0(2 * i - 1) = Format(x0(2 * i - 1), "0.0000"): x0(2 * i) = Format(x0(2 * i), "0.0000")LSet vas1 = c(i)LSet vas4 = x0(2 * i - 1)LSet vas6 = x0(2 * i)txt = txt & vas1 & vas4 & vas6 & Chr(13) & Chr(10)Nextm0 = Format(m0, "0.0")txt = txt & "---------------------------------------------" & Chr(13) & Chr(10)txt = txt & Chr(13) & Chr(10)txt = txt & "整网精度评定" & Chr(13) & Chr(10)txt = txt & Chr(13) & Chr(10)Dim vass As String * 20, vas17 As String * 20txt = txt & "----------------------------------------------" & Chr(13) & Chr(10) LSet vass = "导线全长:"LSet vas17 = bz(n3 + 3) & "Km"txt = txt & vass & vas17 & Chr(13) & Chr(10)LSet vass = "验前测角中误差:"LSet vas17 = mj & "″"txt = txt & vass & vas17 & Chr(13) & Chr(10)LSet vass = "验后测角中误差:"LSet vas17 = m1 & "″"txt = txt & vass & vas17 & Chr(13) & Chr(10)If Form8.Caption = "附合导线" ThenLSet vass = "实测角度闭合差:"LSet vas17 = bb & "″"txt = txt & vass & vas17 & Chr(13) & Chr(10)LSet vass = "允许角度闭合差:"LSet vas17 = bb1 & "″"txt = txt & vass & vas17 & Chr(13) & Chr(10)LSet vass = "坐标闭合差(cm):"LSet vas17 = "fx=" & fx & Space(1) & "fy=" & fytxt = txt & vass & vas17 & Chr(13) & Chr(10)LSet vass = "坐标增量相对差:"LSet vas17 = "1:" & fstxt = txt & vass & vas17 & Chr(13) & Chr(10)ElseIf Form8.Caption = "闭合导线" Thenbb = Format(bb, "0.0")LSet vass = "角度闭合差:"LSet vas17 = bb & "″"txt = txt & vass & vas17 & Chr(13) & Chr(10)LSet vass = "允许角度闭合差:"LSet vas17 = bb1 & "″"txt = txt & vass & vas17 & Chr(13) & Chr(10)LSet vass = "坐标闭合差(cm):"LSet vas17 = "fx=" & fx & Space(1) & "fy=" & fytxt = txt & vass & vas17 & Chr(13) & Chr(10)LSet vass = "坐标增量相对差:"LSet vas17 = "1:" & fstxt = txt & vass & vas17 & Chr(13) & Chr(10)End IfLSet vass = "单位权中误差:"LSet vas17 = m0 & "″"txt = txt & vass & vas17 & Chr(13) & Chr(10)LSet vass = "最弱边相对中误差" & "(" & d1(3 * bz(n3 + 1) - 2) & "-" & d1(3 * bz(n3 + 1) - 1) & ")" & ":"LSet vas17 = "1:" & bz(n3 + 2)txt = txt & vass & vas17 & Chr(13) & Chr(10)Form1.Text1.Alignment = 2Form1.Text1.Text = txterrorhandler:If Err.Number = 75 ThenExit SubEnd If100: End SubPrivate Sub list1_Click()If list1.Text = "不等精度" Then '等精度和不等精度的互换Label1.Caption = "单位权中误差(″)"Text2.BackColor = &H80000004Text2.Locked = TrueText3.BackColor = &H80000004Text3.Locked = TrueElseIf list1.Text = "等精度" ThenLabel1.Caption = "测角中误差(″)"Text2.BackColor = &H80000005Text2.Locked = FalseText3.BackColor = &H80000005Text3.Locked = FalseEnd IfEnd SubPrivate Sub Opt1_Click()If Opt1.Value ThenFrame3.Enabled = FalseLabel5.Enabled = FalseText4.BackColor = &H80000004Text4.Text = 1Text4.Locked = TrueOptd1.Enabled = FalseOptd2.Enabled = FalseEnd IfEnd SubPrivate Sub Opt2_Click()If Opt2.Value ThenFrame3.Enabled = TrueLabel5.Enabled = TrueText4.BackColor = &H80000005 Text4.Locked = FalseOptd1.Enabled = TrueOptd1.Value = TrueOptd2.Enabled = TrueEnd IfEnd SubPrivate Function 查错(a1(), n1, n2)End Function[em1][em1][em1]。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于VB的高精度电子水准仪观测数据处理俞礼彬摘要:高精度电子水准仪观测数据处理软件可以处理拓普康DL101C,天宝DINI12,徕卡DNA03原始观测文件数据,将原始观测文件读取进入处理软件,经过复杂的运算处理后,提取出有效数据,完成水准观测数据预处理的工作,接着进行数据检验,用户更可以根据工程需要设置测站限差,然后生成5种手簿格式或根据用户需要的格式,生成水准概算表,进行网平差。
软件注重软件实际应用,提供良好的可视化界面,增加用户使用的灵活性,提高软件应用的大众化,以便于实现电子水准仪内外业一体化。
关键词:电子水准仪,原始观测数据,数据检验,水准数据处理Abstract: High precision electronic level observation data processing software can handle the Topcon DL101C, in the DINI12, Leica DNA03original observation data, the original observation file read into the after treatment software, through a complicated arithmetic processing, extracting the effective data, standard data pre-processing work, followed by a gross error detection. According to need ,user can set the station tolerance, then the data processing software generates5 kinds of hand book format or format for meeting the user’s need, and then it generates level estimate table, finally the data processing software achieve the level of adjustment calculation. Leveling data processing software pays attention to the software application, provides good visualization interface, increases user flexibility, improves software application popularization. So the software can realize the electronic level inside and outside the industry integration.Key words: electronic level, leveling, post processing1 软件的需求分析电子水准仪是一种新型的测绘仪器,在精密测量中得到应用,并将成为未来的水准仪的发展趋势。
电子水准仪自动记录数据,速度快,精度高,读数客观,实现了水准测量的数字化,自动化。
但是电子水准仪的品牌不同,其下载下来的原始观测文件格式各不相同,且原始观测文件格式比较复杂,不符合国内规范要求,对水准测量处理造成了一定的困难。
所以当前对电子水准仪处理研究普遍功能不完善,形式单一,处理过程过于简单,适用性不强,多数只能适用于一种情况,因而不能真正实现电子水准仪内外业一体化,不利于电子水准仪的普及和推广。
本文针对天宝,徕卡,拓普康三种电子水准仪,基于VB编写软件处理其原始观测数据,生成五种格式的成果文件,大幅度提高了精度,提供了高精度处理各种电子水准仪数据的范例,有利于解决当前各种电子水准仪处理软件不统一的情况,解决水准测量数据处理落后的低效率的人工模式,实现水准测量的数据处理的数字化,快速化,规范化。
2 软件设计与实现2.1 设计软件框架软件按照水准测量数据处理的过程,软件总体由七大模块构成:参数设置模块,数据读取模块,数据检验模块,成果显示与导出模块,平差模块。
先进行软件参数设置,设置导出格式,数据处理精度,然后导入原始观测数据(有.txt,.dat,.dll 格式的文件),进行数据处理与检验,最后生成水准手簿显示并导出成果(有.xls 表格,.txt文本文件),进行水准网平差。
软件设计完整框架如图1所示。
2.2 软件界面设计在软件设计过程中,首先利用Visual Basic 6.0的有关控件构建软件的界面,导入,设置,检验,导出等窗口和命令按钮,并根据日常处理水准数据的人工模式编写代码,经过不断调试和改进,力求提高精度,操作灵活性,软件的完整性。
软件界面如图1所示。
在读取数据之前需要设置各种参数,如测量仪器,测量等级与文件导出格式,设计界面如图3所示。
为了提高精度和方便用户自行设置精度,软件加入了水准测量限差设置界面,如设置视线长度限差,视线高度限差,前后视距差限差......2.3 算法思想与程序设计在整个程序设计中,关键有两个问题:一是如何读取电子水准仪原始观测文件中的有效数据,剔除重测数据及附加的信息;二是如何对各种电子水准仪数据进行高效处理,如拓普康和徕卡的数据不会发生叠加或者混合。
通过对徕卡,拓普康,天宝电子水准仪数据格式的研究,找到文件数据格式的规律,如天宝DINI12文件中“Start-Line”表示开始测量,“aBFFB”表示该测段等级是二等,即先后前前后,再前后后前的模式向前推进,若是“BFFB”则表示该测段等级是三等,若是“BBFF”则表示该测段等级是四等。
通过While循环读取测站和测段信息,将有效的水准数据提取出来,形成一个“预处理”的txt文件,作为一个数据导入的接口,然后进行后台数据处理,按照国家水准测量规范,设置各个数据的格式,如后距,前距,中丝读数等,计算出视距差,视距差累计,两次中丝读数之差,测站高差以及测段前距,后距,视距差……,并设置数据格式,赋给各个变量和数组,以便于后续程序设计时数据的调用;在设计数据检核模块时,要对一、二、三、四等检验,根据国家水准测量规范,用条件语句检验各个变量是否符合规范,如果数据超限或出错,在该数据的变量上做上标记符,以便于后续识别;在设计成果显示模块时,设计窗体界面手簿网格,采用MSFlexGrid控件,设计分两部分,设计水准手簿头部分,这部分需要软件自动输入测量阶段的信息,另外设计数据部分,包括各个测站和测段数据;再设计成果输出部分,输出文件有五种形式,分别是3种Excel表格和2种txt文本,这里主要是对输出格式进行设置,采用VBA设计时调用各个变量和数组中的数据,逐次打印,最后输出水准概算表。
在基本程序设计完成之后,需要不断加以调试和优化,在多次运行程序没有数据错误和软件错误后,要提高程序运行的速度,简化代码,提高程序的使用灵活性。
2.5 软件的核心代码Public Sub DNA03Input() '徕卡DNA03原始观测文件输入Dim line As String, timestr As String, CPoint(1000) As String, t As IntegerDim m As Integer, X As Integer, c As Integer, i As Integer, x1 As Integer, x2 As Integer, x3 As Integer, x4 As Integer, Ctime(1000) As StringDim k1 As Integer, k2 As Integer, k3 As Integer, k4 As Integer, k5 As Integer, k6 As Integer, K As Integer’设置后距1,后距2,前距1,前距2,后尺中丝读数1,后尺中丝读数2,前尺中丝读数1,前尺中丝读数2Dim BD1(1000) As Double, BD2(1000) As Double, FD1(1000) As Double,FD2(1000) As Double, BC1(1000) As Double, BC2(1000) As Double, FC1(1000) As Double, FC2(1000) As DoubleDim bpoint(1000) As String, fpoint1(1000) As StringX = 1c = 1x1 = 0x2 = 0x3 = 0x4 = 0t = 0’导入徕卡DNA03文件Open monDialog1.FileName For Input As #1’打开预处理文件Open App.Path& "\预处理.txt" For Output As #3Do While Not EOF(1)Line Input #1, line ’一行一行读取文件中的数据i = 0m = 0For j = 1 To 6m = InStr(m + 1, line, "=")If m <> 0 Then i = i + 1Next jIf i = 6 Then’读取水准观测开始与结束时间FirTime(c) = Right(line, 10)FirTime(c) = Mid(FirTime(c), 3, 2) & Mid(FirTime(c), 6, 2) & Mid(FirTime(c), 9, 2) LasTime(c) = FirTime(c)End Ifm = 0K = 0’循环记录需要提取数据的准确位置For j = 1 To 6m = InStr(m + 1, line, ",")If m <> 0 Then K = K + 1If K = 1 Then k1 = mIf K = 2 Then k2 = mIf K = 3 Then k3 = mIf K = 4 Then k4 = mIf K = 5 Then k5 = mIf K = 6 Then k6 = mNext j’开始循环读取各测段中指定位置的有效测站数据,如前距,后距,中丝读数If K = 6 Thent = t + 1CPoint(t) = Left(line, k1 - 1)If Mid(line, k2 - 2, 2) = "B1" Thenx1 = x1 + 1bpoint(x1) = Mid(line, 3, 8)BC1(x1) = Val(Mid(line, k2 + 1, 10))BD1(x1) = Val(Mid(line, k3 + 1, 10))Ctime(x1) = Mid(line, k5 + 1, 8)End IfIf Mid(line, k2 - 2, 2) = "F1" Thenx2 = x2 + 1fpoint1(x2) = Mid(line, 3, 8)FC1(x2) = Val(Mid(line, k2 + 1, 10))FD1(x2) = Val(Mid(line, k3 + 1, 10))End IfIf Mid(line, k2 - 2, 2) = "F2" Thenx3 = x3 + 1FC2(x3) = Val(Mid(line, k2 + 1, 10))FD2(x3) = Val(Mid(line, k3 + 1, 10))End IfIf Mid(line, k2 - 2, 2) = "B2" Thenx4 = x4 + 1BC2(x4) = Val(Mid(line, k2 + 1, 10))BD2(x4) = Val(Mid(line, k3 + 1, 10))End IfEnd IfIf line = "水准线路总结" ThenPrint #3, cFor j = 1 To x1Print #3, j; ","; BD1(j); ","; BD2(j); ","; FD1(j); ","; FD2(j); ","; BC1(j); ","; BC2(j); ","; FC1(j); ","; FC2(j)Next jFirTime(c) = FirTime(c) &Left(Ctime(1), 2) & Mid(Ctime(1), 4, 2)LasTime(c) = LasTime(c) &Left(Ctime(x1), 2) & Mid(Ctime(x1), 4, 2)FPoint(c) = bpoint(1)LPoint(c) = fpoint1(x1)CeZhan(c) = x1c = c + 1x1 = 0x2 = 0x3 = 0x4 = 0t = 0End IfLoopClose #1Close #3End Sub2.4 软件的实现(1)进入软件后,单击“参数设置”按钮,显示是“设置”对话框,对仪器,水准等级,成果导出模式设置,设置完成后,单击“保存”,再单击“返回”,回到主软件;在设置“测量等级”时,可以单击“高级”,软件显示“测量限差设置”对话框,这里可以手动输入限差,单击“保存”,再单击“返回”,回到“设置”对话框;(2)在主界面上,单击“文件读取”,选择你所需要读取的水准观测原文件,单击确定;读取完成后,返回到主软件,主界面显示原文件内容;(3)在主界面上,单击“数据检验”,返回“数据检验完毕”对话框,单击“确定”;(4)在主界面上,单击“成果显示”,主界面显示水准观测手簿,其中绿色背景的数据表示该数据超限;(5)在主界面上,单击“导出成果”,主软件显示“Excel1模式:文件输出完毕!”对话框,单击“确定”,显示Excel1模式的水准观测手簿;如果想要以Excel2模式显示,可以重新单击“参数设置”,重新选择“Excel2模式”,再单击“导出成果”,则成果以Excel2模式显示,类似地,其他模式也可以这样操作;(6)在主软件界面上单击工具栏上的“概算表”,软件就会输出水准概算表,显示水准概算表输出完毕对话框。