当前位置:首页 期刊杂志

G/S模式下基于组件的地学浏览器设计与实现

时间:2024-05-22

曾建刚,苗 放,陈建华

(成都理工大学地球探测与信息技术教育部重点实验室,四川成都610059)

G/S模式下基于组件的地学浏览器设计与实现

曾建刚,苗 放,陈建华

(成都理工大学地球探测与信息技术教育部重点实验室,四川成都610059)

针对空间信息网络服务在现有 C/S、B/S模式下客户端功能的不足和空间数据服务需求,采用一种新型的空间信息服务模式--G/S模式,即地学浏览器/空间信息服务器模式,并对其可视化客户端G端地学浏览器(Geo-Browser)的系统架构和关键技术进行详细论述。利用Google Earth COM API组件开发技术,在国际标准KML支持下,对地学浏览器进行详细设计和实例验证,得出G/S模式下的地学浏览器在海量空间信息处理和三维展示方面具有明显优势的结论。

地学浏览器/空间信息服务器模式;地学浏览器;Google Earth COM API;KML

随着空间信息技术的发展,目前空间信息服务主要有客户端/服务器(Client/Server)和浏览器/服务器(Brower/Server)两种结构,代表软件分别为ArcGIS和WebGIS。以C/S结构为主的胖客户端在处理海量的空间数据,提供三维图形体验等方面有明显的优势,但是部署麻烦,升级更新费时[7]。后期出现的B/S结构,应用程序可以统一部署在服务器端,维护工作只需要在服务器端进行,客户端仅需要一个Web浏览器即可,这样极大地减少部署维护费用。但是新的问题又出现,统一的浏览器界面和链接操作方式无法为最终用户提供丰富的图形使用体验,可操作性较差。

一种新型的空间信息服务模式——地学浏览器/空间信息服务器模式G/S模式[1]的出现较好地解决了上述问题,它以高性能可视化客户端作为空间信息浏览器,以分布式服务集群对空间数据进行统一、灵活、层次化的组织和管理。本文在此模式下对高性能可视化客户端地学浏览器进行了详细论述,提出基于 Google Earth COM API设计地学浏览器(Geo-Browser)的思路,该浏览器不仅满足了海量空间信息处理和为用户提供真实三维体验,而且部署以及操作简单方便。

1 G/S模式与地学浏览器

1.1 G/S模式

随着空间信息技术的应用和发展,地理空间信息日益深入人们的生产、生活当中,因此对于海量数据显示和分析的需求变得越来越多。尽管传统的GIS软件可以解决部分需求,但部署、维护需专业人员来操作。以G/S模式[1]支持空间信息处理的地学浏览器在满足需求的同时,借鉴Web浏览器操作简单方便的特点,可以提供海量空间数据展示等功能。

地学浏览器/空间信息服务器G/S模式是建立在以可扩展标记语言XML为基础结构的针对空间信息地理数据的超地理(或超图形)标记语言HGML之上,形成对空间数据进行统一、灵活、层次化的组织和管理,以及统一的数据交换格式,以此为标准,开发灵活、方便、功能强大的地学浏览器终端,使得在Internet范围内,为各行业和广大用户提供有效和方便的空间信息网络服务[1]。

1.2 地学浏览器

地学浏览器是一种新型的空间信息浏览器,所显示内容不仅涵盖目前Web浏览器的全部功能,还有空间矢量模型重建、三维图形互操作等新功能。结合空间信息服务器共同构建新的空间信息服务模式[1],既可以提供Web浏览器拥有的文本、图片、多媒体等信息浏览服务,还可以实现矢量和栅格数据一次下载、多次建模显示等功能,同时提供基于内容和空间位置等多种搜索和查询方式等功能。

与Web浏览器相比较,地学浏览器具有以下功能:

1)文本、图片、多媒体等信息浏览;

2)支持加载卫星遥感影像、地图功能;

3)位置信息精确显示功能;

4)三维场景建模,加载3D地形和建筑,提供浏览与互操作功能;

5)其他辅助功能,例如加载行业数据、提供相关服务等。

目前针对地学浏览器的开发已有很多种产品:例如Google公司的GoogleEarth,Yahoo公司的YahooMaps,法国的Geoportail,微软公司的MSN VirtualEarth,ESRI公司的ArcGISExplorer,北大/北航的ChinaStar,武汉大学的GeoGlobe,中科院遥感所的DEPS CAS等,其中Google Earth是目前最能体现G/S模式的概念,功能最强,性能最好,实用化和人性化的空间信息服务系统。

