APP开发在工程测量中的应用

2016-09-27 01:42郑晓栩
福建建筑 2016年7期
关键词:观测点读数校验

郑晓栩

(福建省建筑科学研究院 福建福州 350025)



APP开发在工程测量中的应用

郑晓栩

(福建省建筑科学研究院福建福州350025)

针对当前测量外业工作中的计数工作弊端,引入手机客户端(APP)开发的概念,立足IOS开发平台,解决了计数工作中多种常见的错误,并在对目前App总结分类的基础上,探讨了监测行业中哪些功能适合App化以及所要考虑的因素。

手机应用;工程测量;发展方向探讨

0 引言

在测量的外业工作中,通常需要面临大量的数据记录,沉降观测尤其如此,一个测回内的转点以及观测点的个数之多,足以放大出现失误的可能性。而在实际的沉降观测过程中,出现错误的概率确实不小。常见的错误主要有:观测点号记录错误,导致前后两次数据无法比较;同一观测点的两次读数相差较大,但在观测的当下并未发现,而将错误带回内业计算,增大了闭合差;记录的字迹潦草,导致内业计算时候分辨不清;对记录数据进行录入时,因录入过程冗长,易出现录入错误;或对记录数据没有及时录入,直至数据遗失无法挽回。以上问题的解决途径,可以归结为3个方面:(1)提高现场记录的准确性;(2)提高内业录入的效率;(3)完善记录数据的保存。而将此过程电子化,有助于解决以上问题。

但考虑到笔记本电脑体积大、重量重的特点,难以在测量过程中随身携带,因此需要寻找一种更为便携的设备来实现。而如今,手机逐渐普及,功能也不再只局限在单一的通话上,满足不同功能的App应用层出不穷,使手机在一定程度上以一种更为便捷的方式完成了以往电脑才能完成的工作,从而拓展了手机的可能性。

目前,主流的手机应用(App)开发平台主要有2种:IOS和Android,本文以IOS开发平台为例,将其与沉降观测的计数工作相结合,在实现计数这一基本功能的同时,考虑了上述提及的问题并提出解决的实现方案。

1 方法及案例阐述

现通过一份观测记录来阐述:首先是计数这一基本功能的实现,通过添加3个文本框控件,分别用于“点号”、“一次读数”、“二次读数”的输入,以及一个开关控件,用于前后视的输入,并通过两个按钮将输入的数据信息进行保存或删除[1]。保存在本地的数据,采用数组结构,写入的顺序为时间顺序,从而无需另外进行数据的排序,直接将数据按时间顺序显示,便于查询。采用的变量类型包括数组、字典、字符串、数值[2]。数组的输入具有先后的顺序性(按0,1,2……),适合于按时间输入的数据,比如每一组(次)的记录;字典的输入具有无序性,但元素一一对应,适合于特定性的数据,比如记录的点号、读数等。数据结构见图1。

具体到本份观测记录,则首先需要从App入口进入,通过右上角“+”按钮添加新工程,工程自动按日期排序(数组的特性),如图2所示。进入新工程,便可再通过右上角的“+”按钮添加观测点,如图3所示。

图1 数据结构图

图2 新建工程 图3 新建观测点

在提高记录的准确性上,主要通过数据校验来实现。当对第一个数据输入完毕后,根据2次读数的要求,会在一个标签控件上显示下一个即将读到的读数的“准确值”来作为下一个实际读数的提示,而在输入第二个读数后,此标签控件又将显示这两次实际读数的差值,从而对两次读数的准确性做出校验,省去了记录人员心算的步骤,基此,甚至可以将记录工作直接交由测量人员一并完成,节约人力。这种校验是通过对文本框内内容的输入状态(正在输入或输入完毕)做判断并调用相应的方法,需要使用文本框的代理方法来实现[3]。同时,对记录的各观测点增加排序功能,使记录的顺序更加灵活。

承上,在进入新建的观测点后,可在相应空栏处输入内容,当输入第一个数值时,如“103201”并将光标移到下一读数的输入时,就会在左侧显示按照尺常数校验后(数据校验的铟钢尺尺常数为301550)应该读出的理论准确读数“404751”,并自动在读数2的输入框内预先填充其前5位读数“40475”并等待用户输入最后一位,如图4所示。待用户输入读数2(如“404755”)后,点击键盘的完成按钮或移开光标,左侧则显示出这两次读数按尺常数的实际差值“4”,如图5所示。最后点击“Save”按钮保存本观测点,“Cancel”按钮则使用户退出本观测点的输入并在用户有输入操作时提示是否保存,无操作则直接退回上一页面,但观测点仍保存在工程中,“Delete”按钮则直接删除本观测点并退回上一页面。此外,当用户输入的读数过大或过小,如在读数1输入“11”并进入读数2的输入时,会跳出提示框提醒用户输入的数据有误,如图6所示。

