一种混合应用模式的土地执法核查APP的设计与实现
——以武汉市国土规划执法监察移动系统为例

2018-02-28 02:53童秋英汪文豪
测绘通报 2018年1期
关键词:跨平台服务端图斑

余 健,童秋英,朱 波,汪文豪

(1. 武汉市国土资源和规划信息中心,湖北 武汉 430014; 2. 武汉光庭信息技术股份有限公司,湖北 武汉 430073)

随着新型城镇化的快速发展,土地供给与需求的矛盾日益突出,国土资源执法监查成为国土资源管理工作的重点[1-2],而国土资源执法工作的重点为外业核查。当前,外业核查手段主要为以下3种:一是利用纸质影像图、土地利用规划图和现状图,加之手持GPS和数码相机等作业工具开展外业现场记录核查内容,通过内业上图、入库实现统计、汇总、分析,以获取图斑合法性和审批状况等信息,其作业方式传统,信息化程度低,数据协同采集能力较差[3-5];二是依托GIS、无线通信技术及智能移动终端设备,采用嵌入式、组件式开发或基于ArcGIS SDK进行原生应用开发,其开发周期长,技术难度大,针对不同平台及屏幕尺寸的智能移动终端需分别开发移动应用,不具备跨平台能力,且后期维护成本高、效率低;三是采用Web开发模式实现移动GIS系统开发,虽可以解决跨平台移植问题,但其调用本地设备API能力较弱,不支持离线和本地文件访问,适应国土资源执法场景的应变能力较差。随着国土资源执法工作要求的提高,其对地理空间信息服务的需求日益显现,移动GIS技术在土地执法上的应用层出不穷[6-12],迫切需要研究可跨平台的、高移植性的、支持离线和本地文件访问的移动GIS应用开发模式,以适应多场景下国土资源执法监查外业核查工作的需要。为此,本文研究基于Ionic和Cordova框架,结合SOA架构(service oriented architecture,SOA)和WebGIS技术的混合开发模式,并设计开发土地执法核查APP,应用结果表明,该系统可较好满足国土资源执法多场景、多业务、多设备的应用需要。

1 混合应用开发模式

1.1 混合应用特点

混合应用(hybrid APP)是使用移动平台原生程序语言(Native)和网页开发语言(Web)进行混合开发的应用程序,其实质是在设备原生系统中嵌套内置浏览器控件,再使用Web开发技术对浏览器内部加载的网页进行UI界面设计及功能实现[13],兼具了Native APP的良好用户体验和Web APP跨平台、高效开发和低成本的优势。开发混合应用的方式一般称为混合应用开发模式。

1.2 土地执法APP开发模式

鉴于混合应用(hybrid APP)的特点和优势,以及国土资源规划执法外业核查工作对GIS功能的需求,武汉市土地执法APP以Cordova和Ionic为基础,结合移动WebGIS技术和SOA架构进行混合开发,以快速实现跨平台、低成本、可扩展、易维护等移动执法应用。

Ionic基于HTML5移动端应用开发框架,提供丰富的UI组件和CSS样式库,其响应式布局Web设计原则可实现屏幕大小或像素密度来产生更优化的体验[14]。系统前端展示页面基于Ionic的UI框架和组件,可应对多设备、屏幕多尺寸、多分辨率的适配;Cordova框架提供Javascript访问移动平台的API[15],支持主流移动开发平台(iOS、Android、Windows Phone等),移动端底层采用Cordova的插件和API接口,可适应移动设备的多样性特点[16];WebGIS技术结合SOA架构,使GIS Web服务具有封装良好、可重用、易拓展维护的特点,为系统实现跨平台特性奠定基础。

2 土地执法APP总体构架

2.1 土地执法APP基础支撑

