第一篇文章,先来简单探讨一下究竟什么是GIS。
一、谈系统?从地理信息说起。
其实大多数人对地理这门学科的认知是有局限的,认为地理只是研究山川湖泊地形地貌,甚至分不清地质学和地理学的区别,认为地理学家整日需要风吹日晒地研究石头的成分。当然更多的人是一听说你学地理,就找个偏门的国家问问你首都是哪个城市。这种认知局限也限制了地理学潜在的可能性。其实,地图、区划等是地理学的基础,所有的信息都依靠这些基础建立联系,这种联系得以建立的原则就是——每一个事物都影响其他的事物,但是对距离近的事物影响更大。位置影响自然环境和人文环境,进而影响人类的活动。所以地理这门学科本身,虽然听上去是一个学科,但其内容却涉及社会学(城市化、人口、住房、种族)、政治(国际关系)、环境科学(水资源利用与保护、野生动物保护)甚至是医疗和法律。地理学以位置为基础,将与我们生活息息相关的所有部分串联起来,找到其中的关联,再用这种关联去解决问题。因此,地理信息并不只是某座山的海拔或是某条河的冰期,而是所有带有位置标签的信息。
拿美国管理得比较出色的普查数据(Census Data)作为例子,普查会将美国划分为小的普查区(Census Tracks)或者街区群(Block Groups),这里的普查区和街区群就是地理标签,对于每个地理标签,数据库中会详细记录该标签下的实际信息,比如收入的中位数等。
所以,做一个合格的GISer的基础,不是扎实的编程功底,也不是丰富的统计知识,而是对于地理信息的深刻理解和对空间的思考能力。习惯性地将信息和数据中所包含的地理标签带进思考过程之中,并利用地理上的关联来解决问题,是一个GISer与软件工程师、统计师、历史学家或是社会学家最大的区别。
二、编程究竟有多重要。
非常重要。没错,编程知识在GIS之中所起到的作用是不容轻视的,例如GISer最常用的软件ArcGIS就可以利用Python Script大大提高操作的效率,一份完整的Python Script可以自动完成一个空间分析的流程,不需要操作者在其中做任何事情。许多网页嵌入式的地图及可视化工具更是大量使用JavaScript和HTML语言,而管理与GIS息息相关的空间数据的数据库,也高频率地使用SQL和Spatial SQL。(空间SQL,与SQL在语言结构上几乎一致,但是可以筛选和管理的内容有所区别)即使不做开发工作,编程知识在GIS学科之中也有举足轻重的地位。
程序员的思维和习惯也是一个合格GISer必备的素养,即勤学、勤查。勤学在于这个学科爆炸式的更新,新的工具和技能层出不穷,勤查则由于技术之繁杂。单一个ArcGIS就有成百上千中操作和分析工具,正如编程时有成百上千条语句控制着成百上千种功能,习惯性地使用搜索引擎查阅工具和功能是GISer非常好的习惯,并且时常会带给你惊喜。
但是!如果说GIS等于开发,或是GIS主要还是做开发,是有失偏颇的。GIS的核心是利用空间数据和空间分析解决问题,而非制造出更多的软件。技术是GIS的工具,而非GIS真正的内核。
三、数据!数据!数据!重要的事情说三遍
数据是GIS的基础,也就是我们上面所说的地理信息,没有干净、完整、准确的数据,所有的分析都是空谈。在一份GIS的项目里面,往往最耗时的部分就是数据的收集和清理。数据的收集往往不是个人可以做到的,大多数GISer使用的都是所谓“二手数据”,即已经存在的、由别的个人和组织已经收集的数据。数据往往又有免费数据和收费的数据,免费数据(在美国)通常是由政府或者其他NGO(非营利组织)收集的,而收费数据则通常由商业公司收集的。对于GIS的工作者来说,常常存在的问题是免费的数据不好用、收费的数据买不起。我大学所在的西雅图算是免费空间数据非常丰富的地方了,对于整个州的有WAGDA数据库,还有King County GIS Portal,西雅图自己也有非常丰富的GIS数据,但是依然有质量层次不齐的问题,很多时候数据找回来,可能有的信息不完整或者不正确,就需要做GIS的人做非常多的功课,去做修改、重新分组或其他的删除整理等工作。
GIS中使用的数据通常分为两大部分,一部分是地图部分,即显示出来的区域,比如普查数据会有按照普查区划分好的地图呈现,另一部分是数据部分,也叫做Attribute Table。这个表格更像我们所想象的“数据”该有的样子,打开之后像是excel的形式。
(图片:http://s11.sinaimg.cn/mw690/6657b73a07b29a0de295a&690)
GIS中常用的数据分为两类,矢量数据(Vector)和栅格数据(Raster),两种数据在不同的应用场景之中都会有不同的作用,具体两者的介绍、对比和使用会在之后的文章中写出。
四、空间分析:如何有理有据地胡说八道
分析这个词总是很高大上,数据分析、市场分析,但其实质都是对现实测量和猜测。当然,利用专业知识有理有据的猜测总是很值得参考的。空间分析的本质其实是数据分析,只不过分析过程中使用的是地理信息和空间数据,上一节之中我们提到数据,其实不同类型的数据就是地图上不同的图层,进行叠加、合并、拆分、计算等各种运算,在其中寻找规律和结果,就是我们所说的空间分析(Spatial Analysis)。
举例来说,我们经常使用的手机地图,从某地到另一个地方的路径,这个运算的过程其实就是使用了空间分析,考虑两地之间的公路网、是否有河流,如果有河流是否有桥梁,公路网、河流、桥梁每个都分别是一个数据层,经过叠加和计算,分析出最短的路径,如果需要计算出最快的路径,那么还需要叠加道路限速、车流量和通行速度的数据。谷歌地图在为用户计算路径的时候还会考虑到是否封路、路段是否收费等因素,虽然算法和达成方式可能不太一样,但是基本的原理都是相同的。
路经计算的例子是相对比较客观的,还有些与社会科学相关的分析相对比较主观。比如需要在哪里建立食物银行,虽然也是根据可能需要考虑的因素寻找数据再叠加分析,但是这里面的变量就相对较大,A和B可能会因为使用了不同的数据而做出完全不同的结果,对于类似的情况,只能通过尽可能地去了解背景知识才能全面地考虑影响因素。GIS归根结底只是一个分析工具,具体的使用还是需要GIS的从业人员同时专攻一个方向的专业知识或者在团队之中有一个相关专业的从业人员。
这篇文章希望从GIS核心的几个方面出发来阐释GIS真正的作用,GIS的重点不在开发,也不是统计,更不是简单的制图和可视化,这些只是达成GIS的工具,而是空间思维、空间数据和空间分析才是GIS真正的核心,接下里的文章中,将为大家从数据、工具、软件和平台等更具体地介绍与GIS相关的知识和运用。