图4 读数预读填充 图5 两次读数校验

返回工程界面后,“Edit”按钮可用于工程内观测点的排序和删除操作,如图7所示。“Save”按钮用于保存本工程并重命名本工程,如图8所示。

图6 读数输入校验 图7 “Edit”按钮

图8 “Save”按钮 图9 “SandMail…”按钮

在提高内业录入效率方面,主要涉及数据的传输,这里提出的方法是,将保存在本地的记录数据生成一份文本文档,并藉由邮件发送至邮箱,之后计算人员就可以通过电脑将此文本文档下载下来,用于数据的导入;而数据的导入,可以再由电脑端的软件来实现,从而使记录数据准确快速的导入。数据导入可以通过excel的VBA、VB或其他方法来实现。同时,将每次下载的文本文档进行归档整理储存,方便今后的查找和复用,从而解决了记录数据的保存问题。

具体来说,就是当完成本工程的观测任务后,可以通过“SendMail…”按钮将本工程打包成文本格式发送至邮箱,如图9所示。之后在电脑端下载并导入Excel中。导入方法在本App的应用商店以及简介中都已提供,这里不做详述。

2 案例总结

通过上述案例提供的方法,有效解决了计数工作中记录、录入、归档方面常遇的问题,满足了准确性和提高效率的要求,有助于测量人员省时省力无误地完成工作。

但是,为什么要选择App化的解决方法呢?这就需要先弄明白App化的本质是什么?从本案例出发,即计数工作中对误操作的问题的解决,其实质则是把“数据”的“使用功能”实现出来,因为错误的数据是不具有使用价值的。再进一步抽象的话,可以把“数据”看作是一样“产品”,那么就是要把这个“产品”的“使用功能”实现出来。我们可以把数据的记录、录入、计算分析类比做产品的生产、运输、销售,计算分析就是数据的使用功能,产品也只有到达消费者才能实现其使用功能。那么,App在其中是一个什么角色呢?如果说火车飞机等交通工具是对过去马车信鸽等运输方式的一次升级,那么,App则是对这些交通工具的再一次升级,只是他的对象不是实体产品,而是“数据”,或者说是“对使用需求的描述”,而且即使是实体产品不也一样可以抽象为这样一种“描述”吗?运输的对象不再是实际“已完成的东西”,而只是一种对“这个东西的描述”,在以最快的方式到达对方后,再去实现其“功能”并形成产品。可见,App化的本质,可以理解成一种更为完善和快速的交通工具,解决的是传输环节的问题。

当然,电脑的功能和App类似,但电脑由于其更为精细的操作,更适合那些有详细而复杂的需求或者由多种需求组合而成的“使用功能”,而App则更适合那些点对点的直接需求,是一些简化而直接的“功能描述”。

由此而产生的问题就是,我们监测工作中哪些需求,或者说哪些“功能描述”是适合使用App这一交通工具的呢?

3 相关探讨

就测量工作而言,外业需要面对大量数据收集,内业则要面对大量的数据计算整理。显然,内业工作交由电脑完成更为合适,其余的工作内容,有哪些可以交由手机应用来完成,是需要探讨的;而就手机应用而言,由于其不同于电脑软件,不能进行复杂而精细的操作,而且画面也有局限性,因此对于那些只需在一块小小的视野内,进行一些非此即彼的、又不打算开电脑的操作,最为合适。其他的情形,不是说通过手机应用不能实现,只是鉴于操作的复杂性和实现的性价比等的考虑而显得不合适。用户的每一步操作,都可以理解为一次输入(每一种输入,都可理解为对某一种功能的描述),目的是为了得到软件或应用的反馈,即输出(每一种输出,都可以理解为对这一描述的实现)。而纵观目前手机应用的功能,若从用户输入的目的角度,暂可以概括为以下4种类型:

(1)保存型。主要对用户的输入进行存储,位置可以是本地,也可以是云端。比如笔记类、摄影类的应用、登入的用户名、密码等,这类输入的私有性较突出,和用户的联系最紧密。

