面向RIA模式的地籍测绘数据管理服务研究

2014-08-15 03:08张新长罗国玮郭泰圣
测绘通报 2014年6期
关键词:空间数据客户端测绘

陈 凤,张新长,罗国玮,郭泰圣

(1. 中山大学 地理科学与规划学院,广东 广州 510275; 2. 佛山市城市规划勘测设计研究院,广东 佛山 528000)

一、引 言

国土资源作为一种不可再生资源,在国民经济建设和社会生活中有着举足轻重的地位,是国民经济和社会的生命线。地籍管理是国土资源管理的重要内容,运用先进技术手段进行地籍数据管理是实现国土资源高效管理的基础,利用现代信息技术为地籍管理与决策提供服务是解决当前土地管理部门所面临挑战的重要手段之一[1]。随着国家各项政策的出台,城乡地籍数据越来越完整,信息量也越来越大,需要一个健全的系统来管理和应用地籍测绘数据,实现地籍测绘数据信息化管理。随着Internet技术和GIS技术的不断发展,作为二者结合的产物WebGIS应运而生[2-3]。由于地籍测绘数据Web服务信息量大,对数据执行的操作频繁,传统基于服务器端的WebGIS开发在实现高效的数据处理和数据展示时,客户端需要不断地向Web服务器发送请求,Web服务器再将请求传递给GIS服务器进行处理,最终将结果返回客户端显示。这种模式占用了大量的网络资源,且对服务器的硬件配置要求高。本系统采用ExtJS和REST技术,以富互联网应用(rich Internet application, RIA)为目标,将大量对空间数据的操作在客户端实现,节约了网络资源,提高了可视化查询和空间分析的能力,实现地籍测绘分散数据的集中管理,集中管理的服务分散应用。

二、关键技术

1. RIA技术

与一般的Web信息系统相比,WebGIS的最大特点是在空间框架下实现图形、图像数据与属性数据的动态连接,提供可视化查询和空间分析的功能,但是也存在一定的局限性[4]。为了填补服务器和客户端之间的“鸿沟”,RIA技术作为地理空间数据存储、传输和显示的手段应运而生,将桌面软件的强交互性和丰富的可视化结合到Web应用程序中。

RIA是一种具有近似于传统桌面应用功能和特性的网络应用。与传统的基于服务器端的网络应用程序不同的是,RIA 将大部分业务逻辑从服务器端移植到客户端,仅保留一些基础的业务逻辑在服务器端[5]。RIA自身的技术特点[4]决定了它比较适合一个以数据为中心的应用程序,WebGIS正是在GIS从以系统为中心向以数据为中心转变的过程中发展起来的,因此无论从理论意义还是实践意义上来说,RIA都对WebGIS应用程序的开发具有重要的意义,见表1。

2. ExtJS技术

ExtJS来源于YUI(Yahoo user interface library),它是通过使用 JavaScript 来编写的工具和控件库,用来创建丰富互联网应用程序的跨浏览器的 Java Script 库。ExtJS 是一个与平台技术无关的前端Ajax 框架,具有跨平台性,主要用来开发带有丰富外观的富客户端应用,也用于在客户端创建常见丰富多彩的Web 应用程序界面,使得B/S 应用更加具有活力及生命力[6]。ExtJS不仅包含了许多高效率、可定制用户界面的控件,拥有设计漂亮的、可扩展的组成部件模型,还包含了容易使用的、直观的、基于纯 HTML+CSS+JavaScript技术的应用程序接口,其交换格式灵活采用 JSON 和 XML,使得服务端的处理负担真正减轻,从而达到富客户端的真正应用[7]。

表1 RIA方式与非RIA方式WebGIS的区别

3. REST技术

表述性状态转移(representational state transfer,REST)是Roy Thomas Fielding博士在2000年提出来的一种针对Web应用开发而设计的架构风格,其本质是一组架构约束条件和原则[8]。REST充分依赖和利用HTTP协议,通过对基于HTTP的资源的操作来实现分布式应用。REST的工作原理如图1所示,客户端和服务器的交互主要是通过URL,URL请求服务器和响应客户端都要遵循REST的条件和约束。这种架构风格操作简便、响应速度快、性能高。本系统采用目前在GIS系统中广泛应用的Esri公司的ArcGIS Server REST API技术。通过REST技术对系统资源的操作,获取地籍测绘数据的REST URL地址,在客户端使用ExtJS技术完成对地图数据的访问,实现地籍测绘数据的实时共享、管理和分析功能。

图1 REST风格架构的工作原理

三、管理服务系统框架设计