通过对以上产品的研究分析,目前地学浏览器按开发方式可以分为三种类型:针对开源软件代码来进行研究,开发定制具有特定功能的地学浏览器;在现有GIS软件提供平台的基础上进行二次开发,丰富和扩展功能;采用Google Earth COM组件提供的API进行开发,定制开发功能强大的客户端。

根据G/S模式的特点,我们采用GoogleEarthCOM API来进行地学浏览器的开发,据此设计实现的地学浏览器(Geo-Browser)能够提供较之相同类型更直观、性能更高的可视化空间信息服务。事实上,其真正的功能,即它是G/S模式的一部分。这就意味着它的设计目的就是配合空间信息服务器,使地图服务和地理处理任务能够较容易地与行业数据和其他数据集成和融合。

因此地学浏览器具有以下的特点:

1)地学浏览器在处理地学信息海量数据方面提供一个全新的解决办法,结合 C/S结构充分利用客户机资源、高效处理客户机数据和B/S结构客户端统一、数据展现丰富多彩的优势[3];

2)以GML/KML为统一开放标准,将浏览器设计成通用、操作简单、可以处理地学信息的客户端;

3)高效处理大量地学信息数据,处理数据格式丰富,可以处理主流的数据格式;

4)地学浏览器类似Web浏览器一样的简单方便,具备普通浏览器功能,包括网页浏览、文件文档显示、媒体播放等,同时三维虚拟环境及场景漫游视觉效果直观、逼真。

2 地学浏览器架构设计

地学浏览器的实现架构是一个三层结构,即G端(地学浏览器)、中间层(标准和协议)、S端(空间信息服务器),系统架构如图1所示。

图1 系统架构图[1]

G端由用户界面和功能键构成,是用户与系统交互的具体环境。地学浏览器基于GoogleEarth COM API进行定制开发,用户界面主要由三维浏览与操作窗口构成,用户可以像在Web浏览器中输入网址类似输入KML格式的文件地址,即可实现在地学浏览器内加载遥感影像,数据模型和相关地理信息。三维可视化、查询检索以及 GIS分析功能位于这一界面内。用户可以浏览空间目标,并进行三维真实体验。简洁的功能界面和操作提示为普通大众提供一个方便浏览空间信息的工具。

中间层主要处理浏览器端与服务器端之间的通信,像HTML一样,KML使用包含名称、属性的标签(tag)来确定显示方式,而地学浏览器可视为KML文件浏览器。中间层数据传递采用基于XML的KML技术,OGC于08年4月正式发表申明,接受KML为地理信息系统行业标准[8]。KML,是 Keyhole标记语言 Keyhole Markup Language的缩写,是一种采用XML语法与格式的语言,用于描述和保存地理信息,可以被Google Earth和Google Maps识别并显示。可以使用KML来与其他GoogleEarth或GoogleMaps用户分享地标与信息。处理KML文件的方式与网页浏览器处理HTML和XML文件的方式类似。基于KML的地学浏览器为空间数据读取显示提供新的应用模式和解决方案。

S端则由不同功能的服务器 (基础空间信息服务器、行业数据服务器等)以及相应的服务构成[1]。其中基础空间信息服务器群以包括遥感、基础地理底图的空间信息基础数据库为支撑,通过基于XML的数据交换向Internet发布数据和提供基础信息服务;行业数据服务器群则提供实时获取的行业相关的各类空间数据、属性数据和时间数据,也通过基于XML的数据交换向Internet发布数据和提供行业信息服务。

3 实现及应用实例

3.1 实现

2008年5月28日,谷歌发布一个新浏览器的插件程序和应用程序接口(GE COM API)[9],它是一种基于COM的组件技术。利用Google Earth COM提供的API接口,通过代码不仅可以使GoogleEarth浸入到任何Web页中,而且可以嵌入到自己开发的窗体里。基于该COM组件可以灵活、方便定制开发G/S模式下的地学浏览器,在实现支持加载高分辨率图像的同时,实现处理KML文件,支持创建三维模型等功能。

随着个人计算机硬件的迅速发展,Delphi通过调用底层的OpengGL、Direct3D等原生函数和自身的优化机制,性能提高很快,而且该平台支持 ActiveX技术,所以本文在 Delphi2007集成开发环境下利用 GE COM API控件来进行开发。基于COM组件提供的接口,进行地学浏览器的定制开发。

基于Google Earth COM API的地学浏览器开发步骤如下:

1)将Google Earth地图控件引用到自定义的浏览器中。针对Google Earth COM的开发是基于API提供的接口上进行,利用API提供的接口函数可以将Google Earth地图部分调用过来[9]。

}//初始化,加载Google Earth地图控件

2)动态数据更新。为地学浏览器提供动态数据,需要用到上面介绍的KML动态数据更新技术。在这里提供一个比较好的解决方案,即G/S模式下架构空间信息服务器。架设的服务器Server提供的是动态的符合KML规范的数据,Geo-Browser间隔一定时间去空间信息服务器上获取一下数据。

