APP下载

GGEarth:一种网络型空间数据应用服务系统设计与实现

2012-08-07王卫红陈建华

网络安全技术与应用 2012年8期
关键词:数字地球服务器端空间数据

王卫红 陈建华

1 成都理工大学地球科学学院 四川 610059

2 成都理工大学地球物理学院 四川 610059

0 前言

数字地球战略思想提出后,迅速在国内外引起强烈反响并引发了世界范围内的研究热潮。数字中国、数字省份、数字城市、数字海洋、数字流域、数字矿山、数字奥运等分支领域纷纷提出,并积极开展了各种研究与实践。数字中国研究院2004年2月在北京大学设立,国际数字地球学会2006年5月在北京成立,标志着数字地球浩大工程的研究步入了全球化、组织化、深入化的新时期。

1 G/S模式特征

以Google Earth为代表的各种数字地球系统,是“数字地球”概念的延伸和实现,是数字地球的雏形,是人们认识、研究、利用和保护地球的技术平台,即数字地球平台,是“数字地球”进程中的必然产物。数字地球平台(Digital Earth Platform,DEP)就是集地球空间数据采集、存储、传输、转换、处理、分析、检索、表达、输出为一体的应用、服务和决策支持系统。它以多分辨率空间影像数据为基础,以统一的坐标投影系统为框架,以开放的XML为数据交换标准,以空间数据基础设施为支撑,以三维可视化技术为手段,以分布式网络为纽带,为人类提供全新的观察地球、分析和研究地球、建立基于空间信息的各类应用和提供不同服务的有力工具。

2 GGEarth空间数据应用服务系统原型体系结构设计

原生GML空间数据库系统的研究为大量涌现的GML格式空间数据的有效管理提供了强有力的技术保障,为GML空间数据的拓展应用奠定了坚实的基础。而Google Earth作为目前数字地球原型系统的典型代表,本文将原生GML空间数据库系统与Google Earth集成,并以G/S模式为体系结构风格,结合GML/KML压缩传输与交换技术,设计、实现GGEarth(G/S&GML&Geo Google Earth)空间数据应用服务系统,集成2D&3D显示、数据查询、数据编辑与更新、数据导入导出、时序追踪、线路追踪、空间分析、3D飞行、实时视频、GPS导航定位等功能;是一种全新模式和架构的网络地理信息服务系统。GGEarth可应用于数字城市、数字旅游及传统网络地理信息系统应用领域,对于新型网络地理信息系统的研究与发展具有借鉴意义。

本文研究设计了GGEarth空间数据应用服务系统原型体系结构,见图1。其涵盖内容分述如下。

图1 GGEarth空间数据应用服务系统原型体系结构

GGEarth空间数据应用服务系统基于G/S模式,整体上包括:GGEarth客户端、GGEarth服务器端和GGEarth服务器管理客户端。客户端与服务器端之间为多对一关系,并基于TCP/IP进行网络通信;系统整体部署于Internet环境中。

2.1 GGEarth客户端

GGEarth客户端构建于Google Earth客户端内核之上,即Google Earth COM API。客户端组成模块包括:2D&3D显示、数据查询、数据编辑与更新、数据导入导出、时序追踪、线路追踪、空间分析、3D飞行、实时视频、GPS导航定位、压缩解压、数据交换等。在GGEarth客户端中所有操作的应用数据皆为KML格式。

(1) 2D&3D显示。该模块用于实现卫星影像地理底图的2D、3D模式交互显示,以及自建模型的2D、3D交互显示。用户自建模型数据可分别来自GGEarth服务器端原生GML空间数据库系统、GML文档集或KML文档集,也可自GGEarth客户端直接导入KML格式建模数据。

(2) 数据查询。该模块负责在GGEarth客户端启动初始化后,根据用户选择的特定应用地标数据,向GGEarth服务器端请求,并返回显示于客户端视图区中。服务器端的数据可以分别来自原生GML空间数据库系统、GML文档集或KML文档集。

(3) 数据编辑与更新。该模块用于用户对GGEarth客户端视图区中的指定应用数据(如:点、线、面等)进行编辑、修改,并更新保存于GGEarth服务器端GML数据库或GML/KML文档集中。

(4) 数据导入导出。该模块为方便用户使用GGEarth客户端直接在客户端导入导出KML数据文件而设,此时数据可不用来自GGEarth服务器端。

(5) 时序追踪。该模块用于依据时间顺序动态显示诸如地震、降雨、动物迁徙等发生、分布状况;形象、直观。

(6) 线路追踪。该模块用于野外地理、地质调查等线路的宏观、直接规划,预调查分析等。

(7) 空间分析。该模块用于特定应用数据的空间查询与量算、缓冲区分析、叠置分析、网络分析等,是网络地理信息系统着力研究的内容,是GGEarth的高级功能。

(8) 3D飞行。该模块基于3D卫星影像底图,依据地形进行视角动态移动、观察,可对特定区域进行立体、直观的的展示。