土地执法APP依托武汉市国土规划云平台基础设施及其提供的硬件和网络可弹性伸缩的虚拟化运行环境,以保障系统稳定运行和内、外网数据交互;基于武汉市国土规划资源中心及其提供的基础地理、调查评价、规划编制、土地管理、规划管理、执法监查等多类型资源,以保障系统数据安全和高效、灵活、可扩展的资源服务,为系统实现跨平台特性奠定基础。

2.2 土地执法APP总体架构

土地执法APP总体架构主要包括移动端与服务器端两大部分。移动端负责交互界面展示及基本功能实现;服务端主要提供基础设施、数据和标准服务支持,并负责处理移动端的各种服务请求。

土地执法APP移动端由应用层、桥接层、组件层、设备层4层组成,如图1所示。

图1 土地执法APP系统架构

(1) 应用层:负责交互界面展示、业务功能实现、与服务端通信。采用Ionic框架渲染应用程序的外观和样式,并用Ajax技术与服务器端通信,结合WebGIS实现业务数据更新和地图应用交互;与底层设备的通信通过调用Cordova的API实现。

(2) 桥接层:实现跨平台操作的关键,负责原生代码与Javascript代码的双向通信。Cordova根据不同平台中WebView的特性,将桥接方法进行封装,为前端应用层提供通用API接口。

(3) 组件层:Cordova将各个平台的原生接口进行封装,以插件形式提供桥接层可调用方法。

(4) 设备层:涵盖IOS、Android、Windows Phone、Blackberry等主流操作系统,并提供原生API接口供组件层调用。

3 土地执法APP功能实现

3.1 移动执法业务流程设计

根据土地执法业务需求,为适应多场景下国土资源执法监查外业核查工作需要,优化土地执法外业核查业务流程,并以跨平台、可移植为目的,设计土地执法APP功能。土地执法外业核查业务流程如图2所示。

(1) 内业制定核查任务,在APP中规划核查路线。

(2) 进行图斑定位,到达现场,记录核查轨迹。

(3) 在APP中叠加影像或相关审批信息图层,对执法图斑进行综合判断,使用在线空间叠加分析等功能,实时获取图斑审批情况及现状信息(批、征、供、登、补、查)。

图2 土地执法外业核查业务流程

(4) 进行拍照、录音或录像,在线填报核查信息,并实时上传。

(5) 云服务器端的图斑信息实时共享,内业人员同步开展核查信息审查、统计报表制作、信息发布等操作。

3.2 移动执法系统功能设计

移动执法系统主要包括前端展示、业务逻辑、本地数据缓存和服务管理4大功能模块。前端展示模块负责向用户展示信息,业务逻辑模块实现客户端业务逻辑功能,本地数据缓存模块实现业务数据及用户信息的本地缓存,服务管理模块完成移动端与服务端的服务接口统一管理。系统核心功能如图3所示。

图3 土地执法APP功能设计

(1) 轨迹记录:记录核查人员实时坐标,根据坐标自动生成路径,高亮显示在地图上,同时将核查轨迹信息同步至服务器,方便核查人员后期查询及整理。

(2) 路线规划:根据图斑空间分布状况,规划外业核查路线,并在移动APP地图界面手工勾绘路线,辅助管理人员合理安排核查任务,杜绝核查盲区。

(3) 信息采集:以图斑为单位,移动APP提供多种外业信息采集手段,如拍照、录像、录音、文字输入和空间坐标信息采集等。

(4) 在线填报:通过在系统展示页面编写数据填写逻辑规则,控制图斑核查信息规范性及完整性,保证核查人员填报信息高效准确。

(5) 数据同步:核查人员通过APP记录的信息,包括核查轨迹、文字、照片、视频、录音等实时同步至服务端,方便内业管理人员统筹管理,实时审核填报信息,并自动生成统计分析图表、核查进度表等统计信息。

(6) 空间分析:针对单个图斑,提供图斑在线分析功能,通过调用空间分析服务,实时反馈图斑范围内的批、征、供、用等审批信息,为外业核查人员提供科学判断依据。