3)加载KML文件。当KML文件被加载进入地学浏览器中后,这个文件也被当作一个要素看待,文件中的这个几何图形、图片、链接等都被当成这个要素的子要素看待。在地学浏览器中只有通过要素名称或者通过要素的链接地址才能获取某个要素。

3.2 在数字旅游中的应用

G/S模式是一个基于网络环境的空间信息服务体系,将其应用于数字旅游行业,以其功能强大的三维可视化地学浏览器,为旅游管理和用户提供有力支持。旅游线路和景点的虚拟现实和增强现实正成为新的热门需求,地学浏览器带给人们前所未有的真实感、体验感,它在系统建设、内容组织、服务形式方面可以为管理部门提供辅助决策。地学浏览器在数字旅游中可以实现以下功能:三维浏览功能,利用三维地形数据、三维景观数据,进行三维场景模拟显示,结合景区景点视频录像,实现三维飞行、漫游,给人以真实场景感受;旅游信息发布、查询和统计功能,实现星级宾馆、餐饮、商店市场、医疗急救、大厦、旅行交通的查询、统计和分析等功能,方便游客直观地了解相关服务情况;智能导游功能,根据游客交互信息智能推荐旅游线路,提供沿线活动和消费项目,并可按照既定的旅游线路,在三维场景里飞行浏览(见图2、3)。

图2 九寨沟风景区三维呈现

图3 酒店预订

4 结 语

地学浏览器是空间信息服务模式--G/S模式的高性能可视化客户端,它在满足海量空间信息处理和为用户提供真实三维体验的同时,部署以及操作简单方便,显示内容不仅涵盖目前Web浏览器的全部功能,还有空间矢量模型重建、三维图形互操作等。在Delphi2007集成环境中利用GE的COM API来对地学浏览器进行开发是一种理想的技术,COM组件提供接口可以便捷定制客户端,并实现加载谷歌的高分辨率影像、加载KML文件和三维虚拟场景展示等功能,同时提供文本、图片、多媒体等信息浏览服务。

地学浏览器以G/S模式的统一数据交换标准在行业开展应用,可以灵活方便地定制开发功能强大的终端,为管理部门和广大用户提供方便的空间信息网络服务。目前地学浏览器处于正在开发和提高的过程中,更有效的空间数据模型、GIS分析功能等已逐步加入研究和开发的日程。

[1] 苗放,叶成名,刘瑞,等.新一代数字地球平台与“数字中国”技术体系架构探讨[J].测绘科学,2007(32):157-158

[2] 陶闯,王全科.基于“地学信息服务(GIServices)”的Internet三维GIS:GeoEye 3D[J].测绘学报,2002(1):123-126

[3] 许义星.基于G/S模式的开源数字地球平台研究[D].成都:成都理工大学,2006

[4] 李建民,陈永华,吕志慧.WebGIS三维可视化浏览器插件实现方法[J].测绘学院学报,2002(2):147-149

[5] 高照忠,魏海霞.基于ArcGISEngine的三维浏览器的开发应用[J].大众科技,2009(6):59-60

[6] 张慧.基于浏览器的GoogleEarth交互式系统开发技术[J].山东国土资源,2008(12):30-32

[7] 熊瑾,陶俊才.浏览器/服务器结构应用系统的研究与开发[J].计算机与现代化,2005(8):113-115

[8] 上帝之眼[DB/OL].http://www.godeyes.cn.,2009-08-23

[9] Google Earth API.http://code.google.com/intl/zh-CN/apis/earth/, 2009-08-20

Design and Imp lementation of COM Geo-browser In G/S M odel

ZENG Jiangang,M IAO Fang,CHEN Jianhua
( key Lab of Earth Exploration&Information Techniques of M inistry of Education,Chengdu University of Technol ogy,Chengdu 610059,China)

The paper analyzed the lack of client functionality for the existing C/S,B/S model in spatial information service and the status of dem and s for spatial data services,adopted a new type of spatial information service model-G/Smodel,whichwas Geo-Browser/Spatial Information Server,also its system architecture and key techniqueswere discussed in detail.Using Google Earth COM API component technology,supported by the international st and ards of KML,designs and verifies of Geo-browser,it proofs theconclusion that in massive spatialinformation processing and real three-dimensional displaying have obvious advantages.

G/S model;Geo-Browser;Google Earth COM API;KML

2009-11-05

项目来源:四川省青年软件创新基金资助项目(2007-63)。

P208

B

1672-4623(2010)02-0118-03

曾建刚,硕士,研究方向为计算机软件与理论。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!