(9) 实时视频。该模块用于将实时摄制视频在GGEarth客户端指定地点以弹出窗口方式实现共享、播放。在数字旅游、数字城市热点景观实时展示,特定监控方面意义显著。

(10) GPS导航定位。该模块用于将GPS实时定位信息提供给GGEarth客户端,以此在客户端视图区中实时显示其位置信息,并结合定位实现导航功能。

(11) 压缩解压。该模块用于将来在GGEarth服务器端的GML/KML数据解压,也将上传至服务器端的GML/KML数据进行压缩。由于GML/KML文本数据通常数据量很大,而其压缩比又很高,采用合适的压缩算法可显著节省带宽,提高数据传输效率。

(12) 数据交换。该模块用于将来在GGEarth服务器端的GML数据转换为KML,也将上传至服务器端的KML数据根据需要转换为GML格式上传存储。由于GGEarth客户端中所有操作的应用数据皆须KML格式,而数据源为GML时,则需进行交换。

2.2 GGEarth服务器端

GGEarth服务器端包括:GGEarth应用服务器,Google公司Google Earth服务器,以及原生GML空间数据库系统、GML文档集、KML文档集。Google Earth服务器用于提供全球多级分辨率与统一坐标投影体系的卫星影像地理底图等信息,客户端Google Earth内核可直接对其进行访问。GGEarth应用服务器用于为客户端提供特定应用领域GML/KML格式空间数据的访问与综合处理服务;它包括:用户认证、调度控制、数据访问、压缩解压等功能模块。

(1) 用户认证。该模块用于实现客户端用户的注册授权、登录认证、用户信息管理等功能。涉及的用户包括GGEarth客户端用户和GGEarth服务器管理客户端管理员用户。用户信息以XML格式存储于原生GML空间数据库系统。

(2) 调度控制。该模块是GGEarth应用服务器的核心模块之一,用于对大量客户端的登录认证、数据请求进行协调控制,同时协调GGEarth应用服务器中各功能模块的正常运行。

(3) 数据访问。出于对多源数据支持的考虑,GGEarth服务器端支持原生GML空间数据库、GML文档集、KML文档集三种数据源类型;原生GML空间数据库存储的数据包括:特定应用GML格式空间数据、客户端用户XML格式信息数据,以及服务器端XML格式的其它配置信息。而GML文档集和KML文档集是直接存储于文件系统中的文本数据集合。空间应用数据除了以GML格式直接存储于原生GML数据库中外,也可以直接存储于普通文件系统中;而且还可能有以KML格式直接存储于文件系统中的数据,如此便于系统的扩展和灵活应用(自然,数据库方式的存储效率是最高的)。数据访问模块负责根据调度控制模块传来的数据请求,依据数据请求类型获取请求数据并返回;同时,也根据调度控制模块传来的数据存储或更新请求,完成数据的存储。

(4) 压缩解压。由于GML/KML文本数据通常数据量很大,而其压缩比又很高,采用合适的压缩算法可显著节省带宽,提高数据传输效率。该模块用于将发送至GGEarth客户端的GML/KML数据压缩然后交由通信模块进行传输;同时,也将来自客户端的GML/KML格式更新数据解压后提交数据访问模块进行存储。

2.3 GGEarth服务器管理客户端

GGEarth服务器管理客户端主要实现各种管理功能。包括:管理员用户、普通用户信息的管理(包括:注册、修改、删除等),GGEarth应用服务器端特定应用GML/KML空间数据的批量导入、导出、数据备份等,GGEarth应用服务器启动、停止、运行参数配置、运行状态检测等。

3 GGEarth系统原型关键实现技术与部分运行效果

3.1 关键实现技术

GGEarth空间数据应用服务系统原型的实现将涉及多种关键技术,如:影像无级缩放、影像无缝拼接、影像快速显示、影像3D显示、3D飞行、实时视频、GPS导航定位等,上述关键技术的实现基本上已由Google Earth COM API提供;除此之外,GGEarth系统原型的实现还综合采用了以下关键技术。

(1) 多线程

多线程技术对于程序的并发运行,尤其是服务器端程序的并发运行至关重要。它能够确保程序中多条分支路径或多个功能模块的并发运行,能够充分利用计算机的CPU,显著的提高程序的运行效率。GGEarth系统原型服务器端和客户端都采用多线程技术,以确保系统的并发性和及时响应性。

(2) 微内核结构

微内核结构是新型操作系统的一种体系结构。其基本思想是:内核仅提供系统最基本的功能和服务,通常包括:进程/线程管理、存储管理、进程间通信、与硬件相关的管理等;其它系统扩展功能都以服务进程的方式提供,服务进程间通过微内核以消息的方式进行通信,此类功能如:文件系统、窗口系统等。微内核结构的如此设计,充分保障了系统的灵活性、可扩展性、可裁减性、可移植性、健壮性和可维护性。将微内核体系思想移植于应用软件体系结构的设计,是应用软件系统设计的积极尝试。

GGEarth系统原型服务器端GGEarth应用服务器采用微内核结构,即应用服务器中的调度控制器只进行初始化、加载、任务调度等工作,具体业务皆由灵活加载的各业务模块完成。如此设计,能够确保GGEarth应用服务器的可扩展性、健壮性和可维护性,并能最大限度的提高系统的性能。

