利用EXCEL VBA 进行RTK图根点成果计算的方法

时间:2022-10-13 05:57:43

利用EXCEL VBA 进行RTK图根点成果计算的方法

【提要】随着信息技术的飞速发展,计算机编程技术在测绘领域的应用已越来越广泛,将计算机编程技术应用于测绘工作的实践中,可以大大减少测绘成果整理工作的劳动强度和复杂程度,使测绘数据计算整理工作变的非常简单。本文对EXCEL VBA编程技术以及RTK测量技术进行研究,探讨了通过EXCEL VBA编程,结合实际工作的需要编写了RTK图根点成果计算的宏程序,经过工作实践表明该程序具有操作简单、出错少、速度快的优点,大大减少了测绘工作者的劳动强度,极大的提高了测绘工作效率。

【关键词】信息技术;EXCEL VBA编程;RTK测量技术

直到90年代早期,使应用程序自动化还是充满挑战性的领域【1】。对每个需要自动化的应用程序,人们不得不学习一种不同的自动化语言。例如:可以用EXCEL的宏语言来使EXCEL自动化,使用WORD BASIC使WORD自动化,等等。微软决定让它开发出来的应用程序共享一种通用的自动化语言--------Visual Basic For Application(VBA),可以认为VBA是非常流行的应用程序开发语言VASUAL BASIC 的子集。实际上VBA是"寄生于"VB应用程序的版本。

VBA究竟是什么?更确切地讲,它是一种自动化语言,它可以使常用的程序自动化,可以创建自定义的解决方案。

随着GPS技术的深入发展,利用RTK技术进行图根点测量已得到广泛应用【2】,通常的做法就是外业对同一点进行两次独立观测取平均值的方法,内业将测量数据导入excel表格中手动计算,并将超限数据逐个剔除的方法进行图根点成果计算。这样一来我们的内业工作量还是比较大的,许多工序都是重复性和程式化的并且出错率比较高。我们可以通过EXCEL vba编写宏程序的方法来实现内业工作的成果自动计算和整理。

本文以对天宝5700RTK测量的原始数据进行内业计算整理详细介绍利用EXCEL VBA编程进行rtk图根点成果计算方法。编程具体步骤如下:

首先将宏的安全性设置为 “底”,因为只有这样所编写的宏程序才能被允许运行。操作步骤为:工具\宏\安全性。。。

将EXCEL文件的工作表增加至5个,并依次改名为:计算手簿、原测数据、复测数据、正确数据、错误数据。

将两次观测的原始数据分别导入原测数据和复测数据工作表中,并设置其他工作表的表格样式。

打开宏程序编辑窗口编写宏程序,程序源码如图1所示:

本程序要实现的功能主要有:首先将原测数据和复测数据导入到计算手簿中的相应表格中,然后将计算手簿中的数据进行自动计算并标记超限数据,最后将未超限数据和超限数据分类整理到正确数据和错误数据工作表中生成最终的图根点计算成果表并统计计算点数和超限点数。程序的主要模块主要分为三个:数据导入模块、成果计算模块和分类整理模块,其中成果计算模块的源码如下:

计算误差值并统计计算点数和超限点数

For i = 4 To k

Sheet1.Cells(i, 8).Value = (Sheet1.Cells(i, 2) - Sheet1.Cells(i, 5)) * 100

Sheet1.Cells(i, 9).Value = (Sheet1.Cells(i, 3) - Sheet1.Cells(i, 6)) * 100

Sheet1.Cells(i, 10).Value = Sqr((Sheet1.Cells(i, 2) - Sheet1.Cells(i, 5)) ^ 2 + (Sheet1.Cells(i, 3) - Sheet1.Cells(i, 6)) ^ 2) * 100

Sheet1.Cells(i, 11).Value = (Sheet1.Cells(i, 4) - Sheet1.Cells(i, 7)) * 100

If Abs(Sheet1.Cells(i, 8).Value) > 5 Or Abs(Sheet1.Cells(i, 9).Value) > 5 Or Abs(Sheet1.Cells(i, 10).Value) > 5 Or Sheet1.Cells(i, 11).Value > 5 Then

Sheet1.Cells(i, 15).Value = "较差超限"

Sheet1.Cells(i, 15).Font.Color = RGB(255, 0, 0)

Err_Number = Err_Number + 1

Else

Sheet1.Cells(i, 12).Value = (Sheet1.Cells(i, 2).Value + Sheet1.Cells(i, 5).Value) / 2

Sheet1.Cells(i, 13).Value = (Sheet1.Cells(i, 3).Value + Sheet1.Cells(i, 6).Value) / 2

Sheet1.Cells(i, 14).Value = (Sheet1.Cells(i, 4).Value + Sheet1.Cells(i, 7).Value) / 2

End If

Next i

程序运行结束后报告计算点数和超限点数并生成图根点成果计算表(图2,图根点成果计算表略)

图2.计算结果

本程序通过在嵊州地形测图项目中的应用实践表明效果比较理想,宏程序具有操作简单、出错少、速度快的优点。编程的动力来源于实际工作的需要,通过EXCEL VBA编程应用于测绘工作的实践中可以极大的减少测绘工作者的劳动强度并提高工作效率。

[1] 魏. Excel 2007 VBA高级编程宝典[M]. 北京: 电子工业出版社, 2009.1

[2] 张勤. GPS测量原理及应用[M]. 北京: 科学出版社, 2005.7

注:文章内所有公式及图表请以PDF形式查看。

上一篇:澳门南湾12号地段住宅发展项目超大体积转换层... 下一篇:沥青混凝土路面病害的成因和防治措施分析