第九章GIS新技术与数字地球简介 第一节网络GIS 、网络GIS( Webgis)概述 1、关于 Internet 互联网 nternet或称因特网已经成为计算机行业乃至整个社会最热门的话题之一,报纸 杂志、新闻、广播到处都可以看到它的踪影。 Internet是全球最大的、开放的、由众多位于世 界各地的计算机和计算机网络利用高速通讯线路连接在一起进行各种信息交换的计算机网 络,它的核心是开放的TCP/IP协议。 Internet被认为是未来信息高速公路的雏型,它能提 供很多种信息服务,主要有:电子邮件(Ema)、远程登录( Telnet、文件传送协议(FTP)、新 闻沙龙( USENET、电话拨号连接(Da- up Connection)等。 Internet网络的特点可归纳如下 跨地域性: Internet网络的发展速度非常惊人,基本覆盖了全世界绝大部分国家。 Internet是通讯技术、计算机技术和信息技术发展的完美结合 信息资源共享:信息数据库将被每个上网的人共享使用,大大提高了信息资源的利用率 通信协作: Internet网上数据的传送需要多台服务器的共同协作才能完成。 世界各国目前对互联网的发展都极为重视,互联网已经在世界各地普及和使用。例如, 互联网在新西兰已经成为一种公认的、通用的数据交换手段,政府、商业机构和教育团体均 积极地发展网页:国际南极信息中心的主页允许浏览者获得大量有价值的臭氧层信息、天气 变化模式等信息:在北美,当人们需要某些地理数据,了解GIS有关技术的发展,寻找各种 服务,甚至找工作的时候,首先去查找的地方就是互联网。 1989年欧洲粒子研究中心(CERN的科学家TB.Lee提出了万维网( World Wide Web简记 为WwW,也称Web)这一概念,并推出一个基于超文本 Hyper Text和HTIP的信息查询工 具,实现于1990年的Next计算机上。1992年CERN公开发表了万维网,至1994年万维网 己成为访问因特网资源的最好手段。我国在1994年春开始在 Internet上建立万维网服务器 浏览万维网资源的著名浏览器有美国网景( Netscape)公司的 Navigation和微软公司的 Explorer 最初的万维网仅是为了满足高能物理学家的信息需要,但现己发展成为一个包含各类信 息,面向各种用户的信息系统,成为因特网最精彩的部分。用户只需在自己的计算机上运行 浏览器软件,因特网服务器就会根据用户查询条件自动到全球各地的环球服务器上查找信 息,实现广泛的信息资源共享 万维网的出现,对于因特网来说具有划时代的意义,它使 Internet的应用走出专业化, 进入千家万户。万维网是基于 Internet的一种网络应用模式,是一种分布式多媒体超文本系 统,它将不同的但彼此相关的信息通过链接以超文本的形式组织在一起,万维网服务是目前 Internet上最重要也是发展最迅速的应用,网络用户可以通过一个网络浏览器(如 Microsoft
109 第九章 GIS 新技术与数字地球简介 第一节 网络 GIS 一、网络 GIS(WebGIS)概述 1、关于 Internet 互联网(Internet)或称因特网已经成为计算机行业乃至整个社会最热门的话题之一,报纸、 杂志、新闻、广播到处都可以看到它的踪影。Internet 是全球最大的、开放的、由众多位于世 界各地的计算机和计算机网络利用高速通讯线路连接在一起进行各种信息交换的计算机网 络,它的核心是开放的 TCP/IP 协议。Internet 被认为是未来信息高速公路的雏型,它能提 供很多种信息服务,主要有:电子邮件(E-mail)、远程登录 (Telnet)、文件传送协议(FTP)、新 闻沙龙(USENET)、电话拨号连接(Dial-up Connection)等。Internet 网络的特点可归纳如下: ⚫ 跨地域性:Internet 网络的发展速度非常惊人,基本覆盖了全世界绝大部分国家。 ⚫ Internet 是通讯技术、计算机技术和信息技术发展的完美结合。 ⚫ 信息资源共享:信息数据库将被每个上网的人共享使用,大大提高了信息资源的利用率。 ⚫ 通信协作:Internet 网上数据的传送需要多台服务器的共同协作才能完成。 世界各国目前对互联网的发展都极为重视,互联网已经在世界各地普及和使用。例如, 互联网在新西兰已经成为一种公认的、通用的数据交换手段,政府、商业机构和教育团体均 积极地发展网页;国际南极信息中心的主页允许浏览者获得大量有价值的臭氧层信息、天气 变化模式等信息;在北美,当人们需要某些地理数据,了解 GIS 有关技术的发展,寻找各种 服务,甚至找工作的时候,首先去查找的地方就是互联网。 2、WWW 1989 年欧洲粒子研究中心(CERN)的科学家 T. B. Lee 提出了万维网(World Wide Web 简记 为 WWW,也称 Web)这一概念,并推出一个基于超文本 Hyper Text 和 HTTP 的信息查询工 具,实现于 1990 年的 Next 计算机上。1992 年 CERN 公开发表了万维网,至 1994 年万维网 己成为访问因特网资源的最好手段。我国在 1994 年春开始在 Internet 上建立万维网服务器。 浏览万维网资源的著名浏览器有美国网景(Netscape) 公司的 Navigation 和微软公司的 Explorer。 最初的万维网仅是为了满足高能物理学家的信息需要,但现己发展成为一个包含各类信 息,面向各种用户的信息系统,成为因特网最精彩的部分。用户只需在自己的计算机上运行 浏览器软件,因特网服务器就会根据用户查询条件自动到全球各地的环球服务器上查找信 息,实现广泛的信息资源共享。 万维网的出现,对于因特网来说具有划时代的意义,它使 Internet 的应用走出专业化, 进入千家万户。万维网是基于 Internet 的一种网络应用模式,是一种分布式多媒体超文本系 统,它将不同的但彼此相关的信息通过链接以超文本的形式组织在一起,万维网服务是目前 Internet 上最重要也是发展最迅速的应用,网络用户可以通过一个网络浏览器(如 Microsoft
Internet Explorer或 Netscape Navigator)来阅读文字、观看图象、欣赏音乐,通过万维网,可 以得到世界各地各种各样的信息。万维网上的文本文件有特殊的要求:(1)文件都必须有一个 被称为“全球资源定位器”( Universal Resource locator)的唯一地址。(2)文件是用超文本标记 语言( Hypertext Markup Language)专门构建的。(3)文件中可包含超级链接( Hyper Link),即从 个文件直接跳到其它文件,可以在文件之间跳跃。因此网络浏览器可以通过超级链接方式 来存取互联网中任何一台计算机中的由URL定位的信息。基于Web实施信息管理、发布 服务已成为企业步入信息化时代的必经之路 在了解网络地图发布软件是如何将地图发布于 Internet网上之前,首先了解一些最基本 的 Internet的逻辑结构。 Internet上的数据交换可以理解为在三个层次中进行。 第一层为客户层,网络用户在这里借助于 Internet浏览器、通过电话线向网上的其它计 算机发出请求。 在中间层,客户以URL形式(例如:htp/wnwu.edu.cn)发出的请求被送到该请求 数据存放的实际地址。例如在GS数据传输中,web服务器将用户的地图请求发送到存放被 请求地图数据的地图服务器中,并将信息返回给客户端浏览器 最后,在服务器层,回答用户的请求,相关数据被送回到客户端。 事实上,用户与服务器之间的关系远比这里描述的要复杂得多,这里只作简要介绍 3、 WebGIS 互联网络( nternet)的迅速崛起和在全球范围内的飞速发展,使万维网( World wide web简 称WWW或Web)成为高效的全球性信息发布渠道。这一技术正在以很快的速度进入每家每 户,它将把地球变成一个小小的村落。网络时代即将来临。 随着 Internet技术的不断发展和人们对地理信息系统(S)的需求,利用 Internet在web 上发布和出版空间数据,为用户提供空间数据浏览、查询和分析的功能,已经成为GS发展 的必然趋势。于是,基于 Internet技术的地理信息系统—— WebGIs就应运而生。 互联网地理信息系统 WebGIS是 Internet技术应用于GIS开发的产物,是一种基于 Internet 的 OpenGIS。GIS通过WWW功能得以扩展,真正成为一种大众使用的工具。从WwW的 任意一个节点, Internet用户可以浏览 WebGIS站点中的空间数据、制作专题图,以及进行各 种空间检索和空间分析,从而使GIS进入千家万户。一般把因特网中的GS称为WwW一 GIS或 WebGIS,中文名为万维网GS。 WebGIS就是以WwW的Web页面作为GlS软件的 用户界面,把 Internet和GS技术结合在一起,能够进行各种交互操作的GlS,它是一种大 社会级的GIS。Web页面使用超媒体技术和超文本链接语言,使得对wwW的操作更富有灵 活性和趣味性。以Web作为GIS的用户界面,将一改以往GIS软件用户界面呆板生硬的面 孔,更利于GIS大众化。 与传统GIS不同的是,传统GS大多为独立的单机结构,空间数据采用集中式处理;而 WebGIS采用了基于 Internet网的 Client/ Server体系结构,不同部门数据可以分别存贮在不 同地点的 Server上,每个GS用户作为一个 Client端通过互联网与 Server交换信息,可以与 网上其他非GIS信息进行无缝连接和集成。 WebGIS可以实现对各种传统GS系统数据的相 互操作和共享,以便充分利用现有的数据资源。 WebGIS还可以用于 Intranet以建立各部门内 部的网络GIS,实现局部范围内的数据共享。 WebGIS不但改变了传统GS的设计、开发和 应用方法,而且完全改变了空间数据的共享模式。尽管如此,万维网地理信息系统目前尚处
110 Internet Explorer 或 Netscape Navigator)来阅读文字、观看图象、欣赏音乐,通过万维网,可 以得到世界各地各种各样的信息。万维网上的文本文件有特殊的要求:(1)文件都必须有一个 被称为“全球资源定位器”(Universal Resource Locator)的唯一地址。(2)文件是用超文本标记 语言(Hypertext Markup Language)专门构建的。(3)文件中可包含超级链接(Hyper Link),即从 一个文件直接跳到其它文件,可以在文件之间跳跃。因此网络浏览器可以通过超级链接方式 来存取互联网中任何一台计算机中的由 URL 定位的信息。基于 Web 实施信息管理、发布、 服务已成为企业步入信息化时代的必经之路。 在了解网络地图发布软件是如何将地图发布于 Internet 网上之前,首先了解一些最基本 的 Internet 的逻辑结构。Internet 上的数据交换可以理解为在三个层次中进行。 第一层为客户层,网络用户在这里借助于 Internet 浏览器、通过电话线向网上的其它计 算机发出请求。 在中间层,客户以 URL 形式(例如:http://www.nwu.edu.cn)发出的请求被送到该请求 数据存放的实际地址。例如在 GIS 数据传输中,Web 服务器将用户的地图请求发送到存放被 请求地图数据的地图服务器中,并将信息返回给客户端浏览器。 最后,在服务器层,回答用户的请求,相关数据被送回到客户端。 事实上,用户与服务器之间的关系远比这里描述的要复杂得多,这里只作简要介绍。 3、WebGIS 互联网络(Internet)的迅速崛起和在全球范围内的飞速发展,使万维网(World Wide Web 简 称 WWW 或 Web)成为高效的全球性信息发布渠道。这一技术正在以很快的速度进入每家每 户,它将把地球变成一个小小的村落。网络时代即将来临。 随着 Internet 技术的不断发展和人们对地理信息系统(GIS)的需求,利用 Internet 在 Web 上发布和出版空间数据,为用户提供空间数据浏览、查询和分析的功能,已经成为 GIS 发展 的必然趋势。于是,基于 Internet 技术的地理信息系统——WebGIS 就应运而生。 互联网地理信息系统WebGIS是Internet技术应用于GIS开发的产物,是一种基于Internet 的 OpenGIS。GIS 通过 WWW 功能得以扩展,真正成为一种大众使用的工具。从 WWW 的 任意一个节点,Internet 用户可以浏览 WebGIS 站点中的空间数据、制作专题图,以及进行各 种空间检索和空间分析,从而使 GIS 进入千家万户。一般把因特网中的 GIS 称为 WWW— GIS 或 WebGIS,中文名为万维网 GIS。WebGIS 就是以 WWW 的 Web 页面作为 GIS 软件的 用户界面,把 Internet 和 GIS 技术结合在一起,能够进行各种交互操作的 GIS,它是一种大 社会级的 GIS。Web 页面使用超媒体技术和超文本链接语言,使得对 WWW 的操作更富有灵 活性和趣味性。以 Web 作为 GIS 的用户界面,将一改以往 GIS 软件用户界面呆板生硬的面 孔,更利于 GIS 大众化。 与传统 GIS 不同的是,传统 GIS 大多为独立的单机结构,空间数据采用集中式处理;而 WebGIS 采用了基于 Internet 网的 C1ient/Server 体系结构,不同部门数据可以分别存贮在不 同地点的 Server 上,每个 GIS 用户作为一个 Client 端通过互联网与 Server 交换信息,可以与 网上其他非 GIS 信息进行无缝连接和集成。WebGlS 可以实现对各种传统 GIS 系统数据的相 互操作和共享,以便充分利用现有的数据资源。WebGIS 还可以用于 Intranet 以建立各部门内 部的网络 GIS,实现局部范围内的数据共享。WebGIS 不但改变了传统 GIS 的设计、开发和 应用方法,而且完全改变了空间数据的共享模式。尽管如此,万维网地理信息系统目前尚处
在试验研究阶段,其最终目标是应能实现GIS与WWW技术的有机结合,GS通过wwW 成为大众使用的技术和工具。具体地讲,在WWW的任意一个节点上 Internet用户可以浏览 WebGIS站点中的空间数据、制作专题图,以及进行各种空间检索和空间分析,从而使GiS 进入千家万户。 4、 WebGIS的特点 同传统的GS相比较, WebGIS具有以下特点 传统上GS的数据共享都是基于文件共享的低级分布式结构,数据集中存放于服务器, 由空间数据库系统进行统一管理,在客户端采用GIS桌面系统进行远程文件调用。所存在的 主要问题是 文件服务器结构的处理能力完全依赖于客户端,其效率低下。 客户端的任何操作都要将服务器文件远程复制到本地进行。当多用户并发操作时,网上 存在多个备份,因此,数据的完整性难以控制:大量数据频繁传输,易造成网络瓶颈, 降低系统性能 成本高。企业用户使用GIS仅限于一般功能,而每个客户端都要配备昂贵的专业GIS软 件,这无疑是巨大的浪费 ●GIS桌面系统操作复杂,操作人员需要有专业基础和经过专门培训,不适合企业级及大 众化应用。 万维网地理信息系统是地理信息系统在万维网上的实现,是利用万维网技术对传统地理 信息系统的改造和发展。与传统的基于桌面或局域网的GIS相比, WebGIS具有以下的优点: 更广泛的访问范围。客户可以同时访问多个位于不同地方的服务器上的最新数据,而这 Internet/ Intranet所特有的优势大大方便了GS的数据管理,使分布式的多数据源的 数据管理和合成更易于实现。 ●平台独立性。无论服务器/客户机是何种机型,无论 WebGIS服务器端使用何种GS软 件,由于使用了通用的Web浏览器,用户就可以透明地访问 WebGIs数据,在本机或某 个服务器上进行分布式部件的动态组合和空间数据的协同处理与分析,实现远程异构数 据的共享。 ●可以大规模降低系统成本和减少重复劳动。普通GIS在每个客户端都要配备昂贵的专业 GIS软件,而用户使用的经常只是一些最基本的功能,这实际上造成了极大的浪费 WebGIS在客户端通常只需使用web浏览器(有时还要加一些插件),其软件成本与全套 专业GIS相比明显要节省得多,同时也可减少不同部门因数据的重复采集而带来的重复 劳动。另外,由于客户端的简单性而节省的维护费用也不容忽视。 更简单的操作。要广泛推广GS,就要降低对系统操作的要求,使GS系统为广大的普 通用户所接受,而不仅仅局限于少数受过专业培训的专业用户, 二、 Webgis设计思想 CGl和 Sever apl是较早应用于 WebGIS开发的方法。其中CG是通用网关接口 Common Gateway Interface)的英文缩写,它建立了 Internet服务器与应用程序之间的接口。基于cGl 的 WebGIS是按照如下方式实现WWW交互的:用户发送一个请求到服务器上,服务器通过 CGI把该请求转发给后端运行的Gs应用程序中,由应用程序生成结果交还给服务器,服务
111 在试验研究阶段,其最终目标是应能实现 GIS 与 WWW 技术的有机结合,GIS 通过 WWW 成为大众使用的技术和工具。具体地讲,在 WWW 的任意一个节点上 Internet 用户可以浏览 WebGIS 站点中的空间数据、制作专题图,以及进行各种空间检索和空间分析,从而使 GIS 进入千家万户。 4、WebGIS 的特点 同传统的 GIS 相比较,WebGIS 具有以下特点: 传统上 GIS 的数据共享都是基于文件共享的低级分布式结构,数据集中存放于服务器, 由空间数据库系统进行统一管理,在客户端采用 GIS 桌面系统进行远程文件调用。所存在的 主要问题是: ⚫ 文件服务器结构的处理能力完全依赖于客户端,其效率低下。 ⚫ 客户端的任何操作都要将服务器文件远程复制到本地进行。当多用户并发操作时,网上 存在多个备份,因此,数据的完整性难以控制;大量数据频繁传输,易造成网络瓶颈, 降低系统性能。 ⚫ 成本高。企业用户使用 GIS 仅限于一般功能,而每个客户端都要配备昂贵的专业 GIS 软 件,这无疑是巨大的浪费。 ⚫ GIS 桌面系统操作复杂,操作人员需要有专业基础和经过专门培训,不适合企业级及大 众化应用。 万维网地理信息系统是地理信息系统在万维网上的实现,是利用万维网技术对传统地理 信息系统的改造和发展。与传统的基于桌面或局域网的 GIS 相比,WebGIS 具有以下的优点: ⚫ 更广泛的访问范围。客户可以同时访问多个位于不同地方的服务器上的最新数据,而这 一 Internet/Intranet 所特有的优势大大方便了 GIS 的数据管理,使分布式的多数据源的 数据管理和合成更易于实现。 ⚫ 平台独立性。无论服务器/客户机是何种机型,无论 WebGIS 服务器端使用何种 GIS 软 件,由于使用了通用的 Web 浏览器,用户就可以透明地访问 WebGIS 数据,在本机或某 个服务器上进行分布式部件的动态组合和空间数据的协同处理与分析,实现远程异构数 据的共享。 ⚫ 可以大规模降低系统成本和减少重复劳动。普通 GIS 在每个客户端都要配备昂贵的专业 GIS 软件,而用户使用的经常只是一些最基本的功能,这实际上造成了极大的浪费。 WebGIS 在客户端通常只需使用 Web 浏览器 (有时还要加一些插件),其软件成本与全套 专业 GIS 相比明显要节省得多,同时也可减少不同部门因数据的重复采集而带来的重复 劳动。另外,由于客户端的简单性而节省的维护费用也不容忽视。 ⚫ 更简单的操作。要广泛推广 GIS,就要降低对系统操作的要求,使 GIS 系统为广大的普 通用户所接受,而不仅仅局限于少数受过专业培训的专业用户, 二、WebGIS 设计思想 CGI 和 Sever API 是较早应用于 WebGIS 开发的方法。其中 CGI 是通用网关接口(Common Gateway Interface)的英文缩写,它建立了 Internet 服务器与应用程序之间的接口。基于 CGI 的 WebGIS 是按照如下方式实现 WWW 交互的:用户发送一个请求到服务器上,服务器通过 CGI 把该请求转发给后端运行的 GIS 应用程序中,由应用程序生成结果交还给服务器,服务
器再把结果传递到用户端显示。这种方式的缺点是服务器每次请求都要重新启动GS应用程 序,降低了系统响应速度。 Sever APl是经过扩充的CGI工具,比如 Microsoft的 ISAPI和 Netscape的 NSAPI采用 Server apl,服务器请求后端GS应用程序时不用重新启动该程序 而是通过IPC( Inter- process Communication,进程间通讯协议)与之进行信息交换。不过由于 Server apl没有统一的标准,所以一旦采用了某种 Server apl,那么服务器端将依赖于这种服 务器程序 目前的大部分 WebGIS是采用的CGI/ Sever APl方法。但是,CG机制本身有很大的缺 陷,对于每一个客户机的请求,都要重新启动一个新的服务进程,从而影响速度。它不适应 于编写最新的客户服务器应用软件,也不适合编写面向对象的Java客户机。经过各种扩充 的CGI工具也无助于问题的解决,因为不管是采用进程间DLL、服务器插件或者是ORB对 象的方案,它们都需要HTTP和Web服务器作为中介,来协调服务器和客户机对象之间的通 信。一个客户机对象无法直接调用服务器对象,客户机与服务器对象之间交互的基本形式仍 然是HIML表格。对于象 WebGIs这样复杂的客户/服务器应用来说,网络通信量相当大, 采用这种方式很难进一步提高速度。为了解决这个问题,1997年6月诞生了Web的一种分 布式对象方案,称为“ Object Web”。 Object Web将是 Internet变革中的又一个新浪潮。 基于 Object Web规范的 WebGIS可以称为分布式对象 WebGIS,这是 WebGIS的最新发 展方向。基于 Object Web开发的 WebGIS可以有效避免CG形成的瓶颈,允许客户机直接调 用服务器上的方法。分布式对象平台提供一种可以伸缩的由服务器到服务器的体系结构,服 务器对象可以运行在多个服务器上,从而可以动态平衡客户端请求的负载 目前,有两套不同的 Object Web规范正在进行着激烈的竞争:一个是 Object Management Group和 Javasoft公司的联合推出的 CORBA/Java标准,另一个是 Microsoft公司提出的 DCOM/ ActiveX标准。两个标准各有千秋,相持不下。尽管Java编译器在不断改进,但是 CORBA/Java在运行速度上仍然不如 DCOM/ActiveX。和Java一样, CORBA/Java规范的最 大优势仍然在于其跨平台能力,适用于 Windows、 Macintosh、UNX等,而 DCOMActiveX 目前还只能运行于32位 Windows系列操作系统。不过, Windows系列操作系统的市场占有 率达80%以上,在 Internet客户端的计算机市场里,其占有率则可能更高。究竟选用何种规 范来开发 WebGIs,需要根据软件的设计目标来权衡各方面的因素 进行 WebGIS设计的另外一个重要选择是,在客户端使用矢量地图或者栅格地图。如果 使用矢量图形,一般需要在客户端事先安装插件(plug-in),或者运行时自动下载 Java Applet 抑或 ActiveX控件;在客户端使用栅格图像则不需要而任何额外程序。不过,正因为在客户 端使用了插件、 Java Applet或者 ActiveX控件,采用矢量图形方式可以在本地执行许多操作 比如:地图放大缩小、漫游、就地选择并高亮显示,在一定程度上减少了服务器端的负载和 网络上的数据传输量:采用栅格图像方式,在客户端只能读得鼠标的x,y坐标,进行地图缩 放、平移和选择等操作都要传递xy坐标到服务器端处理,生成新的栅格图传递到客户端显 示,增加了服务器和网络传输的负担。 三、几种 Webgis的比较 WebGIS是当今GIS的制高点,已成为各大厂商激烈竞争的焦点。几个重要的GS厂商 争相发布各自的 WebGIS产品,如 MapInfo公司的 Maplnfo ProServer、 Intergraph公司的 112
112 器再把结果传递到用户端显示。这种方式的缺点是服务器每次请求都要重新启动 GIS 应用程 序,降低了系统响应速度。Sever API 是经过扩充的 CGI 工具,比如 Microsoft 的 ISAPI 和 Netscape 的 NSAPI。采用 Server API,服务器请求后端 GIS 应用程序时不用重新启动该程序, 而是通过 IPC (Inter-process Communication,进程间通讯协议)与之进行信息交换。不过由于 Server API 没有统一的标准,所以一旦采用了某种 Server API,那么服务器端将依赖于这种服 务器程序。 目前的大部分 WebGIS 是采用的 CGI/Sever API 方法。但是,CGI 机制本身有很大的缺 陷,对于每一个客户机的请求,都要重新启动一个新的服务进程,从而影响速度。它不适应 于编写最新的客户/服务器应用软件,也不适合编写面向对象的 Java 客户机。经过各种扩充 的 CGI 工具也无助于问题的解决,因为不管是采用进程间 DLL、服务器插件或者是 ORB 对 象的方案,它们都需要 HTTP 和 Web 服务器作为中介,来协调服务器和客户机对象之间的通 信。一个客户机对象无法直接调用服务器对象,客户机与服务器对象之间交互的基本形式仍 然是 HTML 表格。对于象 WebGIS 这样复杂的客户/服务器应用来说,网络通信量相当大, 采用这种方式很难进一步提高速度。为了解决这个问题,1997 年 6 月诞生了 Web 的一种分 布式对象方案,称为“Object Web”。 Object Web 将是 Internet 变革中的又一个新浪潮。 基于 Object Web 规范的 WebGIS 可以称为分布式对象 WebGIS,这是 WebGIS 的最新发 展方向。基于 Object Web 开发的 WebGIS 可以有效避免 CGI 形成的瓶颈,允许客户机直接调 用服务器上的方法。分布式对象平台提供一种可以伸缩的由服务器到服务器的体系结构,服 务器对象可以运行在多个服务器上,从而可以动态平衡客户端请求的负载。 目前,有两套不同的 Object Web 规范正在进行着激烈的竞争:一个是 Object Management Group 和 Javasoft 公司的联合推出的 CORBA/Java 标准,另一个是 Microsoft 公司提出的 DCOM /ActiveX 标准。两个标准各有千秋,相持不下。尽管 Java 编译器在不断改进,但是 CORBA/Java 在运行速度上仍然不如 DCOM/ActiveX。和 Java 一样,CORBA/Java 规范的最 大优势仍然在于其跨平台能力,适用于 Windows、Macintosh、UNIX 等,而 DCOM/ActiveX 目前还只能运行于 32 位 Windows 系列操作系统。不过,Windows 系列操作系统的市场占有 率达 80%以上,在 Internet 客户端的计算机市场里,其占有率则可能更高。究竟选用何种规 范来开发 WebGIS,需要根据软件的设计目标来权衡各方面的因素。 进行 WebGIS 设计的另外一个重要选择是,在客户端使用矢量地图或者栅格地图。如果 使用矢量图形,一般需要在客户端事先安装插件(plug-in),或者运行时自动下载 Java Applet 抑或 ActiveX 控件;在客户端使用栅格图像则不需要而任何额外程序。不过,正因为在客户 端使用了插件、Java Applet 或者 ActiveX 控件,采用矢量图形方式可以在本地执行许多操作, 比如:地图放大缩小、漫游、就地选择并高亮显示,在一定程度上减少了服务器端的负载和 网络上的数据传输量;采用栅格图像方式,在客户端只能读得鼠标的 x, y 坐标,进行地图缩 放、平移和选择等操作都要传递 x, y 坐标到服务器端处理,生成新的栅格图传递到客户端显 示,增加了服务器和网络传输的负担。 三、几种 WebGIS 的比较 WebGIS 是当今 GIS 的制高点,已成为各大厂商激烈竞争的焦点。几个重要的 GIS 厂商 争相发布各自的 WebGIS 产品,如 MapInfo 公司的 MapInfo ProServer 、Intergraph 公司的
GeoMedia Web Map、ESRI的 Internet Map Server(IMS) for Arc view& Mapobjects,著名的CAD 厂商 Autodesk公司也推出了 MapGuide。这些产品大多发布于1996-1997年。最近 Bently公 司和 Maplnfo公司又相继推出了 Modelserver/ Discovery和 MapX Site。现就其中前五个 WebGIs产品的技术特征进行比较,列表如下(表9-1)。 要建立成功的 WebGIS应用,选择 WebGIS开发工具十分重要,用户要根据需求情况具 体问题具体分析。以下列出几个方面的建议可供用户参考 尽管几乎所有厂商都提供了数据格式转换工具,但最好选用能直接发布已有数据格式的 软件,对于已经建立了空间数据库的用户,这是一个需要首先考虑的问题。如果要求较强的 空间查询功能,则IMS、 MapInfo ProServer和 ModelServer/Discovery可以优先考虑,因为这 几个软件在服务器端都运行着相应的桌面GIS软件,客户端可以通过 Internet直接向服务器 端发送其桌面软件支持的空间查询命令。另一方面,如果地图中有密集的细小多边形或线状 地物, GeoMedia Web Map、 Map Guide和 ModelServer/Discovery有明显优势,因为它们在 客户端采用的是矢量图形格式。倘若强调与关系数据库的动态连接,则是 GeoMedia Web Map 和 Map Guide比较突出。另外, Maplnfo ProServer和IMS在客户端支持多种平台,而 GeoMedia Web Map和 Map Guide仅仅支持使用 Windows系列操作系统的浏览者。如果用于建立 Intranet 应用,选择传递矢量图形的 GeoMedia Web Map、 Map Guide和 Modelserver/ Discovery较好, 因为它们所需要的插件和 ActiveX控件可以统一分发,预先安装,从而换来客户端较强的交 互性和较快的响应速度。 表9—1几个重要的 WebGIS产品的技术特征 MapInfo GeoMedia Web Internet Map Map Guide ModelServer/ PreServer Server(IMS) Discovery MapInfo Corp graph Corp ESRI Inc Autodesk Inc 服务器操作 Windows nt Windows NT Windows NT Windows NT 系统 NT/95 Information Web服务器支持CGI的 Internet Information Server或者支持Cil的 Netscape Web Server Server 其他服务器 ODBC, Arcview或者 Microstation 端软件 MapInfo 4.x ODBC Mapobjects应用ODBC Geo Graphics Map Basic ODBC ODBC Windows系 Windows系列 客户端操作列, Macintosh, Windows nto列, Macintosh,w Macintosh UNIX NT/95 UNIX Internet 支持HTML的 客户端浏览持HML的任pboe 任意浏览器 Explorer Explorer, 意浏览器 Netscape Netscape Netscape Navigator 如果使用 Netscape 客户端是否需不需要 Navigator浏览器,自动下载laa需要安装 需要安装 113
113 GeoMedia Web Map、ESRI 的Internet Map Server(IMS) for ArcView & MapObjects,著名的CAD 厂商 Autodesk 公司也推出了 MapGuide。这些产品大多发布于 1996-1997 年。最近 Bently 公 司和 MapInfo 公司又相继推出了 ModelServer/Discovery 和 MapX Site。现就其中前五个 WebGIS 产品的技术特征进行比较,列表如下 (表 9—1)。 要建立成功的 WebGIS 应用,选择 WebGIS 开发工具十分重要,用户要根据需求情况具 体问题具体分析。以下列出几个方面的建议可供用户参考: 尽管几乎所有厂商都提供了数据格式转换工具,但最好选用能直接发布已有数据格式的 软件,对于已经建立了空间数据库的用户,这是一个需要首先考虑的问题。如果要求较强的 空间查询功能,则 IMS、MapInfo ProServer 和 ModelServer/Discovery 可以优先考虑,因为这 几个软件在服务器端都运行着相应的桌面 GIS 软件,客户端可以通过 Internet 直接向服务器 端发送其桌面软件支持的空间查询命令。另一方面,如果地图中有密集的细小多边形或线状 地物, GeoMedia Web Map、MapGuide 和 ModelServer/Discovery 有明显优势,因为它们在 客户端采用的是矢量图形格式。倘若强调与关系数据库的动态连接,则是 GeoMedia Web Map 和 MapGuide 比较突出。另外,MapInfo ProServer 和 IMS 在客户端支持多种平台,而 GeoMedia Web Map 和 MapGuide 仅仅支持使用 Windows 系列操作系统的浏览者。如果用于建立 Intranet 应用,选择传递矢量图形的 GeoMedia Web Map、MapGuide 和 ModelServer/Discovery 较好, 因为它们所需要的插件和 ActiveX 控件可以统一分发,预先安装,从而换来客户端较强的交 互性和较快的响应速度。 表 9—1 几个重要的 WebGIS 产品的技术特征 MapInfo ProServer GeoMedia Web Map Internet Map Server(IMS) MapGuide ModelServer/ Discovery 公司 MapInfo Corp. Intergraph Corp. ESRI Inc. Autodesk Inc. Bently 服务器操作 系统 Windows NT/95 Windows NT Windows NT Windows NT Windows NT Web 服务器 支持 CGI 的 Web Server Internet Information Server Internet Information Server 或者 Netscape Server 支持 CGI 的 Web Server Netscape Server 其他服务器 端软件 ODBC, MapInfo 4.x MapBasic ODBC ArcView 或者 MapObjects 应用 ODBC ODBC MicroStation GeoGraphics ODBC 客户端操作 系统 Windows 系列,Macintosh, UNIX Windows NT/95 Windows 系 列,Macintosh, UNIX Windows NT/95 Windows 系列, Macintosh、 UNIX 客户端浏览 器 支持 HTML 的任 意浏览器 Internet Explorer, Netscape Navigator 支持 HTML 的 任意浏览器 Internet Explorer, Netscape Navigator Internet Explorer, Netscape Navigator 客户端是否需 不需要 如果使用 Netscape Navigator 浏览器, 需要安装 自动下载 Java 需要安装 需要安装
要插件 ActiveCGM插件:Aplt或者| MapGuide插|vRML、CGM、 ( plug-in)控件 如果使用 InternetActiveX控件件(l兆左右)SvF等插件 (control) 会自动下载 ActiveCGM控件 网络传递的PEG(栅格图) ActiveCGM(栅格PGGF(栅|Mw|PG、NG 图形格式 图和矢量图) 格图) 矢量图)|VRML、CGM SVF(栅格图和矢 量图) 地图预出版动态生成地图动态生成地图动态生成地图需地图预出动态生成地图 版处理 可发布的数| MapInfo地图MGE工程、| ArcView Shape Autodesk GeoGraphics 据格式 MicroStation dgn文件、 Arc/Info DWG 程文件 文件、 FRAME文 Coverage、SDE Microstation设 件、 MGEDM文件地图文件 计文件 Arc View Shape文 Autodesk 件、 Arc/Info DwG文件 C overage、SDO文 由于 Internet技术本身正处于发展阶段,尽管 WebGIS软件发展很快,总的说来还处于初 级阶段,各厂商提供的解决方案都不十分成熟。这给起步较晚的国内GIS研究单位提供了很 好的机会。目前,国内的 WebGIS研制工作也在加紧进行,并有初步的产品推出 四、 WebGIs应用前景 WebGIS使GIS应用走向公众,通过网络可以将空间信息传至千家万户,如美国纽约州 某县通过电视有线网,向公众发布城市和土地等信息。香港旅游局也正在着手建立香港旅游 信息系统,该系统的基础数据直接来源于香港地政署的大型空间数据库,旅游信息则由旅游 协会(IA提供。计划首先在尖沙嘴等旅游热点安装触摸屏,游客可以通过它直接了解香港地 理环境和查询旅游信息。 WebGIS的数据传输量很大,目前 Internet的速度还不能完全满足需求。 Map Guide的插 件大约为1M,使用288K的调制解调器( MODEM也至少需要6分钟才能从服务器上下载过 来。不过,网络技术日新月异。1997年2月,美国总统克林顿提出“建立快1000倍的第二 代互联网络,让12岁以上的青少年人人都上互联网”。微软正在实施的一项计划中准备发射 840多颗人造地球卫星,这些卫星将用于取代光纤进行 Internet数据传输。可以预见,随着 Internet技术的发展, WebGiS应用终将走上普通人的办工桌、走进千家万户的家用电脑,与 nternet本身一样成为人们日常生活必不可少的实用工具。 WebGIS还可以应用于 Intranet建立企业/郈部门内部的网络GlS,可以在科研机构、政府职 能部门、企事业单位得到广泛应用。 WebGIS提供了一种易于维护的分布式GIS解决方案。 尽管目前的 WebGIs软件提供的空间分析功能很难满足专业应用的需要,但是随着技术的发 展, WebGIS终将取代传统的GS。 114
114 要插件 (plug-in)/控件 (control) ActiveCGM 插件; 如果使用 Internet Explorer 浏览器, 会自动下载 ActiveCGM 控件 Applet 或者 ActiveX 控件 MapGuide 插 件(1 兆左右) VRML、CGM、 SVF 等插件 网络传递的 图形格式 JPEG(栅格图) ActiveCGM(栅格 图和矢量图) JPEG/GIF (栅 格图) MWF (矢量图) JPEG、PNG、 VRML、CGM、 SVF(栅格图和矢 量图) 地图预出版 处理 动态生成地图 动态生成地图 动态生成地图 需地图预出 版处理 动态生成地图 可发布的数 据格式 MapInfo 地图 文件 MGE 工程、 MicroStation DGN 文件、FRAME 文 件、MGEDM 文件、 ArcView Shape 文 件、Arc/Info Coverage、SDO 文 件 ArcView Shape 文件、Arc/Info Coverage、SDE 地图文件、 Autodesk DWG 文件 Autodesk DWG GeoGraphics 工 程文件、 MicroStation 设 计文件 由于 Internet 技术本身正处于发展阶段,尽管 WebGIS 软件发展很快,总的说来还处于初 级阶段,各厂商提供的解决方案都不十分成熟。这给起步较晚的国内 GIS 研究单位提供了很 好的机会。目前,国内的 WebGIS 研制工作也在加紧进行,并有初步的产品推出。 四、WebGIS 应用前景 WebGIS 使 GIS 应用走向公众,通过网络可以将空间信息传至千家万户,如美国纽约州 某县通过电视有线网,向公众发布城市和土地等信息。香港旅游局也正在着手建立香港旅游 信息系统,该系统的基础数据直接来源于香港地政署的大型空间数据库,旅游信息则由旅游 协会(TA)提供。计划首先在尖沙嘴等旅游热点安装触摸屏,游客可以通过它直接了解香港地 理环境和查询旅游信息。 WebGIS 的数据传输量很大,目前 Internet 的速度还不能完全满足需求。MapGuide 的插 件大约为 1M,使用 28.8K 的调制解调器(MODEM)也至少需要 6 分钟才能从服务器上下载过 来。不过,网络技术日新月异。1997 年 2 月,美国总统克林顿提出“建立快 1000 倍的第二 代互联网络,让 12 岁以上的青少年人人都上互联网”。微软正在实施的一项计划中准备发射 840 多颗人造地球卫星,这些卫星将用于取代光纤进行 Internet 数据传输。可以预见,随着 Internet 技术的发展,WebGIS 应用终将走上普通人的办工桌、走进千家万户的家用电脑,与 Internet 本身一样成为人们日常生活必不可少的实用工具。 WebGIS 还可以应用于 Intranet 建立企业/部门内部的网络 GIS,可以在科研机构、政府职 能部门、企事业单位得到广泛应用。WebGIS 提供了一种易于维护的分布式 GIS 解决方案。 尽管目前的 WebGIS 软件提供的空间分析功能很难满足专业应用的需要,但是随着技术的发 展,WebGIS 终将取代传统的 GIS
第二节组件式GIS 组件式GIS( ComgIs)的概念 目前,在软件开发领域,一场新的革命正在悄悄兴起,这是由日趋成熟的组件技术引发 的。几年以前,当微软公司首先使用OLE( Object Linking& bedding)的时候,其初衷是为 了增强软件的互操作性。然而在使用过程中,人们逐渐认识到这一技术背后的实质性内容和 它在软件开发中所扮演的重要角色。组件技术将以前所未有的方式提高软件产业的生产效 率,这一点已逐步成为软件开发人员的共识。传统的 Client/Server结构、群件、中间件等大 型软件系统的构成形式,都将在组件的基础上重新构造 组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段。在组件技术的概 念模式下,软件系统可以被视为相互协同工作的对象集合,其中每个对象都会提供特定的服 务,发出特定的消息,并且以标准形式公布出来,以便其他对象了解和调用。组件间的接口 通过一种与平台无关的语言IDL( Interface Define Language)来定义,而且是二进制兼容的, 使用者可以直接调用执行模块来获得对象提供的服务。早期的类库,提供的是原代码级的重 用,只适用于比较小规模的开发形式:而组件则封装得更加彻底,更易于使用,并且不限于 C++之类的语言,可以在各种开发语言和开发环境中使用 由于组件技术的出现,软件产业的形式也将会有所改变。大量组件生产商会涌现出来 并推出各具特色的组件产品;软件集成商则利用适当的组件快速生产出用户需要的某些应用 系统;大而全的通用产品将逐步减少;很多相对较为专业,但用途广泛的软件,如GIS、语 音识别系统等,都将以组件的形式组装和扩散到一般的软件产品中。 GIS技术的发展,在软件模式上经历了功能模块、包式软件、核心式软件,从而发展到 ComGIS和 WebGIS的过程。传统GIS虽然在功能上己经比较成熟,但是由于这些系统多是 基于十多年前的软件技术开发的,属于独立封闭的系统。同时,GIS软件变得日益庞大,用 户难以掌握,费用昂贵,阻碍了GIS的普及和应用。组件式软件是新一代GIS的重要基础, Comgis的出现为传统GIS面临的多种问题提供了全新的解决思路。 ComGIs是面向对象技术和组件式软件在GS软件开发中的应用。认识 ComgIs,首先 需要了解所依赖的技术基础一组件式对象模型和 ActiveX控件。 COM是组件式对象模型( Component Object Model)的英文缩写,是OLE和 ActiveX共同 的基础。COM不是一种面向对象的语言,而是一种二进制标准。COM所建立的是一个软件 模块与另一个软件模块之间的链接,当这种链接建立之后,模块之间就可以通过称之为“接 口”的机制来进行通信。COM标准增加了保障系统和组件完整的安全机制,扩展到分布式 环境。这种基于分布式环境下的COM被称作DCOM( Distribute com。DCOM实现了COM 对象与远程计算机上的另一个对象之间直接进行交互 ActiveX是一套基于COM的可以使软件组件在网络环境中进行互操作而不管该组件是 用何种语言创建的技术。作为 ActiveX技术的重要内容, ActiveX控件是一种可编程、可重 用的基于COM的对象。 ActiveX控件通过属性、事件、方法等接口与应用程序进行交互 些软件公司专门生产各种用途的 ActiveX控件,比如:数据库访问、数据监视、数据
115 第二节 组件式 GIS 一、组件式 GIS (ComGIS)的概念 目前,在软件开发领域,一场新的革命正在悄悄兴起,这是由日趋成熟的组件技术引发 的。几年以前,当微软公司首先使用 OLE (Object Linking & Embedding)的时候,其初衷是为 了增强软件的互操作性。然而在使用过程中,人们逐渐认识到这一技术背后的实质性内容和 它在软件开发中所扮演的重要角色。组件技术将以前所未有的方式提高软件产业的生产效 率,这一点已逐步成为软件开发人员的共识。传统的 Client/Server 结构、群件、中间件等大 型软件系统的构成形式,都将在组件的基础上重新构造。 组件技术使近二十年来兴起的面向对象技术进入到成熟的实用化阶段。在组件技术的概 念模式下,软件系统可以被视为相互协同工作的对象集合,其中每个对象都会提供特定的服 务,发出特定的消息,并且以标准形式公布出来,以便其他对象了解和调用。组件间的接口 通过一种与平台无关的语言 IDL(Interface Define Language)来定义,而且是二进制兼容的, 使用者可以直接调用执行模块来获得对象提供的服务。早期的类库,提供的是原代码级的重 用,只适用于比较小规模的开发形式;而组件则封装得更加彻底,更易于使用,并且不限于 C++之类的语言,可以在各种开发语言和开发环境中使用。 由于组件技术的出现,软件产业的形式也将会有所改变。大量组件生产商会涌现出来, 并推出各具特色的组件产品;软件集成商则利用适当的组件快速生产出用户需要的某些应用 系统;大而全的通用产品将逐步减少;很多相对较为专业,但用途广泛的软件,如 GIS、语 音识别系统等,都将以组件的形式组装和扩散到一般的软件产品中。 GIS 技术的发展,在软件模式上经历了功能模块、包式软件、核心式软件,从而发展到 ComGIS 和 WebGIS 的过程。传统 GIS 虽然在功能上已经比较成熟,但是由于这些系统多是 基于十多年前的软件技术开发的,属于独立封闭的系统。同时,GIS 软件变得日益庞大,用 户难以掌握,费用昂贵,阻碍了 GIS 的普及和应用。组件式软件是新一代 GIS 的重要基础, ComGIS 的出现为传统 GIS 面临的多种问题提供了全新的解决思路。 ComGIS 是面向对象技术和组件式软件在 GIS 软件开发中的应用。认识 ComGIS,首先 需要了解所依赖的技术基础-组件式对象模型和 ActiveX 控件。 COM 是组件式对象模型(Component Object Model)的英文缩写,是 OLE 和 ActiveX 共同 的基础。COM 不是一种面向对象的语言,而是一种二进制标准。COM 所建立的是一个软件 模块与另一个软件模块之间的链接,当这种链接建立之后,模块之间就可以通过称之为“接 口”的机制来进行通信。COM 标准增加了保障系统和组件完整的安全机制,扩展到分布式 环境。这种基于分布式环境下的 COM 被称作 DCOM (Distribute COM)。DCOM 实现了 COM 对象与远程计算机上的另一个对象之间直接进行交互。 ActiveX 是一套基于 COM 的可以使软件组件在网络环境中进行互操作而不管该组件是 用何种语言创建的技术。作为 ActiveX 技术的重要内容,ActiveX 控件是一种可编程、可重 用的基于 COM 的对象。ActiveX 控件通过属性、事件、方法等接口与应用程序进行交互。 一些软件公司专门生产各种用途的 ActiveX 控件,比如:数据库访问、数据监视、数据
显示、图形显示、图像处理,甚至三维动画等等。几个著名的GIS软件公司把COM技术应 用于GIS开发,纷纷推出由一系列 ActiveX控件组成的 ComGIs软件,比如 Intergraph公司 的 GeoMedia、ESRI的 MapObjects、 MapInfo公司的MapX等 ComGIs的基本思想是把GS的各大功能模块划分为几个控件,每个控件完成不同的功 能。各个GIS控件之间,以及GIS控件与其它非GIS控件之间,可以方便地通过可视化的软 件开发工具集成起来,形成最终的GS应用。控件如同一堆各式各样的积木,他们分别实现 不同的功能(包括GS和非GS功能),根据需要把实现各种功能的“积木”搭建起来,就构 成应用系统 许多 WebGIS软件包均采用HIML标准,活动内容采用 Java applets(SUN标准)或者 ActiveX( Microsoft标准)进行传递。新型的分布式面向对象 WebGIS可以采用 CORBA/Java 或者 DCOM/ActiveX技术进行开发。 Active X控件不仅可以用于一般的 ActiveX容器程序(比 如Ⅴ isual basic、 Delphi等),而且能嵌入Web页面中。任何 ActiveX控件都可以设计成 Internet 控件,作为Web页面的一部分,Web页面中的控件通过脚本( Script)互相通信。因此, ComgIs 是 WebGIS的一种解决方案,而基于这一方案的 WebGIS通常比基于Java的运行速度快 、 ComGIs的特点 ComGIs的发展符合当今软件技术的发展潮流,同时也极大地方便了应用和系统集成 同传统的GIS比较,这一技术具有以下几方面特点 1、高效无缝的系统集成 一个系统的建立往往需要对GS数据、基本空间处理功能与各种应用模型进行集成。而 系统集成方案在很大程度上决定了系统的适用性和效率,不同的应用领域、不同的应用开发 者所采用的系统集成方案往往不同。归纳起来,基于传统的GIS基础软件的集成方案主要有 四种模式(图92) 模式一:在GS基础软件与应用分析模型之间,通过文件存取方式建立数据交换通道。 在这种集成方式中,GS与应用分析模型通过中间文件格式交换数据(图9-1),不适合 于大量而频繁地交换数据的情况,而且GIS基础软件与应用分析模型相互独立,系统整合性 差 模式二:直接使用GlS软件提供的二次开发语言编制应用分析模型(图9-1)。解 决了模式一的缺陷,但是GIS所提供的二次开发语言大都不能与C、C++、 FORTRAN等专 业程序设计语言相比,难以开发复杂的应用模型。 模式三:利用专业程序设计语言开发应用模型,并直接访问GIS软件的内部数据结构 (图9-1)。应用模型开发者可以根据自己的意愿选择使用何种高级语言开发复杂的应用 模型,但是直接访问GIS软件数据结构增加了应用开发的难度。 模式四:通过动态数据交换(DDE)建立GS与应用模型之间的快速通信(图91) 这是在DDE技术发展起来以后,对第一种集成方式的改进,可以避免频繁的文件数据交换 所带来的效率降低的毛病,也避免了从GS外部直接访问GS数据结构的代价。但是,GIS 与应用模型仍然是分离的,这种拼接是“有缝”的 116
116 显示、图形显示、图像处理,甚至三维动画等等。几个著名的 GIS 软件公司把 COM 技术应 用于 GIS 开发,纷纷推出由一系列 ActiveX 控件组成的 ComGIS 软件,比如 Intergraph 公司 的 GeoMedia、ESRI 的 MapObjects、MapInfo 公司的 MapX 等。 ComGIS 的基本思想是把 GIS 的各大功能模块划分为几个控件,每个控件完成不同的功 能。各个 GIS 控件之间,以及 GIS 控件与其它非 GIS 控件之间,可以方便地通过可视化的软 件开发工具集成起来,形成最终的 GIS 应用。控件如同一堆各式各样的积木,他们分别实现 不同的功能(包括 GIS 和非 GIS 功能),根据需要把实现各种功能的 “积木”搭建起来,就构 成应用系统。 许多 WebGIS 软件包均采用 HTML 标准,活动内容采用 Java applets(SUN 标准)或者 ActiveX(Microsoft 标准)进行传递。新型的分布式面向对象 WebGIS 可以采用 CORBA/Java 或者 DCOM/ActiveX 技术进行开发。ActiveX 控件不仅可以用于一般的 ActiveX 容器程序 (比 如 Visual Basic、Delphi 等) ,而且能嵌入 Web 页面中。任何 ActiveX 控件都可以设计成 Internet 控件,作为 Web 页面的一部分,Web 页面中的控件通过脚本(Script)互相通信。因此,ComGIS 是 WebGIS 的一种解决方案,而基于这一方案的 WebGIS 通常比基于 Java 的运行速度快。 二、ComGIS 的特点 ComGIS 的发展符合当今软件技术的发展潮流,同时也极大地方便了应用和系统集成。 同传统的 GIS 比较,这一技术具有以下几方面特点: 1、高效无缝的系统集成 一个系统的建立往往需要对 GIS 数据、基本空间处理功能与各种应用模型进行集成。而 系统集成方案在很大程度上决定了系统的适用性和效率,不同的应用领域、不同的应用开发 者所采用的系统集成方案往往不同。归纳起来,基于传统的 GIS 基础软件的集成方案主要有 四种模式(图 9-2)。 模式一: 在 GIS 基础软件与应用分析模型之间,通过文件存取方式建立数据交换通道。 在这种集成方式中,GIS 与应用分析模型通过中间文件格式交换数据(图 9-1 ),不适合 于大量而频繁地交换数据的情况,而且 GIS 基础软件与应用分析模型相互独立,系统整合性 差。 模式二: 直接使用 GIS 软件提供的二次开发语言编制应用分析模型(图 9-1 )。解 决了模式一的缺陷,但是 GIS 所提供的二次开发语言大都不能与 C、C++、FORTRAN 等专 业程序设计语言相比,难以开发复杂的应用模型。 模式三: 利用专业程序设计语言开发应用模型,并直接访问 GIS 软件的内部数据结构 (图 9-1 )。应用模型开发者可以根据自己的意愿选择使用何种高级语言开发复杂的应用 模型,但是直接访问 GIS 软件数据结构增加了应用开发的难度。 模式四: 通过动态数据交换(DDE)建立 GIS 与应用模型之间的快速通信(图 9-1 )。 这是在 DDE 技术发展起来以后,对第一种集成方式的改进,可以避免频繁的文件数据交换 所带来的效率降低的毛病,也避免了从 GIS 外部直接访问 GIS 数据结构的代价。但是,GIS 与应用模型仍然是分离的,这种拼接是“有缝”的
IS基础软件 GlS数据文件 中间文件 专业应用模型 GIS数据文件 专业应用模型件 应用模型文件 A模 B模式 C模式三 D模式四 GIS基础软件 专业应用模型件 GIS数据文件 GIS数据文件 专业应用模型 GIS基础软件 应用模型文件 图g-1GS基础软件与专业应用模型之间的集成方案比较(据宋关福等) 不论采用以上何种系统集成模式,传统的GIS软件在系统集成上都存在缺陷。 ComGIS 提供了解决以上问题的理想方案。 ComGIS不依赖于某一种开发语言,可以嵌入通用的开发 环境(如:Ⅵ isual basic和 Delphi)中实现GS功能,专业模型则可以使用这些通用开发环境来 实现,也可以插入其它的专业性模型分析控件。因此,使用 ComgIs可以实现高效、无缝的 系统集成(图9-2)。 GIS应用集成系统 专业模型 ComGIS控件 其他控件 Visual basic等可视集成开发环境 图9-2 ComGIs与应用程序之间的无缝集成(据宋关福等) 2、无须专门GIS开发语言 传统GIS往往具有独立的二次开发语言,如Arc/nfo的AML、MGE的MDL、 MapInfo 的 MapBasic等。对GIS基础软件开发者而言,设计一套二次开发语言是不小的负担,同时 二次开发语言对用户和应用开发者而言也存在学习上的负担。而且使用系统所提供的二次开 发语言,开发往往受到限制,难以处理复杂问题。 ComgIs则不需要额外的GIS二次开发语 言,只需实现GIS的基本功能函数,按照 Microsoft的 ActiveX控件标准开发接口。这有利于 减轻GlS软件开发者的负担,而且增强了GS软件的可扩展性。GIS应用开发者,不必掌握 17
117 不论采用以上何种系统集成模式,传统的 GIS 软件在系统集成上都存在缺陷。ComGIS 提供了解决以上问题的理想方案。ComGIS 不依赖于某一种开发语言,可以嵌入通用的开发 环境(如:Visual Basic 和 Delphi)中实现 GIS 功能,专业模型则可以使用这些通用开发环境来 实现,也可以插入其它的专业性模型分析控件。因此,使用 ComGIS 可以实现高效、无缝的 系统集成(图 9-2)。 2、无须专门 GIS 开发语言 传统 GIS 往往具有独立的二次开发语言,如 Arc/Info 的 AML、MGE 的 MDL、MapInfo 的 MapBasic 等。对 GIS 基础软件开发者而言,设计一套二次开发语言是不小的负担,同时 二次开发语言对用户和应用开发者而言也存在学习上的负担。而且使用系统所提供的二次开 发语言,开发往往受到限制,难以处理复杂问题。ComGIS 则不需要额外的 GIS 二次开发语 言,只需实现 GIS 的基本功能函数,按照 Microsoft 的 ActiveX 控件标准开发接口。这有利于 减轻 GIS 软件开发者的负担,而且增强了 GIS 软件的可扩展性。GIS 应用开发者,不必掌握 GIS基础软件 专业应用模型 GIS数据文件 GIS基础软件 专业应用模型件 GIS数据文件 中间文件 应用模型文件 专业应用模型 GIS基础软件 GIS数据文件 A 模式一 B 模式二 C 模式三 D 模式四 GIS基础软件 专业应用模型件 GIS数据文件 应用模型文件 DDE 图 9-1 GIS 基础软件与专业应用模型之间的集成方案比较(据宋关福等) 专业模型 ComGIS控件 其他控件 GIS应用集成系统 Visual Basic 等可视集成开发环境 图 9-2 ComGIS 与应用程序之间的无缝集成(据宋关福等)
额外的GlS开发语言,只需熟悉基于 Windows平台的通用集成开发环境,以及 ComGIS各个 控件的属性、方法和事件,就可以完成应用系统的开发和集成。目前,可供选择的开发环境 很多,如 Visual c++、 Visual basic、 Visual Foxpro、 Borland C++、 Delphi、C+ Builder以及 Power Builder等等 3、大众化的GIS 组件式技术已经成为业界标准,用户可以象使用其他 ActiveX控件一样使用 ComGIS控 件,使非专业的普通用户也能够开发和集成GIS应用系统,推动了GS大众化进程。 ComGIs 的出现使GIS不仅是专家们的专业分析工具,同时也成为普通用户对地理相关数据进行管理 的可视化工具 4、成本低 由于传统GIS结构的封闭性,往往使得软件本身变得越来越庞大,不同系统的交互性差 系统的开发难度大。 ComGIS提供实现空间数据的采集、存储、管理、分析和模拟等功能, 至于其他非GS功能(如关系数据库管理、统计图表制作等,则可以使用专业厂商提供的专门 组件,有利于降低GIS软件开发成本。另一方面, ComGIs本身又可以划分为多个控件,分 别完成不同功能。用户可以根据实际需要选择所需控件,最大限度地降低了用户的经济负担 、 ComGIs的设计与开发 设计 ComGIS,需要根据功能划分为多个控件。划分控件需要根据不同的数据结构和系 统模型进行具体分析,要考虑以下几个方面的问题:(1)控件间差别最大、控件内差别最小 (2)纯设计用模块与将随集成系统发布的模块分开,例如地图符号编辑、线型编辑器应与空 间査询分析等模块分开;(3)相同显示窗口的模块尽可能设计在同一个控件里:(4)处理相同 数据文件的模块尽可能设计在同一个控件里;(5)剔除空间查询分析控件中不必要的内容, 减少 Internet下载的数据量 考虑到以上因素,( Comgis可以划分为数据采集与编辑控件、图像处理控件、三维控件、 数据转换控件、地图符号编辑/线性编辑控件、空间査询分析控件等。其中一些无须进行二次 开发的模块不一定以组件方式提供,比如数据采集、数据转换、符号编辑/线型编辑等模块可 以用独立运行程序方式提供,数据转换模块还可以编译成动态连接库 传统GS软件与用户或者二次开发者之间的交互,一般通过菜单或工具条按钮、命令以 及二次开发语言进行。 ComGIs与用户和客户程序之间则主要通过属性、方法和事件交互(如 图9-3) 属性 ComGIS控件 ( ActiveX服务器) 为法→开发路 与其他COM组件 图9-3 ComGIS与集成环境及其它组件之间的关系(据宋关福等)
118 额外的 GIS 开发语言,只需熟悉基于 Windows 平台的通用集成开发环境,以及 ComGIS 各个 控件的属性、方法和事件,就可以完成应用系统的开发和集成。目前,可供选择的开发环境 很多,如 Visual C++、Visual Basic、Visual FoxPro、Borland C++、Delphi、C++ Builder 以及 Power Builder 等等。 3、大众化的 GIS 组件式技术已经成为业界标准,用户可以象使用其他 ActiveX 控件一样使用 ComGIS 控 件,使非专业的普通用户也能够开发和集成 GIS 应用系统,推动了 GIS 大众化进程。ComGIS 的出现使 GIS 不仅是专家们的专业分析工具,同时也成为普通用户对地理相关数据进行管理 的可视化工具。 4、成本低 由于传统 GIS 结构的封闭性,往往使得软件本身变得越来越庞大,不同系统的交互性差, 系统的开发难度大。ComGIS 提供实现空间数据的采集、存储、管理、分析和模拟等功能, 至于其他非 GIS 功能(如关系数据库管理、统计图表制作等,则可以使用专业厂商提供的专门 组件,有利于降低 GIS 软件开发成本。另一方面,ComGIS 本身又可以划分为多个控件,分 别完成不同功能。用户可以根据实际需要选择所需控件,最大限度地降低了用户的经济负担。 三、ComGIS 的设计与开发 设计 ComGIS,需要根据功能划分为多个控件。划分控件需要根据不同的数据结构和系 统模型进行具体分析,要考虑以下几个方面的问题:(1) 控件间差别最大、控件内差别最小; (2) 纯设计用模块与将随集成系统发布的模块分开,例如地图符号编辑、线型编辑器应与空 间查询分析等模块分开;(3) 相同显示窗口的模块尽可能设计在同一个控件里;(4) 处理相同 数据文件的模块尽可能设计在同一个控件里;(5) 剔除空间查询分析控件中不必要的内容, 减少 Internet 下载的数据量。 考虑到以上因素, ComGIS 可以划分为数据采集与编辑控件、图像处理控件、三维控件、 数据转换控件、地图符号编辑/线性编辑控件、空间查询分析控件等。其中一些无须进行二次 开发的模块不一定以组件方式提供,比如数据采集、数据转换、符号编辑/线型编辑等模块可 以用独立运行程序方式提供,数据转换模块还可以编译成动态连接库。 传统 GIS 软件与用户或者二次开发者之间的交互,一般通过菜单或工具条按钮、命令以 及二次开发语言进行。ComGIS 与用户和客户程序之间则主要通过属性、方法和事件交互 (如 图 9-3)。 ComGIS 控件 (ActiveX 服务器) 集成开发环境 (ActiveX 容器) 与其他COM组件 方法 事件 属性 图 9-3 ComGIS 与集成环境及其它组件之间的关系(据宋关福等)