• WebGIS基于Internet的地理信息系统


    http://www.powergis.net/show_article.asp?id=341
    一、WebGIS概述
    "19世纪是铁路的时代,20世纪是高速公路的时代,21世纪是网络的时代"。互联网络(Internet)的迅速崛起和在全球范围内的飞速发展,使万维网(World Wide Web简称WWW或Web)成为高效的全球性信息发布渠道。这一技术正在以很快的速度进入每家每户,它将把地球变成一个小小的村落。网络时代即将来临。
    我们正在忙碌地建设我们生活的这个世界,而且我们正在电脑空间建立我们物理空间的复制品,网络上甚至有可以存款的银行,并且在网络上用于祈祷的地方还不得不设立教堂。互联网已经渗透各行各业,信息高速公路上奔跑着越来越多的信息。随着Internet技术的不断发展和人们对地理信息系统(GIS)的需求,利用Internet在Web上发布和出版空间数据,为用户提供空间数据浏览、查询和分析的功能,已经成为GIS发展的必然趋势。于是,基于Internet技术的地理信息系统--WebGIS就应运而生。
    WebGIS是Internet技术应用于GIS开发的产物。GIS通过WWW功能得以扩展,真正成为一种大众使用的工具。从WWW的任意一个节点,Internet用户可以浏览WebGIS站点中的空间数据、制作专题图,以及进行各种空间检索和空间分析,从而使GIS进入千家万户。WebGIS具有以下特点:
    (1)全球化的客户/服务器应用 全球范围内任意一个WWW节点的Internet用户都可以访问WebGIS服务器提供的各种GIS服务,甚至还可以进行全球范围内的GIS数据更新。
    (2)真正大众化的GIS 由于Internet的爆炸性发展,Web服务正在进入千家万户,WebGIS给更多用户提供了使用GIS的机会。WebGIS可以使用通用浏览器进行浏览、查询,额外的插件(plug-in)、ActiveX控件和Java Applet通常都是免费的,降低了终端用户的经济和技术负担,很大程度上扩大了GIS的潜在用户范围。而以往的GIS由于成本高和技术难度大,往往成为少数专家拥有的专业工具,很难推广。
    (3)良好的可扩展性 WebGIS很容易跟Web中的其他信息服务进行无缝集成,可以建立灵活多变的GIS应用。
    (4)跨平台特性 在WebGIS以前,尽管一些厂商为不同的操作系统(如:Windows、UNIX、Macintosh)分别提供了相应的GIS软件版本,但是没有一个GIS软件真正具有跨平台的特性。而基于Java的WebGIS可以做到"一次编成,到处运行 (write once, run anywhere)" ,把跨平台的特点发挥得淋漓尽致。

    二、WebGIS设计思想
    CGI和Sever API是较早应用于WebGIS开发的方法。其中CGI是通用网关接口(Common Gateway Interface)的英文缩写,它建立了Internet服务器与应用程序之间的接口。基于CGI的WebGIS是按照如下方式实现WWW交互的:用户发送一个请求到服务器上,服务器通过CGI把该请求转发给后端运行的GIS应用程序中,由应用程序生成结果交还给服务器,服务器再把结果传递到用户端显示。这种方式的缺点是服务器每次请求都要重新启动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 ArcView & MapObjects,著名的CAD厂商Autodesk公司也推出了MapGuide。这些产品大多发布于1996-1997年。最近Bently公司和MapInfo公司又相继推出了ModelServer/Discovery和MapX Site。现就其中前五个WebGIS产品的技术特征进行比较,列表如下。
    <table border="1" cellPadding="7" cellSpacing="1" width="100%">
    <TBODY>
    <tr>
    <td vAlign="center"><b><p align="center"></b></font> </td>
    <td vAlign="center"><b><p align="center">MapInfo ProServer</b></font></td>
    <td vAlign="center"><b><p align="center">GeoMedia </p>
    <p align="center">Web Map </b></font></td>
    <td vAlign="center"><b><p align="center">Internet Map Server(IMS)</b></font></td>
    <td vAlign="center"><b><p align="center">MapGuide</b></font></td>
    <td vAlign="center"><b><p align="center">ModelServer/</p>
    <p align="center">Discovery</b></font></td>
    </tr>
    <tr>
    <td vAlign="center"><b><p align="center">公司</b></td>
    <td vAlign="center"><p align="center">MapInfo Corp.</font></td>
    <td vAlign="center"><p align="center">Intergraph Corp.</font></td>
    <td vAlign="center"><p align="center">ESRI Inc.</font></td>
    <td vAlign="center"><p align="center">Autodesk Inc.</font></td>
    <td vAlign="center"><p align="center">Bently</font></td>
    </tr>
    <tr>
    <td vAlign="center"><b><p align="center">服务器操作系统</b></td>
    <td vAlign="center"><p align="center">Windows NT/95</font></td>
    <td vAlign="center"><p align="center">Windows NT</font></td>
    <td vAlign="center"><p align="center">Windows NT</font></td>
    <td vAlign="center"><p align="center">Windows NT</font></td>
    <td vAlign="center"><p align="center">Windows NT</font></td>
    </tr>
    <tr>
    <td vAlign="center"><b><p align="center">Web服务器</b></td>
    <td vAlign="center"><p align="center">支持CGI的Web Server</td>
    <td vAlign="center"><p align="center">Internet Information Server</td>
    <td vAlign="center"><p align="center">Internet Information Server或者Netscape Server</td>
    <td vAlign="center">支持CGI的Web Server</td>
    <td vAlign="center"><p align="center">Netscape Server</td>
    </tr>
    <tr>
    <td vAlign="center"><b><p align="center">其他服务器端软件</b></td>
    <td vAlign="center"><p align="center">ODBC、MapInfo 4.x 、MapBasic</td>
    <td vAlign="center"><p align="center">ODBC</td>
    <td vAlign="center"><p align="center">ArcView或者MapObjects应用、ODBC</td>
    <td vAlign="center"><p align="center">ODBC</td>
    <td vAlign="center"><p align="center">MicroStation GeoGraphics ODBC</td>
    </tr>
    <tr>
    <td vAlign="center"><b><p align="center">客户端操作系统</b></td>
    <td vAlign="center"><p align="center">Windows系列、Macintosh、UNIX</td>
    <td vAlign="center"><p align="center">Windows NT/95</td>
    <td vAlign="center"><p align="center">Windows系列、Macintosh、UNIX</td>
    <td vAlign="center"><p align="center">Windows NT/95</td>
    <td vAlign="center"><p align="center">Windows系列、Macintosh、UNIX</td>
    </tr>
    <tr>
    <td vAlign="center"><b><p align="center">客户端浏览器</b></td>
    <td vAlign="center"><p align="center">支持HTML的任意浏览器</td>
    <td vAlign="center"><p align="center">Internet Explorer、Netscape Navigator</td>
    <td vAlign="center"><p align="center">支持HTML的任意浏览器</td>
    <td vAlign="center"><p align="center">Internet Explorer、Netscape Navigator</td>
    <td vAlign="center"><p align="center">Internet Explorer、Netscape Navigator</td>
    </tr>
    <tr>
    <td vAlign="center"><b><p align="center">客户端是否需要插件(plug-in)/控件(control)</b></td>
    <td vAlign="center"><p align="center">不需要</td>
    <td vAlign="center"><p align="center">如果使用Netscape Navigator浏览器,需要安装ActiveCGM插件;如果使用Internet Explorer浏览器,会自动下载ActiveCGM控件</td>
    <td vAlign="center"><p align="center">自动下载Java Applet或者ActiveX控件</td>
    <td vAlign="center"><p align="center">需要安装MapGuide插件(1兆左右)</td>
    <td vAlign="center"><p align="center">需要安装VRML、CGM、SVF等插件</td>
    </tr>
    <tr>
    <td vAlign="center"><b><p align="center">网络传递的图形格式</b></td>
    <td vAlign="center"><p align="center">JPEG(栅格图)</td>
    <td vAlign="center"><p align="center">ActiveCGM(栅格图和矢量图)</td>
    <td vAlign="center"><p align="center">JPEG/GIF(栅格图)</td>
    <td vAlign="center"><p align="center">MWF(矢量图)</td>
    <td vAlign="center"><p align="center">JPEG、PNG、VRML、CGM、SVF(栅格图和矢量图)</td>
    </tr>
    <tr>
    <td vAlign="center"><b><p align="center">地图预出版处理</b></td>
    <td vAlign="center"><p align="center">动态生成地图</td>
    <td vAlign="center"><p align="center">动态生成地图</td>
    <td vAlign="center"><p align="center">动态生成地图</td>
    <td vAlign="center"><p align="center">需地图预出版处理</td>
    <td vAlign="center"><p align="center">动态生成地图</td>
    </tr>
    <tr>
    <td vAlign="center"><b><p align="center">可发布的数据格式</b></td>
    <td vAlign="center"><p align="center">MapInfo地图文件</td>
    <td vAlign="center"><p align="center">MGE工程、MicroStation DGN文件、FRAME文件、MGEDM文件、ArcView Shape文件、Arc/Info Coverage、SDO文件</td>
    <td vAlign="center"><p align="center">ArcView Shape文件、Arc/Info Coverage、SDE地图文件、Autodesk DWGfont</td>
    <td vAlign="center"><p align="center">Autodesk DWG</td>
    <td vAlign="center"><p align="center">GeoGraphics工程文件、MicroStation设计文件</td>
    </tr>
    </TBODY>
    </table>
    要建立成功的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控件可以统一分发,预先安装,从而换来客户端较强的交互性和较快的响应速度。
    由于Internet技术本身正处于发展阶段,尽管WebGIS软件发展很快,总的说来还处于初级阶段,各厂商提供的解决方案都不十分成熟。这给起步较晚的国内GIS研究单位提供了很好的机会。目前,国内的WebGIS研制工作也在加紧进行,并有初步的产品推出。

    四、WebGIS应用前景
    WebGIS使GIS应用走向公众,通过网络可以将空间信息传至千家万户,如美国纽约州某县通过电视有线网,向公众发布城市和土地等信息。香港旅游局也正在着手建立香港旅游信息系统,该系统的基础数据直接来源于香港地政署的大型空间数据库,旅游信息则由旅游协会(TA)提供。计划首先在尖沙嘴等旅游热点安装触摸屏,游客可以通过它直接了解香港地理环境和查询旅游信息。
    WebGIS的数据传输量很大,目前Internet的速度还不能完全满足需求。MapGuide的插件大约为1M,使用28.8K的调制解调器(MODEM)也至少需要6分钟才能从服务器上下载过来。不过,网络技术日新月异,56K的MODEM已经开发出来。1997年2月,美国总统克林顿提出“建立快1000倍的第二代互联网络,让12岁以上的青少年人人都上互联网”。微软正在实施的一项计划中准备发射840多颗人造地球卫星,这些卫星将用于取代光纤进行Internet数据传输。可以预见,随着Internet技术的发展,WebGIS应用终将走上普通人的办工桌、走进千家万户的家用电脑,与Internet本身一样成为人们日常生活必不可少的实用工具。
    WebGIS还可以应用于Intranet建立企业/部门内部的网络GIS,可以在科研机构、政府职能部门、企事业单位得到广泛应用。WebGIS提供了一种易于维护的分布式GIS解决方案。尽管目前的WebGIS软件提供的空间分析功能很难满足专业应用的需要,但是随着技术的发展,WebGIS终将取代传统的GIS。

    [附]国外主要WebGIS产品的WWW地址:
    MapInfo ProServer
    GeoMedia Web Map
    ESRI的Internet Map Server(IMS) for ArcView & MapObjects
    MapGuide
    ModelServer/Discovery
    MapX Site

  • 相关阅读:
    OTA在线升级Android7.1系统迅为IMX6Q开发板支持SATA,PCIE,EIM总线,WIFI蓝牙
    迅为iTOP2K1000开发板龙芯中科国产64位Loognix系统工业核心主板
    四核处理器IMX6Q开发板Android7.1系统支持SATA、PCIE、EIM总线、WIFI蓝牙OTA远程升级提供OpenWrt文件系统
    迅为瑞芯微RK3399开发板Debian9多媒体测试之Gstreamer测试
    迅为IMX6ULL开发板Qt for Android搭建开发环境
    迅为RK3568开发板Ubuntu系统编写运行Qt工程
    src/caffe/proto/caffe.pb.h:17:2: error: #error This file was generated by an older version of protoc which is #error This file was generated by an older version of protoc which is
    ubuntu/ linux挂载新硬盘
    so 对XXX未定义的引用
    nvcaffe 的一个问题解决
  • 原文地址:https://www.cnblogs.com/runfeng/p/200094.html
Copyright © 2020-2023  润新知