11.什么是WebGIS?与一般GIS有什么不同?举例说明WebGIS的具体应用?
(1)Web GIS是Internet技术应用于GIS开发的产物,它基于Internet发布地理信息数据,供全球用户查询、检索并提供GIS服务。
(2)和传统的基于Client/Server的GIS相比,WebGIS有如下优点。
更广泛的访问范围: 客户可以同时访问多个位于不同地方的服务器上的最新数据,而这一Internet/Intranet所特有的优势大大方便了GIS的数据管理,使分布式的多数据源的数据管理和合成更易于实现。
平台独立性: 无论服务器/客户机是何种机器,无论WebGIS服务器端使用何种GIS软件,由于使用了通用的Web浏览器,用户就可以透明地访问WebGIS数据,在本机或某个服务器上进行分布式部件的动态组合和空间数据的协同处理与分析,实现远程异构数据的共享。
降低系统成本: 传统GIS在每个客户端都要配备昂贵的专业GIS软件,而用户使用的经常只是一些最基本的功能,这实际上造成了极大的浪费。WebGIS在客户端通常只需 使用Web浏览器(有时还要加一些插件),其软件成本与全套专业GIS相比明显要节省得多。另外,由于客户端的简单性而节省的维护费用也不容忽视。
更简单的操作: 要广泛推广GIS,使GIS系统为广大的普通用户所接受,而不仅仅局限于少数受过专业培训的专业用户,就要降低对系统操作的要求。通用的Web浏览器无疑是降低操作复杂度的最好选择。
(3)Web GIS应用 WebGIS得到越来越广泛的应用。概括起来,其应用方向分为两大类,一类为基于Internet的公共信息在线服务,为公众提供交通、旅 游、餐饮娱乐、房地产、购物等与空间信息有关的信息服务。在国内外的站点上已有了成功的应用,如 MapQuest(http://www.mapquest.com)和图行天下(http://www.go2map.com.cn)。这些站点提供大 量的与空间位置有关的各种生活类信息服务。WebGIS的另外一类应用为基于Intranet的企业内部业务管理,如帮助企业进行设备管理、线路管理以及 安全监控管理等等。随着企业Intranet应用的深入和发展,基于Intranet的WebGIS应用会有越来越大的市场,这无疑是未来的发展方向。
12.WebGIS的基本原理?WebGIS具体如何实现?
(1)实现地理信息的网上浏览的主要问题在于,目前浏览器不支持矢量图形,而GIS离不开图形,故要实现WebGIS就 需要提供一种方法,使浏览器能支持矢量图形,从大的方面来看,可以分为两条技术路线,一是在客户机端来解决,一是在服务器端来解决。前者通过加入插件或控 件,在客户机端扩展浏览器的功能,使得原本不支持图形的浏览器支持矢量图形,并提供方法及属性来改变显示的状态,后者是在服务器端提供相关软件,实现矢量 图形向WEB浏览器支持的图像格式的转换,然后传送到客户端显示,客户端的一些请求则通过公共网关接口(CGI)或ASP来提出。
(2)目前具体实现的方法主要有以下几种:
CGI方式:CGI(公共网关接口)提供了一个在浏览器和服务器之间,以及服务器和服务器上其他软件之间的一个接口。通 过CGI,客户可以送一个要求到服务器上,服务器再把这个要求转移到后端的应用程序上。这个特定的应用软件按照给定的要求产生结果并交给服务器,服务器再 把这一结果送给远程客户。CGI起着沟通客户服务器与服务器上软件的桥梁作用。比较成功的CGI技术方法有两种,即用CGI启动服务器端的批处理制图软件 和CGI启动服务器视窗GIS软件。CGI方式灵活性较大,但程序设计较为复杂一些,对于每一个网页都必须编写相应的处理CGI程序。由于CGI程序作为 单独的进程来运行,因而对于访问用户多的网站,将会大大加重服务器的负担,效率迅速下降。
服务器应用程序接口(Server API):该方法是为克服CGI方法的低效率问题而研制出来的。其基本原理与CGI类似,所不同的是CGI程序可以单独运行,而基于服务器应用程序接口的 程序必须在特定的服务器上运行,因而速度比CGI方法快很多。其缺点是它依附于特定的服务器和计算机平台。CGI和服务器API虽然增强了客户端 (Client)交互性,使客户可以获取各种地理空间数据和地图,但传给客户的信息仍然是静态的。客户不能操作单个地理实体以及快速放大和缩小地图,因为 在客户端整个地图图像是一个实体,任何客户的GIS操作如放大、缩小、标记等都需要服务器来完成。当网络流量较高时,系统反应会很慢,服务器的负载很重。
插入法(PlugIn):插入法是在浏览器端安装相应的插件用来显示从服务器端传送的矢量或栅格形式的GIS图形信息。 由于这种方式把一部分服务器上的功能移到客户端上,这样不仅大大加快了客户操作的反应速度,而且也减少了交互网上的流量和服务器的负载。但在客户端要先安 装相应的插件或控件。
Java应用程序:Java是一种专为Internet设计的计算机编程语言,Java的创立者,SUN公司将Java 定义为“一种简单、面向对象、分布式、解释性的、健壮安全、体系结构中立、可移植、高性能、多线程和动态”的语言,它的最大特点是“一次编写,到处运 行”,即与操作系统无关,目前常用的浏览器都支持Java。Java通过JDBC(Java Database Connectivity)来访问数据库,也可以直接存取网络文件,具有较大的灵活性,功能较强,但是编程的工作量较大。由于采用解释方式,因此速度较 慢。