万维网地理信息系统实现的相关技术问题

来源:互联网 发布:淘宝crm招聘 编辑:程序博客网 时间:2024/06/05 15:15
【摘 要】 在概略介绍因特网(Internet)的基础上,本文研究了实现万维网(WWW)GIS的技术途径,并对与万维网GIS技术密切相关的超文本、超媒体和超图等数据模型及其应用作了介绍地理信息系统无论是理论还是应用都在向纵深方向发展。传统单机模式的GIS系统在过渡到计算机局域网后,正面临着在因特网中如何实现的挑战。一些GIS系统软件商纷纷推出了自己的Internet/
Intranet实现策略及软件,如Autodesk公司的Mapguide,Mapinfo公司的Proserver,ESRI的Internet Map Server等。虽然这些产品还不太成熟,并非完全意义上的万维网GIS系统,但他们在尽
一切努力显示对Internet这一巨大无比信息空间的重视。

 一、信息高速公路和因特网简介

      因特网被认为是未来信息高速公路的雏型。早期的交互网只能提供电子邮件(E-mail)远程登录Telnet、文件传送FTP等,且主要为面向字符的服务。1989年欧洲粒子研究中心(CERN)的
科学家Tim Berners-Lee提出了万维网(World Wide Web)这一概念,并推出一个基于超文本HyperText和HTTP的信息查询工具,实现于1990年的Next计算机上。1992年CERN公开发表了万维
网,至1994年万维网已成为访问因特网资源的最好手段。我国在1994年春开始在Internet上建立万维网服务器。浏览万维网资源的著名浏览器有美国网景(Netscape)公司的Navigator和微软公
司的Explorer。

      最初的万维网仅是为了满足高能物理学家的信息需要,但现已发展成为一个包含各类信息,面向各种用户的信息系统,成为因特网最精彩的部分。用户只需在自己的计算机上运行浏
览器软件,因特网服务器就会根据用户查询条件自动到全球各地的环球服务器上查找信息,实现广泛的信息资源共享。

   因特网的迅速发展,使得在因特网上实现GIS应用日益引起人们的关注。建立万维网GIS服务器及实现相关技术成为研究GIS的热门技术。人们逐渐意识到,传统封闭式的GIS系统其服务功
能、应用功能是有限的。GIS系统的大投入与低产出的矛盾在传统的GIS系统模式中不可能得到解决。测绘行业作为国民经济建设的先行和基础地位在信息时代只有实现万维网GIS,这种地
位才能体现。

二、万维网GIS实现技术初探

      一般把因特网中的GIS称为WWW-GIS或Web-GIS,中文名为万维网GIS。万维网GIS实现的实用技术方法有:通用网关接口法(Common Gateway Interface CGI),应用程序插入法(Plug in),
Java编程语言,Active和部件对象模型(COM)等方法。这些方法被广泛应用于Internet的应用开发,应该说对万维网GIS的开发也是适用的。下面结合实例择要对其进行介绍。

      1. 利用CGI在万维网与常规GIS系统建立系统网关

      CGI是万维网服务器调用外部程序的接口,通过CGI,万维网服务器能完成一些本身力所不能及的工作。

     外部应用程序通过CGI服务例程与万维网服务器间建立关联,并对客户端的操作做出进一步
的响应。

      CGI接口分为Standard CGI (Unix CGI),Dos CGI和Win CGI。万维网客户端通过万维网服务器触发CGI程序,读取HTML(Hyper Text Markup Language超文本标记语言)文件,并将消息传给万维网客户端。在这一过程中,CGI起一种桥梁的作用。一些GIS系统软件正是利用这一原理尝试着将自己现有的GIS软件连接到万维网上。(如ARC/View和MapInfo)。但由于GIS软件最初设计时数据结构和模型均未充分考虑到Internet应用,所以这种连接是牵强的,如客户端图形的放大缩小,空间解算等均很难实观,但现阶段仍是一种实用的实现方法。

      以MapInfo ProServer为例,目前的因特网浏览器无法识别矢量图形,要在浏览器中获取地图,必须在服务器端将矢量图形转换成栅格图形,这样的转换将使数据量增大许多倍。