(2)查询型。主要对用户的输入进行查询和展示,同样可以是对本地数据库的查询,也可以是对网络资源的查询。比如字典类、浏览器类的应用,这类输入所反馈的结果,而非输入本身,与用户的关系紧密。

(3)提醒型。主要将用户的输入与某个设定的条件进行关联,并在条件满足时生效。比如备忘类的应用,这类输入与用户只在条件满足时关联,而非时刻关联。

(4)交流型。主要对不同用户之间的输入进行交换,通过网络进行。比如交流类的应用,这类数据对输入的用户自身关联不大,但对接收的用户关联紧密,在输入到达对方时生效。

以上述的计数应用为例,“点号”、“前后视”、“读数”的输入属于保存型的输入,“输入的数据是什么”是重点;数据校验则属于查询型的输入,“输入的数据是否符合精度”的这一反馈是重点;发送至邮箱的功能则属于交流型的输入,“成功发送至邮箱”是重点。而从整体上看,此应用还是以记录并发送为主,因此属于保存-交流型。若与直接在电脑上进行输入相比,其优点在于更便捷的操作上,而与直接在纸上笔记记录相比,其优点在于更准确的操作。

因此,回到前面提出的,在寻找哪些功能适合由手机实现的问题上,若从这个角度入手,作者试提出以下建议:

(1)对于查询型的输入,可以开发一个规范的查询应用。通过输入关键词,就可以对给定的规范进行查询,并将查询结果按章节位置列出,点击再另显示出具体细节内容。

(2)对于提醒型的输入,可以开发一个监测项目的进度控制应用。通过添加监测工程,设定监测频率,就可以在每天显示当天应该前往的工程,每个工程涉及的监测项目,并通过标记来区分已完成和未完成的工程和项目,并对未完成的工程进行持续提醒。

但目前的现状是:建筑行业的App以Android平台的居多,主要集中在论坛类、考试类、读图类以及电商类等,而测量方面的App更是只有几家创业公司在做,而且功能很不完善,对于大公司,则又不愿意去接这样专业性要求高的项目。总的来说,虽然所需开发的功能要求较专一、但由此实现的算法(需要满足对各个不同项目的通用性、以及与其他应用之间的对接性)却较复杂、因此在性价比方面的劣势也阻碍了此类App的发展,使得行业的App发展总是有种抽一鞭走一步的被动性和各自为营的独立性。

总之,采用App化的方法前需要考虑到以下两个问题,一个是哪些功能适合App化,另一个是否值得App化。从现状来看,前者是前提,后者是基础。

4 结论

通过将手机应用平台引入外业测量的计数工作中,使计数工作中常犯的记录、录入、归档方面的错误得到有效的解决。同时提出要在测量领域实现App化,可以从功能发掘的出发点、算法实现的性价比、同行业平台接口的通用性和统一性等方面考虑。

[1]David Mark, Jack Nutting, Kim Topley, Fredrik Olsson, Jeff LaMarche. 周庆成,邓强, 武海峰,等,译. 精通iOS开发(第7版)[M]. 北京:人民邮电出版社, 2015.

[2]Stephen Kochan.林冀,范俊,朱奕欣,译. Objective-C程序设计(第4版)[M].北京:电子工业出版社,2012.

[3]Matt Neubury.夏宏, 贾静, 平琚赟,译. iOS编程(第三版)[M].北京:中国电力出版社,2014.

Application of App development in Engineering Survey

ZHENGXiaoxu

(Fujian Academy of Building Research ,Fuzhou 350025)

According to the wrongs of recording task in current field survey, Mobile App(Application) Development, which was using IPhone Operation System, was introduced, and the mistakes in recording task were solved. Also, based on the summary and classification of current Apps, what kind of function in monitoring works was appropriate for App Development, and what factors need to be considered were discussed.

Mobile App; Engineering Survey; Tendency Discussing

郑晓栩(1988.05-),男,助理工程师。

E-mail:408445251@qq.com

2016-05-11

TU198+.7

A

1004-6135(2016)07-0109-04

猜你喜欢
观测点读数校验
高速公路网连续式交通量调查观测点布设方法研究
洛阳市老城区西大街空间形态与热环境耦合关系实测研究
读数
炉温均匀性校验在铸锻企业的应用
读数
读数
读数
张掖市甘州区代表性观测点地下水位变化特征分析
基于升降温全曲线的钢筋混凝土梁温度场分析
大型电动机高阻抗差动保护稳定校验研究