我相信你们对百度地图,谷歌地图等相关应用已是很是熟悉了。经过这些应用,咱们能够浏览地图、定位咱们本身的位置、查找咱们想知道的兴趣点、搜索交通路线等等。而其实,这些功能即是WebGIS的一些最基本的功能。前端
那么什么是WebGIS呢,说到这里,我仍是首先给你们讲讲什么是GIS。数据库
2.GIS简介2.1 GIS的名词解释
GIS的全名是Geographic Information System,中文全名是地理信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。浏览器
2.2 什么是GIS学科
撇开这些晦涩的文字,我争取用更形象的方法来给你们介绍下GIS这个学科。tomcat
咱们人类在好久以前就已经开始使用羊皮或者纸质的地图了,他的用途主要即是给人们的行军、航海等作向导,而这一样也是现代GIS学科里GIS最基本的功能之一。到19世纪时,现代GIS学科开始慢慢萌芽。这里有一个颇有名的例子。1854年伦敦发生霍乱,10天就死了500人。居民大多怀疑瘟疫是因为地下的墓穴引发的,引发了极大的社会恐慌。当时有个有名的医生叫Snow博士,他不信这个缘由,为了查出真正的霍乱源头,他首先绘出了伦敦地图,而后将全部霍乱病人的所在地标出来,而后他发现了一个有趣的现象,在伦敦的一个居民饮水井附近出现的霍乱病人最多,而且最开始出现的霍乱病人也是在那里发现的。最后Snow博士对那口井进行检查,肯定了霍乱发生的源头。从这个例子中咱们能够看出,地图的应用已经再也不局限于导航了,而开始慢慢利用其得天独厚的时间空间优点与其余学科开始进行结合。服务器
到了20世纪电脑的出现,人造卫星的升天等技术的突破,GIS这个学科也相应的开始走向成熟以及开始普及。20世纪60年代,加拿大科学家首先提出了GIS这个学科。到了20世纪末,一大批优秀的GIS软件已经出现,好比Esri公司的ArcGIS系列,MapInfo公司的MapInfo。国内的GIS从上世纪80年代才开始起步,不过到上世纪末时,也出现了本身的GIS公司,比较有名的有GeoStar、MapGIS等。网络
而此时的GIS已再也不是局限纸上的地图了,它已经成为了一个计算机技术和多种学科相交叉的新型学科了。它涉及到测量学——地理信息的采集和地图的制做等,计算机科学——电子地图的制做和展示以及各类GIS功能的实现,物理学——对传感器的研究以及光谱和影像的研究,气象学——大气层等对卫星影像的影响等,生物学、医学、犯罪学等——研究地理等各时间空间因素对这些学科的影响。架构
GIS是什么呢,说的最通熟易懂的就是,GIS是利用测绘生成纸制地图或者航拍以及卫星等生成影像后,将这些数据存储在计算机中,以地图或图片的形式表现出来,而后根据实际生产生活以及科研中的各类需求,进而提供具体的通过处理后的数据。框架
3.WebGIS简介3.1什么是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功能的一个应用方向。
3.2对国内WebGIS行业的理解
目前使用WebGIS技术的公司能够大体分为两个方向:一个是互联网方向,一个是行业应用方向。
国内的互联网方向里基本能够说已经被百度地图,搜搜地图,高德地图,三个巨头垄断。因此对于想从事互联网方向的WebGIS开发人员,其实能够选择的大公司并很少。可是,若是你是一个技术足够好,且技术不局限于通常的关系数据库,对大数据和分布式系统感兴趣的WebGIS开发人员,强烈建议你去这些互联网公司,在那里你能接触到最新的IT技术以及感觉到强大的头脑风暴。也即是,对新技术,对前沿方向有更多追求的人,去互联网公司是很好的选择。
可是咱们不得不认可另一个现实,这些互联网公司基本集中在北上广深,而且对GIS研发人员在技术上的需求是,计算机技术的比重要远大于对GIS学科自己的理论所占的比重。因而,更多的GIS学科出身的人,最后选择的是行业应用公司。而投身于这样的公司,就没有前途吗?答案是否认的。
Esri公司做为全球最成功的GIS软件公司,很好的给出了这个答案。目前Esri的AO库号称世界上第二大的库,除了微软的Framework,就是它了。它同时也是一个年盈利在8亿美圆的公司。Esri公司与美国和加拿大政府的合做堪称行业公司的典范,它为这两个国家的数字化城市的建设立下了汗马功劳,作出了不少优秀的做品。说这个例子,只是为了代表,在咱们的数字化城市的需求愈来愈深刻,政府的需求愈来愈实际,整个国家的市场建设愈来愈合理以及公平公正透明,WebGIS在行业上的应用也将愈来愈普遍,而且愈来愈可以服务政府、企业和人民,而且更能作出有真实价值的产品。而且,从事行业应用的研发人员,随着对所从事行业理解的深刻,这些理解给将来所带来的收获可能比技术单纯的提升所带来的收获要大得多。要知道,项目需求分析靠的基本是行业理解,固然,对技术的了解也给项目可行性分析提供了保障。二者相辅相成。
每一个人追求不同,根据本身的需求,根据本身的现状,作出选择,坚持下去,不说梦想是否能实现,起码你不会是一个本身都认为本身活该如此平庸的人。
4.WebGIS的框架前面说了太多的非技术类的话,这里咱们开始提一个技术类话题——WebGIS的框架。其实WebGIS的框架跟其余Web项目的框架没有不少本质上的区别。可能惟一的不一样是WebGIS须要提供一些地图方面的功能服务。这里我先把这个框架给出,同时每一个层面须要的技术我也在其中大体画出。
4.1前端
如全部的Web项目同样,前端由HTML、CSS、JS、Flex等语言组成。根据需求和语言的特性,选择合适的语言进行开发是相当重要的。没有最好的语言,只有最合适的语言。
4.2 后台程序
4.2.1 中间件
开发时,咱们要选择适合本身的中间件。不一样的中间件有其特性,若是是通常项目,tomcat等是很合适的,其使用方便,相关技术支持和资料也很好查找。可是若是是大型的集群项目,Weblogic和WebShpere多是更好的选择,可是这两个中间件首先配置就是有难度的,同时不一样的版本,可能对某些jar包的支持存在问题。若是项目必须使用国产的中间件,TongWeb和Apusics是不错的选择。
4.2.2 地图服务器
在WebGIS中,与其余通常的Web工程有明显区别的就体如今地图服务器上面。通常的地图服务器都由已有的软件商提供了解决方案,比较流行的有AGS、Geoserver、MapServer、SuperServer等。利用这些地图服务器咱们能很好的实现地图的发布以及对一些空间查询和空间操做的支持。
4.2.3 业务服务器
业务服务器是Web项目里不可获取的一环。无论是利用哪些已有框架编写,好比Spring、Struts、Hibernate等,咱们通常仍是会将业务服务器的实现分为三个层次,即有名的MVC模式。而不一样的框架里这三个层次的实现各有差异。
4.3 数据
WebGIS的数据大体能够分为三种,一种是地图、影像数据,一种是空间属性数据、一种是业务数据。地图、影像数据通常是一些png或者其余格式的数据组成。
在GIS中有个很重要的概念,即影像金字塔。这个概念主要是为了加速地图在前端的显示。而咱们准备地图、影像数据时,也通常会首先对这些数据进行切图。
空间属性数据,是经过一些工具将已经整理好的数据进行入库。对于AGS,只有链接的是入库数据的mxd,才能发布成FeatureServer服务,以供数据的编辑。固然,空间数据入库后还能够支持业务逻辑的使用。
第三种数据,业务逻辑数据,是每一个Web项目必须有的,它根据不一样的业务需求将业务所需的数据进行采集和入库。
5.从WebGIS的原理谈起目前不少公司都提供了本身的二次开发包,在前端的有OpenLayers、AGS API for JS/Flex等。在后台的也有geoTools、AO等。用这些开发包,咱们能够很快的实现出图以及不少GIS功能,基本上不用写太多的编码。
可是,一样,因为封装的太好,不少WebGIS的原理咱们也便忽略而不作了解了。
这里,我但愿利用我薄弱的知识,能和你们一块儿,探讨一些WebGIS中经常使用的原理知识。但愿你们支持。
6.感想因为我薄弱的理论和技术基础,也谈不上对WebGIS的明天有很大的预言。我只但愿咱们每一个人都争取作一个完美主义者,同时也是一个有圣徒情怀的人,从而做践本身实现目标。与你们一块儿进步。但愿我也能保持本身的写做动力,积累经验和知识。