MapInfo ProServer是如何解决这一问题的呢?实际上MapInfo ProServer是一个OLE Aut-omation Server,它可以规定MapInfo V4.1的实例数目并控制访问这些实例,它的基本功能是响应CGI应用的请求并返回有效的MapInfo实例,其本身并不对图形进行处理。Gateway网关程序通过处理来自HTML页面数据并和MapInfo ProServer建立OLE连接,由一个指针指向来自ProSer-
ver的MapInfo V4.1的一个有效实例,MapInfo ProServer返回一个指向MapInfo V4.1有效实例的指针并在需要时启动另一个实例。然后网关应用就可操纵具体实例,通知MapInfo V4.1生成
栅格地图,产生一个HTML页面送往Web Server,再从Web Server返回给Web
  Broswer(图2)。


        
 2. 利用Plug-in实现万维图GIS应用的插入
      美国网景公司Netscape的浏览器提供了一套API(应用程序接口),叫插入法(Plug-in),
目的是便于其他软件厂商插入与万维网应用有关的软件Autodesk公司的MapGuide即是这样的
Plug-in。利用MWF(Map Window File)窗口地图文件(被Autodesk公司认为是一种革命性的文
件格式)来发布动态的、分层的、基于矢量的地图。MapGuide Plug-in运行时,使用MWF文件
能访问位于因特网上任何位置的不同数据库。在客户端运行Auto CAD Map 2.0,通过工作会
话(Work Session)特性可同时访问查询多张地图。

 3. 利用微软的Activex和COM构造万维网GIS

      利用微软公司的构件对象模型COM(Component Object Model)及其网络相关技术Activex,可将一个巨大的GIS软件系统分解成相对独立的构件。这些构件通过构件技术和OLE(对象链接嵌入)、SDE(空间数据引擎)等实现万维网GIS,如ESRI公司的Mapobject构件包括一个OLE控制和35个可编程的OLE对象,用户可调用这些构件从而构成自己的GIS应用。

  4. 利用Java语言进行万维网GIS开发

      Java是一种面向对象的计算机语言,除了少数基本数据类型外,其余均以对象Object的形式出现。作为面向对象的语言,Java支持对象的封装、多态性和继承。相对而言,Java语言的封装性较强,因为Java无全程变量,无主函数。由于使用虚拟机技术(JVM),Java在目标代码级实现了平台无关性。Java支持万维网模式,并支持万维网的数据分布和操作分布。数据分布是指数据可以分散在网络的不同主机上,操作分布是指把一个计算分散在不同的主机上处理。对于前者Java提供了一个叫URL(Universal Resource Locator)的对象,利用这个对象可以分布式地访问具有URL的数据对象,对于后者,Java通过Applet下载到客户端实现应用,即由全部在服务器上运行变为部分运行,另一部分在客户端运行。

      基于Java的万维网GIS可简单分为两类:① 部分基于Java,典型的做法是用Java开发客户端的功能,而服务器编程则仍维持传统的开发方法或保持现有系统不变。利用Java开发的客户端GIS软件可具有非常强的制图和地理空间分析功能(如ESRI的Internet MapServer)。② 完全基于Java的系统,目前还没有正式产品面市。