(3) XSLT数据转换

来自GGEarth服务器端的GML数据在GGEarth客户端加载显示前需要转换为KML格式,同样KML格式的客户端数据更新存储到服务器端时一般也需要转换为GML格式。空间数据在GML与KML之间的转换需要自动完成,而XSLT方式的转换是直接而有效的,但是需要开发出GML―>KML的通用XSLT模版代码和KML->GML的通用XSLT模版代码,以便程序自动应对各种GML、KML数据。

(4) LOD

层次细节(Level of Detail,LOD)技术是图形渲染的重要方法,它根据视点的变化而加载、渲染不同的数据;当视点一定时,距离视点较近的区域加载细节数据,而距离视点较远的区域则忽略或简化处理,视点的远近通过阀值设定。LOD技术的使用可使图形关注区域细腻渲染的同时,又无需一次加载所有图形数据,在显著提高图形显示的同时又降低了数据传输的网络带宽,优势明显。GGEarth系统原型客户端采用LOD算法对各种2D、3D特定应用图形或模型数据进行加载、渲染,以显著提高客户端的性能和可操作性。

(5) KML数据空间运算

GGEarth系统原型客户端采用KML格式数据进行各种操作和展示。对空间分析、时序追踪、线路追踪、3D飞行等各种处理和空间运算,专门设计了针对KML格式数据的处理方法,从而有效实现上述各种高级功能。

3.2 部分运行效果

GGEarth系统原型的研发是一个迭代和增量的过程。目前采用Delphi集成开发工具开发了实验系统,图2、图3是客户端运行的部分截图。其中图2是5·12汶川地震时序分布的截图,原始数据通过GML格式编码并通过XSLT转换为KML,然后加载于客户端中。图3是叠加了高分辨率“快鸟”卫星影像的九寨沟景区三维效果截图。

图2 5·12汶川地震分布客户端截图(4.0-4.9级)

图3 数字九寨虚拟游览客户端截图

4 结语

Google Earth的出现为数字地球的发展注入了新的活力;G/S模式为计算机技术与空间信息技术的集成应用提供了新的思路;作者基于Google Earth COM API,结合G/S模式、GML、KML,设计了一种网络化空间数据应用服务系统,并开发了实验系统,对5·12汶川地震时序分布和数字九寨虚拟游览进行了实验运行。系统意在应用于数字城市、数字旅游及传统网络GIS应用领域。

[1李德仁.数字地球与“3S”技术[J].中国测绘.2003.

[2] 刘永志,张行南,张文婷.基于X3D的数字地球系统的研究[J].系统仿真学报.2006.

[3] 苗放,叶成名,刘瑞等.新一代数字地球平台与“数字中国”技术体系架构探讨[J].测绘科学.

[4] OGC. OpenGIS Geography Markup Language (GML) Implementation Specification (Version 2.1.1)[EB/OL]. http:// www.opengeospatial.org/standards/gml.2002.

[5] OGC. OpenGIS Geography Markup Language (GML) Implementation Specification (Version 3.1.1)[EB/OL]. http://www.opengeospatial.org/standards/gml.2004.

[6] OGC. OpenGIS Geography Markup Language (GML) Encoding Standard(Version 3.2.1)[EB/OL]. http://www. opengeospatial.org/standards/gml.2007.

[7] 陈建华.原生模式GML空间数据管理机制研究[D].成都理工大学博士学位论文.2008.

[8] OGC. OGC KML(Version: 2.2.0)[EB/OL]. http://www.opengeospatial. org/standards/ kml.2008.

[9] Google. Google Earth COM API Documentation[EB/OL].http://earth.google.com/ comapi/.2008.

[10] Black D.L., Golub D.B., Julin D.P. et al. Microkernel operating system architecture and mach[C]. In: Proceedings of the USENIX Workshop on Micro-kernels and Other Kernel Architecture.Washington.1992.

[11] Christopher Browne. Microkernel-based OS efforts[EB/OL].http://linuxfinances.info/ info/microkernel.html.2004.

[12] 陈建华,苗放.基于微内核结构的统一网管平台设计研究[J].微电子学与计算机.2008.

[13] Clark James H.. Hierarchical Geometric Models for Visible Surface Algorithms[J]. Communications of the ACM.1976.

[14] 陈刚,熊兴华.海量地形漫游中动态LOD算法研究[J].测绘通报.2007.

猜你喜欢

数字地球服务器端空间数据
一种基于数字地球的日标保障框架体系
Linux环境下基于Socket的数据传输软件设计
GIS空间数据与地图制图融合技术
美国数字地球公司最新遥感卫星投入商业运行
基于Qt的安全即时通讯软件服务器端设计
基于Qt的网络聊天软件服务器端设计
基于C/S架构的嵌入式监控组态外设扩展机制研究与应用
网格化存储的几项关键技术分析
第六届国际数字地球会议专家谈
“数字地球”之战