基于ExtJS技术和REST架构风格RIA模式的地籍测绘数据管理系统整体框架如图2所示。整个系统框架采用3层架构,由下到上依次是数据层(data access layer,DAL)、应用层(application layer,AL)和表现层(user interface,UI)。RIA模式的应用使得系统的表现层不仅具有丰富的UI,而且客户端的性能也有很大的提高,很多空间数据的操作请求(如空间数据查询分析等)由客户端直接处理表现,优化了地籍测绘数据的服务质量。

1. 数据层

数据层是整个系统的最底层,负责空间数据和非空间数据的存储,维护各种数据之间的关系,并提供数据备份、数据存档、数据安全机制,为系统的正常运行提供数据源的保障[9]。通过管理空间数据的ArcSDE空间数据引擎和管理非空间数据的Oracle数据库,将多源异构的地籍测绘数据按照相应的标准体系组织管理起来,建立数据之间的关联机制,为应用层提供数据服务支撑。空间数据主要包括基础地理信息数据(如地形图、行政区划图、道路网、影像图等)和专题地理信息数据(如宗地图、测量控制点、接图表等)。非空间数据主要包括电子地籍档案数据、地籍档案扫描件等。

2. 应用层

应用层是整个系统的核心,负责响应客户端的请求,通过Web应用服务器与GIS服务器的应答将请求处理结果返回客户端表现,实现数据的服务。

(1) Web应用服务器

Web服务器用来托管Web应用程序和服务,系统采用Windows Server自带的IIS 7.0作为Web服务器,负责GIS服务器资源管理程序和表现层使用的ExtJS应用程序的托管。

GIS服务器托管的所有服务都可以通过资源管理界面来查看公开的资源,系统采用REST技术由ArcGIS Server发布地图资源服务,公开的资源链接URL都存储在XML文件中,表现层只需要通过读取XML文件即可获取公开的空间数据资源。XML文件组织结构如图3所示。

图2 RIA模式的系统整体框架

图3 存放RESTURLs的XML文件组织结构

(2) GIS服务器

GIS服务器用来托管GIS资源和GIS核心功能,并通过REST技术调用已经封装好的ArcGIS API作为服务,将已经发布的资源在客户端呈现给用户[10]。本系统采用Esri公司的ArcGIS Server作为GIS服务器,将存放在空间数据库中的矢量数据集制作成地图服务文件(MXD),并通过ArcCatalog发布为MapServer;存放在空间数据库中的影像数据通过ArcCatalog制作成影像镶嵌数据集发布为ImageServer。这些服务都是以REST风格创建,因此客户端可以通过URL(一般格式为:http:∥GIS服务器名称/ArcGIS/REST/services/服务名/服务类型)来访问资源服务和操作服务。

3.表现层

表现层是整个系统核心功能的体现入口,也是用户与系统直接交互的窗口。系统的表现层采用ExtJS技术和 MVVM(Model-View-ViewModel,模型-视图-视图模型)的设计模式[11]来设计和实现,分为用户交互界面和逻辑处理两部分来提高系统开发效率,Web界面与逻辑处理的交互选用Ajax模式,加快系统的响应速度,丰富表现层的内容。

(1) Web界面

ExtJS的UI设计采用JavaScript语言,引用Ext封装好的API搭建用户界面,使界面整洁、美观、协调,方便用户操作,极大地丰富了用户的体验感。Ext API自定义的皮肤,一整套的控件CSS样式,可以根据用户视觉感官的需求,简单便捷地修改用户交互界面,构架优雅而成熟的界面。系统运用ExtJS技术与传统的HTML开发的Web系统相比优势体现在实现异步请求,页面局部刷新,大量减少了网络资源的占用,提高了页面加载响应速度,实现了表现形式的多样化。

(2) 逻辑处理

ExtJS是很常用的Ajax框架,用户操作Web页面响应相应的JavaScript代码,将请求通过Ajax传递给逻辑处理,程序处理完再将处理结果以JSON格式传回交互界面,交互界面通过解析JSON格式的数据,将请求处理结果组织呈现给用户。Ajax引擎异步运行,用户不需要等待服务器的应答,可以在客户端Web界面并行操作。

四、系统设计与实现

1. 系统的功能模块

本系统面向地籍测绘数据管理Web服务,分为地图服务、查询统计分析、数据服务、权限管理和系统管理五大功能模块,如图4所示。

图4 地籍测绘管理功能结构

(1) 地图服务

地图服务包括地图浏览、图层控制和打印输出功能。地图浏览的具体功能包括地图的放大、缩小、漫游等基本操作。图层控制功能通过系统界面左边的目录树控制需要图层的显示和隐藏。用户还可以根据需要打印输出专题图提供服务。

(2) 查询统计分析