三、万维网GIS相关数据模型

      通常对数据模型的分类有层次模型(Hierarchical Model)、网络模型(Nextwork Model)、关系模型(Relational Model)、面向对象的模型(Object-Oriented Model),这些模型的特点及应用有很多专门论述,本文不作叙述。

      随着因特网的发展,与因特网和多媒体技术相关的一些数据模型引起人们极大的重视(有人把这样的模型称为数据格式或文本格式),这些模型包括:超文本或超媒体模型(Hypertext
 or Hypermedia Model)、文献模型ODA(The office Document Architecture)、信息元模型、表现与同步模型、超图模型等,这些模型与面向对象的数据模型的集成构成了万维网GIS的主要模型/技术。限于篇幅,本文只介绍超文本和超图模型及其应用。

      1. 超文本模型或超媒体模型

      超文本概念由美国著名科学家V.Bush提出,并由美国的Ted Nelson在60年代实现。超文本的结构类似于人类的联想记忆结构,它采用一种非线性的网状结构组织块状信息,没有固定的顺序,如Windows中的help文件和Web中的HTML超文本。超文本由若干内部互联的文本块(或其他信息)组成,这些信息块可以是计算机的若干屏,也可以是若干窗口,文件或更小的块信息。这样一个信息单元就称为一个节点(Node),不管节点有多大,每个节点都有若干指向其他节点或从其他节点指向该节点的指针,这些指针称为链(Link)。超文本结构实际上就是节点和链组成的一个网络。如果文本是多媒体,则这时称为超媒体。超媒体的节点和链具体可分为:

      (1) 节点:文本节点和结构化数据节点、位图图像节点和图形节点、动画节点和视频节点、音乐节点和数字化语音节点、混合媒体节点、按钮节点、组织型节点及推理型节点等。

      (2) 链:链一般分为链源,链宿和链属性。链源是指导节点信息迁移的原因,链宿可以是热字、热区、图元、热点、媒体对象或节点等。链宿是链的目的所在,一般超文本链的链宿都是节点。链的属性决定链的类型。

      超媒体数据在万维网中通过HTML和HTTP(超文本传输协议HyperText Transfer Protocol)、URL(Universal Resource Locator)实现。如用户需要构造自己的主页(Homepage),就需要HTML语言,它是万维网的专用描述语言。HTML规定信息陈列的格式,指定需要显示的图像和超文
本链的链接对象。

      HTML能将文本和静止的图片组织在一起,通过Java编写的Applet小程序可实现文本和图片的动态和特技效果,但就整体而言,仍限于静态的范围内。被称为第二代Web构造语言VRML(虚拟现实造型语言)用来在万维网上构造虚拟世界。它的基础是基于HTTP的万维网和SGI提供的Open Inventor文件模型。VRML的目标是通过VRML浏览器,用户能在一个虚拟的场景中自由移动,还能与其中的实体相互作用并通过超链接(Hyper Link)到达一个新的三维世界。

      2. 超图模型及其应用

      超图是一种图,是图论研究的一个分支内容,由法国数学家布耶(F.Bouille)于1997年提出。超图理论用于地图数据库构模很好地解决了空间数据与非空间属性数据的关联。利用超图模型可以方便地实现不同类别对象间的链接,从而有可能无缝地在万维网中实现分布式超链链接,使地图对象有可能成为万维网中的节点,借助于适合GIS的传输协议,类似HTTP完成GIS的分布
计算。

      超图数据模型的基本元素为:

      ① 类:由具有某种共性的元素构成;

      ② 对象:对象即元素,具有类的性质;

      ③ 类的属性:类的属性为类中的对象性质的总和;

      ④ 对象的属性:所属类属性的实例值;

      ⑤ 类与类之间的链:类的两端既可为不同的类,亦可为相同的类,表示联系,链不一定唯一;

      ⑥ 对象与对象之间的链:表示了具体对象间的关系。

      超图可用于表达类与类之间层次关系,如分类、聚合、概括、多层次联系、复合类、分割等,超图数据模型在应用时,凡图示所表示的联系,均可用作检索路径,数据完整性约束可作为类的属性加以说明。

      利用超图数据模型容易实现类与类之间相同对象的链接。比如对于高速公路管理的地理信息系统,除去查询计算有关公路的要素外,要涉及到与高速公路地理相关、区域相关、经济相关、行业相关、业务相关等GIS系统或数据库。在传统的GIS局域网要想实现以上功能,必须自己建立相关的数据库,这几乎是不可能的。利用万维网,利用超图模型,我们可以设定高速公路系统的对象关联、类关联,并进行链接,使用万维网GIS浏览器或计算对话框即可实现前面的功能。

      研究超图模型,并研究万维网GIS服务器软件和客户端软件是摆在我们面前的一项艰巨的
任务。

四、结束语

      随着因特网应用的日益普及,在网上构造GIS,建立Web-GIS站点将是我们必须进行的工作
Web-GIS的建设与测绘万维网的建设涉及方方面面的技术,积极研究这些技术,将有利于提高测
绘行业在世界信息化进程中的地位和作用。

 
原创粉丝点击