基于Silverlight的 Web GIS客户端技术研究

王天宝,王尔琪,郭会,黄跃峰

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

论文来源:

摘要:RIA(丰富互联网应用程序)技术越来越多的应用于 Web GIS,弥补了人们对高交互性和丰富表现力的需求,现存的 Web GIS 客户端解决方案主要是 Ajax 和 Flex,其中 Ajax交互能力和表现力不够强大,而对 Flex 的研究多集中在体系结构、功能模块上。本文在对Silverlight研究的基础…

关键词: Silverlight, RIA, Web GIS

1 引言

近年来,伴随着网络技术的不断发展和 GIS 应用的逐步深入,传统的网络地理信息系统(Web GIS)局限性愈发明显,如地理空间信息表达不丰富,数据传输更新模式单一,用户交互过于简单,开发维护复杂等。丰富互联网应用程序(Rich Internet/Interactive Application, RIA),结合了桌面程序的反应迅速、交互性强的特点以及 Web 应用程序易于部署、方便传播的特点,并具有丰富多媒体表达能力,可以将文字、图片、音频、视频等进行无缝的集合[1]。因此,将 RIA 技术应用于 Web GIS 可很大程度上解决传统 Web GIS 所遇到的瓶颈问题

当前相关的研究大多集中在体系结构的设计,功能模块的介绍,系统数据的处理等方面[2-4] ,而对在 RIA 技术下地理空间信息表达研究不够深入。地理空间信息的表达一直是 GIS的主要研究方向之一,特别是部署在互联网上的 Web GIS,具有大数据量传输、复杂快速的用户请求响应等特点,此外,包含音频、视频等要素的多媒体地图也初见端倪。同时,已有研究的试验案例大多依赖 Adobe 公司的 Flash/Flex 技术[5-7] ,Flex 技术尽管在一定程度上可满足现有需求,但其不支持多线程,学习曲线较高等局限,对 Web GIS 大数量传输等支持不足。

本文则主要针对在 RIA 中地理空间信息的多尺度高细节展现、矢量栅格一体化表达、 GIS 服务聚合等关键技术进行了研究,利用 Silverlight 作为Web GIS 的技术支撑,并完成了相关试验,通过试验验证了在 Web GIS 中利用 Silverlight 的可行性和高效性。

2 Silverlight 介绍

Silverlight 是微软公司 2007 年推出的 RIA 开发平台,它提供了下一代媒体体验和丰富的用户交互框架,使得基于 Silverlight 开发的RIA,具备跨浏览器(IE、Firefox、Safari 等)、跨平台(Windows、Mac、Linux 等)等特性,甚至可以在移动设备上使用。Silverlight 提供灵活的编程模型,支持托管语言(如 C#、VB.NET)和动态语言(如 IronPython、IronRuby),以及与HTML 的交互。用户界面技术支持基于XML 的XAML(eXtensible Application Markup Language,可扩展应用程序标记语言),既可让设计人员用 Expression Blend 等工具专门设置用户界面,也在后台用代码进行编辑处理。设计与开发的统一,使得开发出炫酷界面和灵活用户交互的应用程序变得更为容易[8]。

Silverlight 表现层框架提供了矢量图形、动画、文本和图像等,故而 GIS 的矢量数据,点、线、面等几何实体要素都可易于表达,视频播放等技术也为多媒体地图的实现铺垫了技术基础。Silverlight 支持 Http、Sockets 多种网络协议,可以进行跨域通信,为聚合和集成多来源的异构 GIS 网络服务提供了基础架构。

与 Flex 相比较而言,虽然 Silverlight 浏览器插件安装率尚不及 Flash 插件,但 Silverlight平台支持更多开发语言,发展迅速。如表格 1 所示,Silverlight 更注重开发人员,开发者无需学习新的技术与新的开发环境,.NET 程序员可很快在已有基础上转变开发 Silverlight 应用程序,学习成本低,开发效率高。同时,表格 1 也体现了和 Web GIS 客户端其他技术如Ajax[9, 10]的对比。

更多内容请查看pdf