3.3 移动执法系统功能实现

3.3.1 前端界面跨平台展示实现

前端展示功能是本系统的重要组成部分,需适应不同分辨率的移动终端屏幕,且要求样式丰富、布局合理、响应高效、操作方便。本系统前端展示功能基于Ionic框架及其各类UI组件开发实现(见表1)。

表1 前端展示界面应用的Ionic组件库

基于Ionic框架的HTML5+CSS3规范,利用CSS3的媒体查询(media query)技术,检测设备的宽度、高度、屏幕分辨率等媒体特性,然后执行与之对应的CSS3样式,使本系统页面可自动适配不同尺寸及分辨率的设备屏幕。同时,利用Ionic框架提供的UI组件,包括Slide Box、Modal、Action Sheet、Popup、Loading、Platform、Gesture、Backdrop、Utility、Keyboard等以及丰富的CSS库,实现原生设备的广泛适配。

3.3.2 系统业务逻辑功能实现

本系统业务逻辑功能通过Ionic结合ArcGIS提供的Javascript API WebGIS框架以及服务器端提供的RESTful服务支持,实现位置获取、图斑定位、轨迹记录、路线规划、信息采集、信息展示、在线填报、数据同步、图层显示和空间分析等功能;涉及调用移动设备原生接口的,则采用Cordova提供的插件和接口。Cordova在本系统开发中提供加速计、摄像头、罗盘、通讯录、文档、GPS定位、媒体库、网络、通知(警告、声音和振动)及存储等接口。

3.3.3 系统本地缓存功能实现

本地缓存数据包括结构化数据和非结构化数据。结构化数据主要涉及用户登录信息、行政区数据字典等数据,采用HTML5内置本地数据库SQLite实现存储管理;非结构化数据主要涉及照片、文本、视频和音频等数据,采用HTML5本地文件系统实现缓存。

3.3.4 系统服务接口功能实现

系统服务端基于SOA体系架构,将服务端资源进行整合,并封装成Web Service以回应请求,为跨平台终端提供动态调用的API接口。

(1) 身份认证服务。从系统安全性和可扩展性考虑,本系统服务器端大部分资源都需授权访问,因此需对客户端用户提交的登录信息进行认证。用户认证信息采用令牌方式存放于客户端Cookie中,用户每次请求都将令牌提交给服务器端,服务器端通过向认证服务请求验证令牌内容,获取用户信息,以完成用户身份认证。

(2) ArcGIS瓦片、要素和空间分析服务。外业执法核查人员需实时调用政务地图、基础地理及国土规划业务等图层,作为图斑判读依据。系统服务端通过集成ArcGIS Server组件实现地图瓦片服务和要素服务的发布,通过Web共享地图相关资源服务,满足地图和空间分析功能广泛适应各种环境和设备,以提供地理空间Web服务供客户端调用。

(3) 照片、视频云存储服务。因执法外业核查涵盖多项执法业务,照片和视频数据量增长迅速,且执法人员浏览、查询、创建和删除操作高频和高并发。因此,采用云存储方案管理图片和视频数据,方便存储空间灵活扩展和高效维护;同时,在服务端云存储服务中,加密数据访问层,并通过公有API接口上传至云存储管理服务器,且提供数据分块存储、数据索引、数据搜索等功能,以提高外业数据访问和存储效率。

(4) 数据库服务。数据库服务采用RESTful风格,以URI方式统一数据库资源访问接口,向移动端提供数据服务。REST服务基于HTTP协议,终端应用使用不同的HTTP方法(POST、GET、PUT和DELETE)提交请求,即可对URI代表的数据库资源进行创建、读取、更新和删除操作,实现服务端数据规范管理和交互处理。

(5) 空间辅助分析服务。土地执法外业核查工作中,需适时获取核查图斑所在范围内的管理审批和利用现状等信息,帮助其进行在线辅助判断和分析。因此,系统移动端将图斑坐标串置于JSON格式数据向服务端提交请求,服务端接受请求后根据请求的方法类型,调用后台基础空间数据库,进行空间分析,然后将分析结果以JSON格式返回给移动端展示。

