客户端视角下的 WebGIS 开发框架研究

王天宝,卢浩,钟耳顺

(1. 中国科学院地理科学与资源研究所,北京 100101;2. 中国科学院研究生院,北京 100049)

论文来源:计算机工程

摘要:地理信息系统(GIS)网络服务存在异构、功能不同、标准不一等问题。为此,提出一种客户端视角下的网络地理信息系统(WebGIS)开发框架。从消费服务的角度重新梳理 GIS 网络服务的分类,设计对应的数据和服务模型,解决 WebGIS 开发中多服务、多终端、多技术的问题。通过实际的应用…

关键词: 地理信息系统;地理空间网络服务;客户端;多终端

1 概述

网络地理信息系统(Web Geographic Information System, WebGIS)自诞生以来,在信息技术的发展下,尤其是互联网、分布式存储、海量数据处理、网格计算、高性能计算、云计算等技术的推动下,以及应用需求的拓展下,得到了持续不断的发展和进步[1]。

客户端信息技术也在不断地更替演进,从胖客户端到瘦客户端以及富客户端等,更加富于表达能力的技术将一步被催生[2]。人们接入网络 GIS 应用的终端设备也在朝着多样化、微型化、便携化等方向发展。同时,有关数据和业务的 GIS网络服务也愈来愈多地诞生和出现,其功能越加丰富,形式越加多样。当前的研究主要集中在如何更好更高性能地提供GIS 网络服务,或者是简单地对客户端各种技术的实现,以及优劣比较。这些研究较多涉及包括服务端整个系统的架构层次设计、功能实现,从而客户端与服务端紧密耦合,无法单独使用,在不同的应用中重复性工作太多。

随着 GIS 网络服务来源的异构化、GIS 应用终端设备的多样化、GIS 客户端技术的不断变化,及客户端在整个 GIS应用系统中重要性的提升,有必要从客户端的视角,对网络GIS 服务和开发框架进行新的审视和研发,抽象和构建通用的 GIS 领域模型与框架,使其能够灵活方便地应对多服务、多终端、多技术的情况,基于该思想,本文提出一种客户端视角下的 WebGIS 开发框架。

2 客户端视角下的 GIS 网络服务分类

GIS 网络服务(GIS Web Service),亦称地理空间网络服务(Geospatial Web Service, GWS),可简单定义为网络环境下可运行的一组与地理信息相关的软件实体,为地理信息用户提供一种满足某种具体需求的信息或者处理能力。GIS 网络服务也可定义为网络环境下的使用数据和相关功能以完成基本地学处理任务的一组与地理信息相关的软件功能实体,通过接口暴露封装的功能[3]。

2.1 GIS 网络服务的常规分类

根据内容的不同,GIS 网络服务分为以数据为中心的服务和以业务功能为中心的服务以及目录注册服务。数据服务通过接口向外提供空间数据,功能服务通过接口向外提供空间数据处理功能,如 WMS、WFS、GML 等。通过网络向外提供 GIS 处理功能的 Web 服务,与传统 GIS 服务相比,它的数据既可以来源于本地,也可以来源于网络,经过功能服务的处理,最后将结果数据通过网络返回给用户或应用程序,如 WPS 等。目录服务允许用户和应用对 Web 服务进行分类、维护、注册、描述、搜索和访问,如 WRS 等。

根据技术规范的不同,Web 服务 API 划分为基于 SOAP (Simple Object Access Protocol)的 Web 服务,如 WS-*系列,主要应用于企业系统;表述性状态转移(Representational State Transfer, REST),具备事务资源化、操作无状态等特征[4];基于 XML-RPC 的服务则主要是针对 POX(简单 XML)设计的,如 OGC(Open Geospatail Consortium)的服务协议等。同样,GIS 网络服务也可分为这 3 类,基于 SOAP 的 GIS 网络服务部署和使用相对复杂,但具备安全性等特点,基于 REST/ POX 的 GIS 网络服务部署和应用十分容易。

2.2 GIS 网络服务分类的新视角

从客户端角度而言,考虑的是如何去消费这些越来越多的服务,并不关心这些服务是如何提供的。因此,应该更加关注服务的类型,以及服务的提供方式,从而提供相应的应用程序接口以消费这些服务,为地理网络应用提供更强更专业的功能。从服务消费者的角度来看,不管后端是什么功能什么方式提供的服务,传输的格式无外乎图片、二进制和文本数据。

在 GIS 网络应用中,图片一般对应的是地图图片,或者是专题图等分析结果的图片;二进制和文本则一般对应的是点、线、面等地理要素以及它们的属性。因此,从这个角度出发将繁复多样的服务分为 2 类,即地图图片服务和地理要素服务。

2.2.1 地图图片服务

按照地图图片的尺寸,可分为 2 类:(1)瓦片(切片)式正方形 256×256 像素(或 512×512 像素等)大小的地图图片,按照一定规则拼接组成地图;(2)没有固定大小,根据给定的大小和位置信息,随机地实时生成一幅整张的地图图片。按照地图图片的生成时间,亦可分为 2 类:(1)在用户访问前,预先生成,缓存起来等待调用予以显示;(2)在用户访问时,才实时的动态的予以生成,从而呈现。

理论上共有 4 种地图图片的类型,但实时的图片是随机的,不可能预先进行缓存,因此,去掉一种可能性。地图图片服务分类如表 1 所示,有 3 种图片服务的组合,即实时瓦片式图片服务、实时整块式图片服务、缓存瓦片式图片服务。

更多内容请查看pdf