第一章:剖析WebGIS
谈及WebGIS这个“热门”的名词,刚翻开本书的读者们会联想到什么?如果你属于初次接触WebGIS的人群,可以到Google、Cuil[1]或其它搜索引擎中先去查找一番;如果你属于对它初窥门径却还在迷雾之中苦苦寻觅真面目的那部分读者之列,我们愿意在此列举所有与WebGIS沾亲带故的内容:GML、ArcIMS、Ajax、ASP、ASP.NET、JSP、JSF、OGC、Java Applet、JavaScript,这些就完了吗?还没有!我们还可以继续列举出另一串术语: Flex、SOA、SOAP、GIS服务、RESTful服务和Mashup等,别发晕,这个术语表还可以继续罗列下去,不过我们适可而止,就此打住。
当然,我们罗列这一堆术语的本意并不是“恐吓”读者,以此来夸耀本书的重要性;恰恰相反,我们希望能通过本书,为读者从这堆术语的“泥淖”中寻找到一条坚实可靠的“出路”,故弄悬殊和名词考古是作者最不喜欢的叙述方式。
地理信息系统(Geographic Information System,GIS)是在20世纪60年代[2]出现的,经过近40年的发展,已经发生了重要并且意义深远的变化[3]。从早期昂贵、基于主机(Host-based)的专业系统到今天进入平常百姓家中的那些价格低廉、基于无线网络的移动与嵌入式GIS和GPS设备(手机和导航仪等),GIS的发展方向一直趋向于让普通用户都能从中无处不在的地理信息中受益。当然,这既符合IT技术的发展潮流,更暗合GIS的使命──更好地改变我们的生产、生活和工作方式,而WebGIS,则是这一发展潮流的最好注脚之一。
Internet网络是人类历史上最重要和最伟大的发明之一,它是人类通讯与交流方式的一次重大革命。Internet网络的出现和发展,使得全球范围内的信息共享和快速传播成为可能,从而极大地增强了信息的时效性,并提高了其可靠性[4]。也正是有了Internet网络,我们生活的星球才能被称为“地球村”,网络已经对技术、科学和整个社会产生了深刻的影响,这个重要性无论怎样强调都不为过。
而作为一种与位置相关的信息管理系统[5],GIS也借助了日益发展的网络技术,诞生出了所谓的“网络GIS”和WebGIS等概念,“互联网逐渐将GIS的各种应用整合在一起,独立的GIS将逐渐消失”[6],如今的GIS已经更加离不开网络这一传播介质。但读者需要注意:网络GIS与WebGIS并不能简单地划上等号,后者只是前者的一个子集。
抛开WebGIS这一概念名词不谈,对于GIS开发人员而言,WebGIS开发在本质上无非是在编写一种交互方式较为特殊的Web应用程序,但随着Web2.0概念的兴起,AJAX、RIA框架、SOA、SOAP、GIS服务、RESTful服务和Mashup等名词已经彻底地将许多GIS学习者击倒在地,现在,WebGIS学习的复杂性不在于其内容的深浅,而是出现了太多的枝蔓,挡住了我们前进的道路。
在第一章中,我们将为读者梳理一番WebGIS的软硬件基础的历史,介绍互联网络的历史和分布式计算、通讯协议、网络GIS概念、WebGIS的定义与实质、主要的WebGIS服务器和开发路线。只有了解它们,我们才能从日益严密的Web应用程序封装中窥见其本来面目,我们将让读者意识到,在这些名词背后,都隐藏着一个越来越被读者忽视的本质──HTTP请求/响应模型。在阅读完这一章之后,你将了解到,所谓WebGIS,无非就是Web+GIS而已,如图 1‑1所示,但这两者的结合产生的力量,远远超过了单个的能力。
[1] Cuil,一个诞生不久的分类式搜索引擎,其网址是http://www.cuil.com
[2] 第一个公认的GIS是1963年R.F.Tomlison领导的加拿大地理信息系统CGIS
[3] 关于GIS的发展历史,推荐读者查阅《地理信息系统与科学》一书第12页的“大事记”
[4] 当然,谣言也能更快地传播,不过也会被更快地扑灭
[5] 严格地讲,讲GIS归咎为一种信息管理系统是不公平的,虽然空间数据管理是其最主要的功能之一
[6] Paul Longley ,Michael Goodchild,David Maguire,David Rhind.2007.地理信息系统与科学.北京:机械工业出版社