4 应用关键技术

4.1 基于Cordova框架实现系统跨平台应用

Cordova框架是本系统跨平台特性的关键所在,关键技术点为:Cordova针对不同的移动操作系统,通过CordovaWebView继承和扩展原生操作系统的内置浏览器——WebView组件,使开发人员在Cordova框架下可通过JavaScript访问设备本地API。具体实现方法为:首先调用CordovaWebView的initWebSettings,对WebView进行初始设置;然后为每一个应用创建PluginManager实例,用于管理应用插件;再通过建立CordovaBridge桥接类实现JavaScript到本地设备的双向通信;最后通过exposeJsInterface()方法,建立ExposedJsAPI对象,向Web端暴露本地设备的通信接口。以照相机为例,JavaScript调用Cordova封装的硬件功能过程如下:

(1) 设置调用硬件的相关参数:

function setOptions(srcType) {

var options={

∥设置照片的质量,默认为20,50,100

quality:50,

destinationType:Camera.DestinationType.FILE_URI,

∥根据用户习惯设置照片数据源,可以设置为本地图片库,也可以拍照获取

sourceType:srcType,

encodingType:Camera.EncodingType.JPEG,

mediaType:Camera.MediaType.PICTURE,

allowEdit:true,

correctOrientation:true

}

return options;

}

(2) 传入相关参数,调用照相机功能进行拍照,拍照后Cordova调用回调函数给出响应:

function openCamera(selection) {

var srcType=Camera.PictureSourceType.CAMERA;

var options=setOptions(srcType);

var func=createNewFileEntry;

∥调用拍照功能

navigator.camera.getPicture(function cameraSuccess(imageUri) {

displayImage(imageUri);

∥根据实际业务需要,将获取到的照片存储在本地,或上传服务端

func(imageUri);

},function cameraError(error) {

console.debug(″无法获取照片资源:″+error,″应用系统″);

},options);

}

4.2 基于HTML5离线缓存技术提高系统响应速度

离线缓存是HTML5的重要特性,为本系统在无网络环境下提供数据访问提供解决方案。通过使用离线缓存,外业核查采集的数据首先存储在设备本地,然后异步存储至服务端文件夹或数据库,涉及文件的“增删查改”操作,则先操作本地缓存数据,然后异步操作服务端数据,从而减少系统负载,提高响应速度。针对外业核查业务中的不同数据类型,采用两种缓存机制进行本地缓存:

(1) 对执法业务中产生的图片、文本、视频和音频等非结构化数据,采用本地文件系统缓存机制,HTML5的File System API提供了一组操作文件和文件夹的接口,方便对文件进行读取、写入和创建等操作。终端设备获取新的照片或视频等文件时,首先存储到本地文件系统,同时调用云存储API,将静态文件压缩后上传至云端文件存储服务器,若无网络信号,则先存储在本地,待网络信号恢复时自动上传至服务端。

(2) 对图斑属性、用户信息及数据字典等结构化数据,采用基于Web SQL Database的数据库缓存机制,Web SQL Database提供创建、存储和查询数据库的API,供Web APP调用。通过缓存数据库的使用,Web APP可离线调用已填报图斑属性数据,若服务端数据出现更新,则向服务端发送请求,增量更新本地数据,减少对服务器的请求次数。

4.3 基于SOA体系架构提高系统可扩展性

系统服务架构基于SOA体系,并遵循REST风格约束,实际是一种RSOA(REST service-oriented architecture),即面向REST的服务架构[17],将实际的需求转化为服务资源,实现跨平台、跨语言、跨硬件的互操作,提高其可扩展性。

5 结 语

