韩葵,胡朝辉,卢永华(深圳市勘察研究院有限公司,广东深圳 518026)
基于模板引擎驱动的地下管线数据采集-处理一体化系统
韩葵∗,胡朝辉,卢永华
(深圳市勘察研究院有限公司,广东深圳 518026)
摘 要:随着城市地下空间的发展,城市地下管线普查、规划越来越受重视,城市地下管线探测成为基础测绘的重点。为了适应城市中发展越来越多样化的管线探测需求,改善传统的内外业作业方式,本文设计并开发了基于模板引擎驱动的地下管线数据采集-处理一体化系统,系统为不同地方标准、不同探测目的管线项目提供了可扩展、可定制、适应性强的管线探测作业工具,提高管线项目数据生产效率和自动化水平,保障数据生产质量。
关键词:模板引擎;管线;一体化;数据生产;自动化
随着城市的发展,城市地下空间越来越受重视,城市地下管线探测成为城市基础测绘的重点。近年来,各类项目需求的发展,传统固定成果格式的综合管线探测项目逐渐转变为以某类管线为主的专业管线探测项目,数据采集方式、成果格式都提出了新的要求,特别是不同专业类型的管线,由于建设单位[7]和资料用途不同,产生了大量新的成果格式,对管线探测数据处理与自动化生产提出了新的要求。同时,与管线有关的,如管道检测等新兴项目在深圳等大城市的大规模开展,增加了多种成果格式,且计算量大,成果表多,图面信息专业性强,现有的管线处理软件已无法满足生产要求。
为适应不同数据标准,在同一平台下满足各类管线项目数据采集信息化、数据处理自动化、成果导出多样化的生产需求,本文设计并实现了基于模板引擎驱动的地下管线数据采集-处理一体化系统,以匹配各种数据标准的系统模板,创建与之匹配的程序界面,结合可定制的数据处理逻辑,实现软件的自适应性,解决不同类型项目数据生产软件差异化的问题,完成地下管线相关项目的数据生产任务。
目前,地下管线项目数据处理的软件多以固定的数据标准为数据接入口,当有新的需求时,则通过增加数据接入口格式与增加成果输出格式的方式,开发新的工具条、界面视图、数据处理逻辑,以实现管线数据生产的自动化与批量化。
2.1堆砌式主要特点
(1)开发平台统一,系统框架不统一、可扩展性差; (2)工具条和视图任意叠加,且相互独立,缺乏系统性;
(3)适应性差,使用范围局限,推广性差; (4)开发简单。
2.2并列式主要特点
(1)开发平台不统一,系统性差;
(2)针对性强,适应性差,不具推广性;
(3)界面继承性差,不利于用户学习使用;
(4)开发简单。
堆砌式和并列式具有天然的缺陷,导致目前新类型、新需求的管线项目生产中,无法满足自动化生产的需求。尤其是,管线项目的迅速发展,没有内外业一体化的、可扩充的管线数据生产软件,导致外业记录、内业录入、数据处理不能基于同一数据库,数据格式多,图属一致性差。
为适应目前多需求、多类型的管线项目生产需求,本文提出了基于模板驱动的地下管线数据采集-处理一体化系统。系统以统一的可扩展框架作为内核,以模板作为用户定制基础,以模板引擎、数据模型作为视图转化、数据处理的动力引擎,根据不同项目、不同需求,生成不同的用户定制界面、成果定制格式、数据处理定制逻辑,同时,系统为用户提供丰富的图属一致性操作,彻底解决管线图属操作不一致的问题。
同时,系统注重外业数据采集和内业数据处理一致性,图形操作与属性操作的一致性,解决管线数据调查、测量、成图、成表的作业流程分离问题,力求真正实现地下管线探测数据成果从始至终全电子化、信息化。
系统设计分为三个部分,一是基于Android平台的数据采集终端[9],二是基于Windows PC的数据处理终端,三是基于Web服务的数据同步服务端,网络数据库采用开源数据库Mysql,数据处理逻辑采用PHP语言开发。
系统通过Android平板电脑将采集的数据利用无线网络实时传输至Web数据服务器进行保存;Web服务器实时对Android客户端传输的数据进行分析、统计、检查,并发送回Android客户端,有外业作业人员及时对数据进行验证、修改;Windows PC客户端通过从Web数据库中获取数据,并进行数据处理,按照所需格式导出成果。Android客户端、Web数据库、Windows PC客户端均采用同一数据视图模板,建立模板驱动引擎,实现统一数据格式的数据操作。
3.1基于模板驱动的系统总体设计与系统架构
管线类项目数据生产主要分两大环节:数据采集与数据处理,系统根据数据采集在野外,数据处理在室内的区别,设计分两大板块:数据采集终端(Pad端)与数据处理端(PC机端),两大板块通过共用系统定制模板与数据库服务端,实现数据实时交换、数据质量实时跟踪。如图1所示:
图1 基于模板驱动的系统架构图
3.2逻辑模板
3.2.1模板表达
模板以XML数据库的形式存储,结合XML节点的层级包含和模板意图的表达,形成系统可解译的视图(View)或过程(Function)。视图是以操作界面的形式,与用户进行交互,过程则是以功能函数的形式,处理用户与系统交互过程中的事务请求。
3.2.2 模板创建
系统分别为一般作业人员和高级技术人员提供了两种截然不同的模板创建方式。针对一般作业人员,系统以交互视图的形式,通过界面的点选、录入等方式创建模板;针对高级技术人员,系统则提供模板代码编辑窗口,通过直接输入、编辑模板代码的方式创建新的模板。其中视图模板和简单的过程模板可由界面交互的方式创建,算法复杂的过程模板,则只能通过直接编写模板代码的方式创建。图2为两种模板创建方式的视图:
图2 两种模板创建方式的视图
3.2.3模板分类
模板主要分为视图模板(界面逻辑模板)和过程模板(数据检查逻辑模板、数据处理逻辑模板、数据统计逻辑模板、数据交换逻辑模板)。
(1)界面逻辑模板
不同数据标准最直接表现为数据录入界面的不同,用户根据项目需求,建立适应该项目数据格式的视图模板,系统则根据模板统一管理机制,利用模板引擎,驱动生成与之相匹配的录入界面、录入提示逻辑、数据存储的数据库结构,从而保证操作者按照项目数据标准生产数据。
(2)数据检查逻辑模板
不同类型的数据,检查类型、检查重点不同,按照界面逻辑模板所建立起的数据字段信息,系统自动生成或用户通过设置定制,形成满足用户需求的检查逻辑模板,系统可根据检查逻辑模板完成数据的拓扑检查、逻辑检查、标准化检查、自定义综合检查。
(3)数据处理逻辑模板
管线数据处理包含图形数据处理和属性数据处理,通过用户自定数据处理逻辑,可以达到设定条件,批量化处理数据的目的,如批量移动管线点号、图形缩编、批量筛选、批量管线符号替换等。
(4)数据统计逻辑模板
围绕管线、管点数据的统计包括类型统计、数量统计等,用户根据界面逻辑模板字段,建立数据统计逻辑模板,完成属性数据和图形数据的各项统计。
(5)数据交换逻辑模板
界面逻辑模板解决的是数据录入的统一,成果导出逻辑模板解决的是利用已录入的统一数据生成各类所需数据成果,包括定义标注字段、标注类型、图形比例尺、图层划分、数据表格所需字段、属性数据格式(Excel、Word、Mdb等)、图形数据格式(dxf、dwg、shp、mdb等),成果格式完全由自定义的模板控制。
3.3模板驱动引擎(模板控制器与模型控制器)
系统三个部分,采用三种平台,但模板控制器和模型控制器保持采用“接口-虚类-实体类”的形式设计开发,模板控制器主要完成模板的生成、调用与管理,模型控制器主要执行模板所记录的数据逻辑,包括生成用户操作视图、数据库存储结构,执行数据处理、统计分析、成果导出等具体事务,是用户意图的主要执行者,是整个系统逻辑处理的核心。
4.1基于Android的数据采集Pad
Android平台上设计开发的数据采集Pad主要完成野外属性数据录入、数据传递、地形图浏览、百度地图导航、草图绘制、野外行驶路线及操作行为跟踪等任务,所记录的所有数据通过无线网络(3G或4G网络)上传至Web数据库。如图3所示:
图3 Pad端的模板引擎架构
4.2基于Mysql数据库的Web服务
Mysql数据库服务通过PHP语言利用项目模板生成与项目数据相匹配的数据库,并根据数据处理逻辑模板,生成数据库拓扑检查触发器、数据统计触发器。
同时,Web服务还兼顾消息分发与任务分发,将PC端的数据处理消息、Web服务端的数据自检消息及时分发至PAD端,另将PAD端的数据更新、删除、修改等信息、Web服务端的自动识别消息以及设备连接状态信息及时分发至PC端。项目管理人员的项目管理任务也是通过Web服务端及时分发给PC端和PAD端的生产技术人员。
4.3基于.net 4.0的数据处理PC
基于.net 4.0平台的c#语言进行PC端的开发,充分利用开源资源NPOI、netdxf、GDAL等开源类库,开发出不依赖CAD平台和Office平台的管线专用数据处理平台。
PC端主要完成Android端的数据接收、数据统计、数据处理、数据协同、成果导出、数据建库等任务,是系统的数据处理中心和管理中心。如图4所示:
图4 PC端的模板架构
系统主界面分为两部分:Android端和PC端,图5、图6为基于界面逻辑模板hk1.xml和mmt.xml模板的PAD调查属性输入界面和PC端的主视图界面。
5.1hk1.xml模板的内容
<Tpl>
<Setting><TplName name="tplName" value="hk1"></ TplName><TplCreator name =" tplCreator" value ="韩葵"></ Tpl-Creator>
<TplRemark name="tplRemark" value="测试2"></ Tpl-Remark>
<TplControlNum name =" tplControlNum" value ="3"></ TplControlNum>
<TplDate name =" tplDate" value ="2014/12/3"></ Tpl-Date>
<TplPipeClass name="tplPipeClass">
<val name="pipeClass" value="电力" classSymple=" DL" />
……
<val name="pipeClass" value="给水" classSymple="JL" />
</ TplPipeClass></ Setting><TplFields>
<Field name="MSFS" label="埋设方式" tapIndex="5" class="2" types="3" controlClass ="3" isNull ="0" isShow=" 1">
<val name =" fieldVal" value ="直埋" tapIndex ="0" class="全部" />
……</ Field>
</ TplFields>
</ Tpl>
5.2mmt.xml模板的内容
<Tpl>
<Setting><TplName name="tplName" value="mmT"></ TplName><TplCreator name =" tplCreator" value ="韩葵"></ Tpl-Creator>
<TplRemark name = " tplRemark" value = "慢慢挑"></ TplRemark>
<TplControlNum name =" tplControlNum" value ="3"></ TplControlNum>
<TplDate name =" tplDate" value ="2015/1/13"></ Tpl-Date>
<TplPipeClass name="tplPipeClass">
<val name="pipeClass" value="电力" classSymple=" DL" />
……
</ TplPipeClass></ Setting><TplFields>
<Field name="p_start" label ="预编点号" tapIndex ="0" class="3" types="3" controlClass ="1" isNull ="0" isShow=" 1" />
……
</ TplFields>
</ Tpl>
图5 hk1.xml和mmt.xml模板在PAD端的界面视图
图6 hk1.xml和mmt.xml模板在PC端的界面视图
基于模板引擎驱动的地下管线数据采集-处理一体化系统,更适合当前多类型、多成果需求的管线项目。项目作业人员不需要开发新的工具条和界面视图,就可以根据项目类型和业主要求进行任意定制,通过自定义录入界面、自定义查询、编辑、检查、统计、导出成果等模板,完成项目数据采集、处理以及入库等任务。
该系统的设计实现不仅对作业效率有了明显的提高,系统通过对用户数据操作行为的跟踪,能够很好记录用户的行为习惯,分析产生数据问题的原因,将数据采集、处理过程中人为错误率降至最低,提高数据生产质量。
参考文献
[1] 常洲,戴相喜,王华峰.地下管线内外业一体化探测技术研究及实现[J].测绘通报,2011(7):50~53.
[2] 樊静,周运斌.基于Android的地下管线竣工测量信息采集系统开发与实现[J].测绘通报,2013(S):260~263.
[3] 史廷玉,黄勇,张志全.面向多种应用主题的地下管线综合数据组织方法的研究[J].测绘通报,2005(1):35~38.
[4] 李学军,洪立波.城市地下管线探测与管理技术的发展及应用[J].城市勘测,2010(4):5~11.
[5] 宋卫明,苑志刚.管线探测数据内业处理流程优化[J].测绘通报,2013(S):276~277.
[6] 周京春,江贻芳,王贵武.地下管线技术标准数字化实施探讨[J].测绘通报,2010(2):56~59.
[7] 陈光.地下管线三维CAD与信息管理软件开发[D].西安:西安理工大学,2008.
[8] 李杰.城市地下管线技术及质量控制研究[D].北京:中国地质大学(北京),2013.
[9] 刘国安.平板电脑的地下管线数据采集系统应用[J].测绘通报,2013(S):151~160.
The System for Collection and Deeling Pipe Data Based By Template Engine
Han Kui,Hu Chaohui,Lu Yonghua
(ShenZhen Investigation & Research Institute Co.,Ltd,ShenZhen 518026,China)
Abstract:With the development of urban underground space,urban underground pipeline survey,planning more and more attention,urban underground pipeline detection has become the focus of basic surveying and mapping.In order to adapt to the development of the city,to improve the traditional method of internal and external operations,this paper designs and develops an integrated system of underground pipeline data acquisition and processing based on template engine driven.
Key words:template engine;pipeline;integration;data production;automation
文章编号:1672-8262(2015)05-47-05中图分类号:P208.2
文献标识码:A
收稿日期:∗2015—06—23
作者简介:韩葵(1987—),男,工程师,主要从事GIS应用开发以及管线探测、检测等方面的技术工作。