基于WebGIS的乐山市电子地图成都理工大学工程技术学院2008级地理信息系统周龙摘要:随着互联网技术的兴起和应用“数字地球”概念的提出,城市信息化建设的发展,数字城市的概念也相应出现。
所谓数字城市是指各城市在开展宣传、科研和管理及对外通讯过程中以网络为基础,利用先进的信息化手段和工具,实现城市的数字化、信息化和智能化。
基于WebGIS的数字城市,不仅可以处理大量的文字信息,而且可以科学管理和综合分析各种有空间内涵的地理数据,它通过网络综合利用各种数据,建立互操作平台,形成了一个涵盖城市规划、建设、管理等各个方面的综合性技术系统。
关键词:WebGIS,数字城市,综合分析一、网络地理信息系统(WebGIS)技术简介WebGIS是建立在Internet上具有浏览器/服务器体系结构(B/S)的网络GIS,它是一个交互式的、分布式的、动态的地理信息系统,也可简单定义为基于Internet平台的GIS,就是利用互联网技术和WWW技术,访问位于不同地区不同类型的空间信息资源,是完善和扩展传统的地理信息系统功能的一门新技术。
WebGIS基本原理如图1所示:首先用户通过Internet访问WebGIS页面,在WebGIS页面地图窗口进行相应的地图操作,客户端将相应的地图操作请求发送给Web服务器,Web服务器通过GIS 服务代理将命令解析并与GIS服务器通讯,GIS服务器接到命令后进行处理,如果处理过程中需要访问数据库,则通过空间数据库引擎访问关系型数据库,或通过ADO访问属性数据库,查询到数据,将结果转换为HTML页面并把GIS数据通过Web服务器返回客户端。
与传统的地理信息系统相比较,万维网地理信息系统有如下特点:1)、更广泛的客户访问范围。
客户可以同时访问多个位于不同地方的服务器上的最新数据,而Internet/Intranet所特有的优势大大扩展了GIS的数据的处理能力,增强了空间数据的时效性。
客户端的平台独立性。
无论客户机是何种操作系统,只要支持通用的Web浏览器,用户就可以访问GIS数据及服务器所提供的服务。
2)、更简单的操作。
要推广GIS,使GIS系统为广大的普通用户所接受,而不仅仅局限于少数受过专业培训的用户,就要降低对系统的操作难度。
通过Web浏览器提供友好的用户界面无疑是一种很好的选择。
3)、更高效的计算负载平衡。
传统的GIS大都使用文件服务器结构的处理方式,其处理能力完全依赖客户端,效率较低。
而当今的一些高级的WebGIS能充分利用网络资源,将复杂的处理交由服务器处理,而简单的操作则由客户端直接完成。
这种计算能灵活地在服务器端和客户端之间合理地分配处理任务,从而提高网络资源的利用效率,从而提高了系统的性能。
4)、分布式的系统。
GIS数据和分析工具是独立的组件和模块,WebGIS利用Internet的这种分布式系统把GIS数据和分析工具部署在网络不同的计算机上,用户可以从网络的任何地方访问这些数据和应用程序,即不需要在本地计算机上安装GIS数据和应用程序,只要把请求发送到服务器,服务器就会把数据和分析工具模块传送给用户,达到Just-In-Time的性能。
Internet的一个特点就是它可以访问分布式数据库和执行分布式处理,即信息和应用可以部署在跨越整个Internet的不同计算机上。
5)、动态性。
由于WebGIS是分布式系统,数据与应用程序部署在不同的计算机上,随时可能被管理员更新,对于Internet上的每一个用户来说,都能得到最新的数据和应用程序的最新版本,只要数据源发生变化,和数据源的动态连接将保持数据的现势性。
6)、交互性。
WebGIS可使用户在Internet上操作GIS地图和数据,用Web浏览器(IE、Netscape等等)执行部分基本的GIS功能:如缩放、漫游、查询和标注,甚至可以执行空间查询:如“离你最近的旅馆或饭店在哪儿”,或者更先进的空间分析:比如缓冲分析和网络分析等。
在Web上使用WebGIS就和在本地计算机上使用桌面GIS 软件一样。
7)、经济性。
一般专业的GIS软件非常昂贵,而对于普通用户来说,经常WebGIS是建立在Internet上具有浏览器/服务器体系结构(B/S)的网络GIS,只使用一些最基本的功能,想购买专业软件显得不太可能,也不经济。
WebGIS在客户端只需要浏览器,不需要客户的额外投入。
由于客户端的简单而减少的维护费用也不容忽视。
为了适应这些特点,在实现WebGIS时,需要考虑下面这些情况:(1)支持Internet/Intranet技术标准,或与Internet/Intranet技术标准相兼容,具有分布式应用体系结构,也就是实现WebGIS客户机端与服务器端数据传输通信。
包括支持TCP/IP网络通信协议、HTFP 文档与文件传输协议、文档显示与应用程序集成(HTML和HTMLBrower)、服务器端集成(WebServerCGI或AH)、客户端扩展(HTML,Java和Javaseript)、服务器端扩展(CGI和Server&PI)可执行的客户机与服务器、进程的逻辑分布、多线程可扩展服务器、支持动态访问、强大的客户部件、远程制作(包括可视化远程制作工具)、图形文档支持嵌八的URL等功能。
(2)分布式应用体系结构。
这种结构使得客户机与服务器之间的处理负荷能达到真正有效的平衡.实现计算分布和数据分l布的目标,使系统具有可互操作性。
从而可以把数据量集中的处理任务放在服务器端执行,客户端完成诸如空间查询、专题地图生成等进程.以充分发挥客户机与服务器各自的优势。
(3)系统的开放性。
系统的开放性要求具有软硬件资源共享、数据多重应用、跨平台运行,且系统易于集成等方面的特性,相对于Internet /Intranet而言,WebGIS系统是一个建立于Internet/Intranet之上的开放式、具有统一标准和广泛适应性的互联网应用系统。
WebGIS系统一旦建成,客户端用户币仅能使用服务器端的软硬件资源,而且可以方便地利用Internet主干网的数据信息资源等。
国外ESRI、MapInfo、INTERGRAPH、AutoDesk等公司已经提供了他们各自的WebGIS解决方案;如国内的武汉测绘科技大学实现的Internet GeoSurf.北京大学李琦教授、方裕教授、许卓群教授和中科院遥感应用研究所杨崇俊研究员各自领导的课题组在WebGIS的理论和应用中作了很多卓有成效的工作,许多其他的GIS公司也在WebClS方向作了很多工作。
二、技术的开发支持本系统的开发模式为B/S,所以我们选择了环境下开发系统。
ASP是一套微软开发的服务器端脚本环境,ASP内含于IIS3.0和4.0之中,通过ASP可以结合HTNL网页、ASP指令和AetiveX控件建立动态、交互且高效的Web服务器应用程序:ASP文件存储在服务器端,当客户端向文件名后缀为ASP的文件发送一个请求后,Webserver在服务器端解释这个ASP文件后形成一个HTML 页,而后传送到客户端:ASP解决了CGI接口对象化的难题.可以自动解析收集来的网页的数据。
另外,作为一种微软的Web集成技术,ASP可以使用Windows环境下的其他ActiveX对象。
但是,由于ASP+务器端组件的方法仅仅是一种服务器端的技术,采用这种方法作为一种WebGIS的解决方案,WebGIS客户端同样不具备数据管理模块,因此,与CCI、ServerAPI技术类似,具有WebGIS网络传输负担重的缺点。
另外,作为微软公司推出的一种动态网络技术支持,WebGIS服务器端程序不具备良好的平台无关性,无法方便地进行跨平台的系统移植。
技术是由微软的.NET部分技术具体化而来的,完全基于模块与组件,具有更好的可扩展性与可研定制性,数据处理方面更是引入了许多激动人心的新技术。
正是这些具有革新意义的新特性,让给Web开发人员提供了更好的灵活性,有效的缩短了Web应用程序的开发周期[7]。
增强了许多内置性能。
例如,页只需编译一次,并为后面的请求而被缓存。
由于这些已编译的页保存到磁盘,因此即使整个服务器重新启动,它们也不会失效。
还缓存内部对象(如服务器变量),以加速用户代码的访问速度。
而且,使获益的还有对公共语言运行库的所有性能改进:实时编译、同时为单处理器和多处理器计算机准备的微调公共语言运行库,等等。
改进了配置、伸缩性、安全性和可靠性。
对于简单的ASP 应用程序,配置其实并不算什么问题,但是当你移植到一个利用组件的N层结构中时就会遇到问题。
当你对这些应用程序进行配置和维护时,DLL陷阱问题(组件注册、版本、锁定的DLL等等)就会出现。
中则取消了组件注册以及DLL锁定,全面使用了XML配置文件,从而解决了这个问题。
这样你只需要执行复制文件的工作就能配置一个Web应用程序。
但是,所有这些改进都无法使您避免编写那些性能不佳的代码。
最终,您必须保证应用程序可以满足用户的要求。
对各种不同的浏览器提供了更好的支持。
对于ASP开发人员来说,浏览器兼容问题好象是一个永恒的问题。
你或者为低一级的浏览器编写代码,例如用HTML 3.2,或者限制页面的浏览范围。
无线应用程序协议WAP设备的引入还会深化这个问题。
本文中Web表单这部分描述了是如何解决浏览器兼容性问题的。
造就了一类新的Web应用程序。
目前的Web应用程序通常都是同一种模式:一套线性应用程序,然后将逻辑植入其中之一。
允许开发人员打破这种单一模式,创造出更加动态而且伸缩性更强的应用程序,这种应用程序能够更好地满足公司的商业需求,并提供一个更加丰富的开发环境。
三、NET与WebGIS目前,大部分的WebGIS采用的是CGI/SeverAPI方法。
CGI机制本身有很大的缺陷,对于每一个客户机的请求,都要重新启动一个新的服务进程,当有多用户同时发出请求时,服务器的负担重,经过各种扩充的CG1工具也无助于问题的解决,客户机对象仍无法直接调用服务器对象,客户机与服务器对象之间交互的基本形式仍然是HTML表格。
相对而言,Sever API性能有所改进,但Server API往往依附于特定的Web服务器,可移植性较差。
为了解决这些问题,我们选择了在桌面市场里占有率较高的Windows.NET平台作为构建WebGIS的基础。
更为重要的是,.NET开发既快又方便,和Windows上的各种服务紧密相连,通过和操作系统紧密相联的开发环境更有利于提高系统的性能和质量,客户机可以直接调用服务器对象,突破了CGl/Sever AP1方式的瓶颈。
2体系结构设计在.NET技术的支持下,我们构建了用户表示层、Web服务层、应用服务层、数据层、技术支持层5个层次组成的新型WebGIS模型(图1)。