杨 希,胡 颖,朱雯雯,唐国顺
(1.湖北省测绘质量监督检验站,湖北 武汉 430075)
在测绘仪器检定工作中,全站仪的测距部分检定,按相关规范要求,检定项目采用多段基线组合比较法来进行[1],而这些项目指标的计算较复杂,计算量也较大。若通过相关软件设计,预先在智能设备中设计好计算程序,仅通过直接输入观测数据,程序后台自行计算,最后获得并输出各项结果,就能大大减轻工作量,减少计算错误,提高工作效率。本文基于Android的软件设计实现了全站仪、光电测距仪测距部分检定指标的自动计算、保存和查询等功能。
Android作为一个完全开源的操作系统,通过Android SDK 提供的APT以及相应的开发工具,程序员简单开发Android 平台上需要的应用程序。目前,谷歌推出了一款可以让用户更容易为Android智能设备编写的应用软件工具——App Inventor。
App Inventor 这款编程软件不一定非要专业的研发人员,甚至根本不需要掌握任何的程序编制知识。它具有友好的用户界面及完全可视化的操作方式,它摒弃复杂的程式代码而使用封装好的模块来实现应用程序的各种行为,即通过拖放图形化的组件和代码块,将这些代码叠放在一起,产生一个应用程序(App),从而完成设计者需要的Android程序和功能,为一些没有编程基础但富有创意的人提供了一个很好的开发平台[2]。
App Inventor 为全云端的开发设计环境,所有的建立及操作过程都是在浏览器上完成的。建立的过程需要完成3个步骤:①安装Google浏览器,注册并登录Google的帐号;②测试电脑上是否可正确运行Java(测试页面);③安裝Google App Inventor软件。
电脑的App Inventor编程环境建立起来后,就可以使Android手机与App Inventor通过数据线实现联机同步,轻松地用Google App Inventor软件为Android手机编程。
系统设计框架流程如图1所示。
图1 系统设计框架流程图
全站仪的加、乘常数是全站仪测距功能中最重要的2个参数,在全站仪的应用中占有至关重要的地位,直接影响距离测量的结果和精度。
测绘仪器生产厂家在生产测距仪时,都先要检定出仪器的加常数,然后将加常数预置到仪器内,这样,仪器最终显示的是地面两点间的实际距离值。但由于加常数检定有误差,以及日后使用中仪器光、电系统的变化等,加常数不是一个永久不变的值,会随着时间的推移发生变化,因而仪器还有加常数(或称为剩余加常数)[3]。
全站仪除存在加常数改正外,还应包括比例改正项。大量的实测数据表明,由于仪器发光管和接收管相位不均匀性以及副相误差等因素,仪器还存在与测量距离长短相关的改正项,习惯上将此类改正项统称为乘常数。
为了保证仪器的测距准确度,必须对剩余加常数、乘常数进行定期的检定。检定仪器加常数、乘常数的方法,一般是在长度检定场(基线场)中,采用多段基线组合比较法进行同时检定[4]。
按全组合的比较法进行测量,将测得的数据填入本系统相应的输入栏中,然后设置软件系统。
式(1)、(2)中,K0为测距仪加常数估值;R0为测距仪乘常数估值;Di为经修正后的距离;li为基线值与Di之差值;n为使用的组合基线段数,i =1,2,3,…,n。
通过对仪器的常数显著性检验,可以对仪器可能存在的4种不同的模型进行选择。
1)当K0与R0均显著时,所选数学模型有效,在使用测距仪时应对仪器进行加常数K、乘常数R改正:
㉞㊳㊾ 熊 式 辉 著,洪 朝 辉 编 校: 《海 桑 集: 熊 式 辉 回 忆 录(1907 ~1949)》,(香港)明镜出版社2008 年版,第223、401、269、267、396 页。
2)当K0显著、R0不显著时,应选用不考虑R影响的数学模型,在使用测距仪时应仅对仪器进行K改正:
3)当K0不显著、R0显著时,应选用不考虑K影响的数学模型,在使用测距仪时应仅对仪器进行R改正:
4)当K0与R0均不显著时,测距仪不进行K、R改正。
其功能实现的主要模块如图2、图3所示。
图2 数组D 数组l 的建立模块
图3 常数显著性检验模块
间隔30 m分别安置测距仪和反射棱镜,操作仪器一次照准后测距,连续测量读数30次,将测得的数据填入本系统相应的输入栏中,然后设置软件根据式(6)进行计算:
式中,vi为第i次读数值与读数平均值之差;为第i次读数值为n次读数的平均值;n为连续读数的次数;2,3,…,n。
其功能实现的主要模块及效果如图4所示。
图4 测量的重复性计算模块及效果图
设置软件根据修正过后的距离观测值与相应的基线值比较,计算测距综合标准差(标准差表达公式为a+bD):
式中,li=|D0i-Di|;a为测距仪标准差偏差表达式固定误差部分;b为测距仪标准差偏差表达式比例误差部分;D0i为基线值;Di为经修正后的距离观测值;n为组合基线的段数;i =1,2,3,…,n。其功能实现的主要模块及效果如图5所示。
图5 误差a、b计算模块及效果图
当该系统测量保存数据后,用户可以通过搜索查询功能方便快捷地查找之前保存编辑过的数据内容。通过输入关键词作为关系数据库的查询方式,为用户提供一种简单而友好的界面,在效率和效果上满足用户需求。
由于先前保存的文件都有仪器型号、编号、检定日期等多种信息,这些内容都可作为查询条件。例如想查找所有该软件测量过的GTS-311系列的全站仪,便可以在查找输入栏中输入“GTS-311”,软件可将所有先前保存的GTS-311信息列出来。其功能实现的主要模块及效果如图6所示。
图6 查询功能模块及效果图
本文详细地介绍了基于Android的全站仪测距部分检定项目的计算查询等功能的开发与实现,进行了整体框架算法的设计。结合相关检定规程设计实现了相关功能,罗列出了一些主要设计流程图和功能架构模块,展示了系统运行的部分界面和效果。从使用效果来看,该系统运行效果良好,提高了检测工作效率,节约了记录纸张,利于及时现场查找仪器问题,也方便了电子档案的管理等。Android在测绘仪器检定方面还处于探索阶段,通过对已做工作的思考和总结可以证明,这种方式对测绘仪器检定工作具有较好的辅助作用和较高的推广借鉴价值。
[1]JJG 703-2003.光电测距仪计量检定规程[S].
[2]王寅峰,许志良.AppInventor实践教程[M].北京:电子工业出版社, 2013
[3]杨俊志.全站仪的原理及其检定[M].北京:测绘出版社,2004
[4]杨德麟.红外测距仪原理及检测[M].北京:测绘出版社,1996
[5]王向辉.可视化开发Android应用程序——拼图开发模式App Inventor[M].北京: 清华大学出版社, 2013
[6]段定乾.电子速测技术[M].北京:解放军出版社,1996
[7]叶晓明,凌模.全站仪原理误差[M].武汉:武汉大学出版社,2004