什么是WebGis

开源WebGIS

什么是WebGis

2016-10-27 作者: 玲玲 浏览: 1221 次

摘要: WebGIS简介 什么是WebGIS 顾名思义,WebGIS就是展现于网络上的GIS。在上世纪八十年开始,出现的大量GIS软件,基本上都是C/S架构的,也就是首先需要在本机上装有专业的GIS软件,然后用户根据需求使用这些GIS软件。当然这种桌面端的GIS软件...

WebGIS简介

什么是WebGIS

顾名思义,WebGIS就是展现于网络上的GIS。在上世纪八十年开始,出现的大量GIS软件,基本上都是C/S架构的,也就是首先需要在本机上装有专业的GIS软件,然后用户根据需求使用这些GIS软件。当然这种桌面端的GIS软件有其天然的优势,比如开发相对简单,不需要Internet支持,以及可以做更多的复杂功能、响应相对迅速等优势。但是同时,其缺点更是不容忽视。首当其冲的便是不便于推广,而不便于推广的原因在于C/S系统其本身的天然的劣势:不便于更新,不便于跨平台,不便于用户在不安装指定客户端的情况下使用。

从本世纪开始,internet进入了爆发式增长阶段,网络的铺设以及网速的提升都有了大幅度增加,这为WebGIS的发展提供了坚实的大环境。于是,基于B/S的GIS系统越来越多的开始提供服务,并且在RIA(富客户端)技术、AJAX(动态网页)技术的涌现和成熟,WebGIS也基本能展现出与C/S一样的效果和功能。而WebGIS的大发展,更是用户的需求,google地图和百度地图等服务提供商的大规模扩张便是最好的证明。什么是WebGIS,就是将GIS这门学科所能提供的功能,以B/S技术展现给用户,使用户只需要在浏览器上便能使用这些GIS功能的一个应用方向。

对国内WebGIS行业的理解

目前使用WebGIS技术的公司可以大致分为两个方向:一个是互联网方向,一个是行业应用方向。国内的互联网方向里基本可以说已经被百度地图,搜搜地图,高德地图,三个巨头垄断。所以对于想从事互联网方向的WebGIS开发人员,其实可以选择的大公司并不多。但是,如果你是一个技术足够好,且技术不局限于一般的关系数据库,对大数据和分布式系统感兴趣的WebGIS开发人员,强烈建议你去这些互联网公司,在那里你能接触到最新的IT技术以及感受到强大的头脑风暴。也便是,对新技术,对前沿方向有更多追求的人,去互联网公司是很好的选择。

但是我们不得不承认另外一个现实,这些互联网公司基本集中在北上广深,并且对GIS研发人员在技术上的需求是,计算机技术的比重要远大于对GIS学科本身的理论所占的比重。于是,更多的GIS学科出身的人,最后选择的是行业应用公司。而投身于这样的公司,就没有前途吗?答案是否定的。

Esri公司作为全球最成功的GIS软件公司,很好的给出了这个答案。目前Esri的AO库号称世界上第二大的库,除了微软的Framework,就是它了。它同时也是一个年盈利在8亿美元的公司。Esri公司与美国和加拿大政府的合作堪称行业公司的典范,它为这两个国家的数字化城市的建设立下了汗马功劳,做出了很多优秀的作品。说这个例子,只是为了表明,在我们的数字化城市的需求越来越深入,政府的需求越来越实际,整个国家的市场建设越来越合理以及公平公正透明,WebGIS在 行业上的应用也将越来越广泛,并且越来越能够服务政府、企业和人民,并且更能做出有真实价值的产品。并且,从事行业应用的研发人员,随着对所从事行业理解 的深入,这些理解给未来所带来的收获可能比技术单纯的提高所带来的收获要大得多。要知道,项目需求分析靠的基本是行业理解,当然,对技术的了解也给项目可 行性分析提供了保障。两者相辅相成。

WebGIS的框架

前面说了太多的非技术类的话,这里我们开始提一个技术类话题——WebGIS的框架。其实WebGIS的框架跟其他Web项目的框架没有很多本质上的区别。可能唯一的不同是WebGIS需要提供一些地图方面的功能服务。这里我先把这个框架给出,同时每个层面需要的技术我也在其中大致画出。

前端

如所有的Web项目一样,前端由HTML、CSS、JS、Flex等语言组成。根据需求和语言的特性,选择合适的语言进行开发是至关重要的。没有最好的语言,只有最合适的语言。

中间件

开发时,我们要选择适合自己的中间件。不同的中间件有其特性,如果是一般项目,tomcat等是很合适的,其使用方便,相关技术支持和资料也很好查找。但是如果是大型的集群项目,Weblogic和WebShpere可能是更好的选择,但是这两个中间件首先配置就是有难度的,同时不同的版本,可能对某些jar包的支持存在问题。如果项目必须使用国产的中间件,TongWeb和Apusics是不错的选择。

地图服务器

在WebGIS中,与其他一般的Web工程有明显区别的就体现在地图服务器上面。一般的地图服务器都由已有的软件商提供了解决方案,比较流行的有AGS、Geoserver、MapServer、SuperServer等。利用这些地图服务器我们能很好的实现地图的发布以及对一些空间查询和空间操作的支持。

业务服务器

业务服务器是Web项目里不可获取的一环。不管是利用哪些已有框架编写,比如Spring、Struts、Hibernate等,我们一般还是会将业务服务器的实现分为三个层次,即有名的MVC模式。而不同的框架里这三个层次的实现各有差别。

数据

WebGIS的数据大致可以分为三种,一种是地图、影像数据,一种是空间属性数据、一种是业务数据。地图、影像数据一般是一些png或者其他格式的数据组成。

在GIS中有个很重要的概念,即影像金字塔。这个概念主要是为了加速地图在前端的显示。而我们准备地图、影像数据时,也一般会首先对这些数据进行切图。

空间属性数据,是通过一些工具将已经整理好的数据进行入库。对于AGS,只有连接的是入库数据的mxd,才能发布成FeatureServer服务,以供数据的编辑。当然,空间数据入库后还可以支持业务逻辑的使用。

第三种数据,业务逻辑数据,是每个Web项目必须有的,它根据不同的业务需求将业务所需的数据进行采集和入库。

从WebGIS的原理谈起

目前很多公司都提供了自己的二次开发包,在前端的有OpenLayers、AGS API for JS/Flex等。在后台的也有geoTools、AO等。用这些开发包,我们可以很快的实现出图以及很多GIS功能,基本上不用写太多的编码。但是同样由于封装的太好,很多WebGIS的原理我们也便忽略而不做了解了。

关注“开源集思”公众号
获取免费资源

随机推荐


Copyright © 2014-2019 OSGeo中国中心 吉ICP备05002032号

Powered by TorCMS

OSGeo 中国中心 邮件列表

问题讨论 : 要订阅或者退订列表,请点击 订阅

发言 : 请写信给: osgeo-china@lists.osgeo.org