查询功能包括空间和非空间数据的查询。通过Map的Draw事件选定感兴趣的点、面实现空间数据的查询,通过关键字实现属性数据的查询,通过空间数据和属性数据间的关联信息实现空间数据和属性数据的交互查询。量算功能实现了专题图层的线、面长度面积的量算。用户通过框选感兴趣的区域,调出历史数据进行对比分析,为业务办理提供决策参考。传统的WebGIS系统对空间数据进行查询分析都要请求服务器处理,再将处理结果传回客户端表现。本系统的优势在于客户端独立完成空间数据的查询分析等操作,用丰富的界面实现结果的可视化表达,节约了网络资源的同时提高了效率。

(3) 数据服务

数据服务功能是用户通过查询统计分析获得数据信息,执行相关数据的申请、审批、下载功能。考虑到数据的安全性,因此申请、下载数据时需要提交申请人信息及申请理由。另外,外业测量获取的新数据也可以通过系统上传到服务器,保持了数据的现势性和鲜活性。

(4) 用户权限管理

针对不同部门不同岗位职能范围不同,系统配置了用户权限管理模块。普通用户在使用系统时,必须经过注册由管理员审核以获得登录资格,管理员审核用户注册信息时会根据申请人职位和部门的业务范围给予一定的权限。另外,根据申请数据类型的不同,系统动态配置审批流程,采用这种工作流方式加快了工作进度,提高了工作效率,基本实现了无纸化办公。

(5) 系统管理

系统管理功能主要包括系统数据库连接信息的配置、服务器路径的配置、在线数据的备份,以及保证系统的数据安全。

2.系统的实现

综合应用ExtJS技术和REST技术,实现的RIA模式的地籍测绘数据管理服务如图5所示。将系统部署在政务内网的服务器中,供深圳市地籍测绘大队内部员工使用。用户只需在客户端安装浏览器,通过注册获得系统使用权限,登录系统后就可以根据自己的业务需求在Web界面执行地图服务、数据服务、查询统计分析等功能,实现了地籍测绘数据的共享服务,提高了工作效率。

图5 系统运行界面

五、结束语

本文采用ExtJS富客户端技术和REST架构地图服务设计了3层架构的富网络地理信息系统,克服了传统基于HTML的WebGIS系统开发的局限性,同时保持了集中部署管理模型的优越性,充分提升了客户端的性能。另外,将RIA技术和REST技术的有机结合,强交互性使系统能快速、高效地处理各项进程,美观成熟的UI丰富了系统的体验性。融合使用ExtJS技术和REST技术的RIA模式系统,实现了地籍测绘数据测科学、高效管理,提供了数据共享服务,让办公无纸化成为现实,促进了国土资源信息化建设进程。

参考文献:

[1] 钟耳顺. 土地信息系统建设中的若干问题[J]. 国土资源信息化,2001(2):14-16.

[2] 张健挺. 网络地理信息系统的若干问题探讨[J]. 遥感信息,1997(3):8-11.

[3] 宋关福,钟耳顺,王尔琪. WebGIS—基于Internet的地理信息系统[J]. 中国图象图形学报:A辑,1998(3):251-254.

[4] 张宏,丰江帆,闾国年,等. 基于RIA技术的WebGIS研究[J]. 地球信息科学,2007,9(2):37-42.

[5] 陈谦,佘江峰,潘森,等. 基于RIA方式的WebGIS构建[J]. 遥感信息,2009(4):89-94.

[6] 陈道鑫,宋绍云,袁中旺,等. ExtJS框架在Web软件开发中的应用[J]. 电脑知识与技术,2011,7(9):2044-2047.

[7] 宋转玲,刘海行,代亮,等. 基于ExtJS开发的海洋科学数据共享服务平台[J]. 海洋科学,2010,34(2):4-9.

[8] 李久刚,唐新明,汪汇兵,等. REST架构的WebGIS技术研究与实现[J]. 测绘科学,2011,36(3):85-87.

[9] LIU Yang, LIU Xuefeng, MAO Jianhua. Research on the Integration of Silverlight and WebGIS Based on REST[C]∥Proceedings of International Conference on Multimedia Technology. Ningbo: IEEE, 2010: 1-4.

[10] 詹骞. 基于Ajax/REST的GIS WEB服务研究与实现[D].北京:中国地质大学,2008.

[11] 陈明,李猛坤,张强. 一种基于扩展MVVM模式的SaaS面向服务计算模型[J]. 微电子学与计算机,2010(8):27-30.

猜你喜欢
空间数据客户端测绘
浙江省第一测绘院
GIS空间数据与地图制图融合技术
如何看待传统媒体新闻客户端的“断舍离”?
工程测绘中GNSS测绘技术的应用
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
04 无人机测绘应用创新受青睐
无人机在地形测绘中的应用
元数据驱动的多中心空间数据同步方法研究