基于上述混合开发模式设计研发的武汉市国土规划执法监察移动系统,已广泛应用于全市土地执法日常巡查、卫片执法检查、新开工项目核查、土地利用动态巡查、土地变更调查、规划卫片执法检查及违法案件查处取证等土地执法监察工作中,实现了路线规划、轨迹记录、图斑核查信息采集、在线填报、辅助分析和数据同步等一系列执法应用,相比之前的外业核查作业方式,在节约时间和人员投入的基础上,显著提高了执法的快速性、精准性和覆盖面。实践表明,本系统可稳定运行于Android、IOS、Windows Phone等多种主流移动端操作系统,并适配各种屏幕尺寸终端设备,具有高效、快速、跨平台、可扩展等特点,其功能高效实用,维护方便快捷,创新了基层国土规划执法核查工作模式,显著提高了工作效率和工作质量,具有广泛的推广使用价值。

[1] 苏楠.我国国土资源执法监察机制研究——以宿迁市为例[D].南京:南京农业大学,2013.

[2] 龙开胜,陈利根.中国土地违法现象的影响因素分析——基于1999—2008年省际面板数据[J].资源科学,2011,33(6):1171-1177.

[3] 赛永忠,李仁丽.当前土地执法监察工作问题初探[J].山东国土资源,2009,25(9):4-5.

[4] 卫宝军.当前土地执法监察现状浅析[J].国土资源情报,2008(8):19-22.

[5] 康铭东,彭玉群.移动GIS的关键技术与应用[J].测绘通报,2008(9):50-54.

[6] 潘骁骏,李京,岳建伟,等.基于PDA的嵌入式土地执法系统的设计与实现[J].测绘科学,2008,33(S1):142-143.

[7] 王振中.“3S”技术集成及其在土地管理中的应用[J].测绘科学,2005,30(4):62-64.

[8] 李泽沛.基于野外数据采集的移动GIS研究[D].昆明:昆明理工大学,2008.

[9] 徐柳华,陈捷,陈少勤.基于iPad的移动外业信息采集系统研究与试验[J].测绘通报,2012(12):75-78.

[10] 吴长彬,孙在宏,吉波,等.基于3G和嵌入式GIS的土地移动执法监察系统[J].测绘通报,2011(3):63-81.

[11] 江鹢,贺弢,明庭辉,等.基于GPS、GIS和移动通信技术的国土资源移动巡查系统总体设计[J].测绘通报,2010(6):65-68.

[12] 王刚,韩振镖.面向Android智能移动终端的GIS设计与实现[J].测绘通报,2013(8):77-80.

[13] 宏伟.基于PhoneGap的跨平台移动应用开发及其性能优化[D].成都:西南石油大学,2015.

[14] 朱凯南,李艳平,申闫春,等.基于Ionic和Cordova的跨平台移动APP的研究与应用[J].电脑知识与技术,2016,12(1):119-121.

[15] 夏东翔.基于优化的Cordova的混合型应用平台开发[D].大连:大连理工大学,2015.

[16] LYLE J,MONTELEONE S,FAILY S,et al.Cross-platform Access Control for Mobile Web Applications[C]∥IEEE International Symposium on Policies for Distributed Systems and Networks. [S.l.]: IEEE, 2012:37-44.

[17] 肖鹰东.基于混合风格的移动基站查勘GIS系统框架的研究与实现[D].成都:西南交通大学,2013.

猜你喜欢
跨平台服务端图斑
地理国情监测中异形图斑的处理方法
跨层级网络、跨架构、跨平台的数据共享交换关键技术研究与系统建设
新安县有序开展卫星遥感监测图斑核查工作
基于C#编程的按位置及属性值自动合并图斑方法探究
一款游戏怎么挣到全平台的钱?
土地利用图斑自动检测算法研究
新时期《移动Web服务端开发》课程教学改革的研究
基于C++语言的跨平台软件开发的设计
基于B/S的跨平台用户界面可配置算法研究
摸清黑客套路防范木马侵入