限于本人水平,本文不乏肤浅之处,望指出,感谢。 GIS,中文地理信息系统,是一门比较新兴的专业,从国外到国内,发展不到四十年。但是,目前开设这个专业的学校越来越多。在广东,有中山大学、华南师范大学、华南农业大学和广州大学等高校开设这个专业。而在国内,这个专业比较出名的有两个大学:武汉大学和南京师范大学,我国的GIS重点实验室就设在这两个大学。 这篇文章是对我们学校(华南农业大学)GIS的课程的一个比较肤浅的简介。写这个介绍的目的,是为了让大家更好地了解地理信息系统这个专业。因为我们学校每年都有不明真相的同学,看到地理两个字,但是没有看到信息系统四个字,就报名进来了。结果发现这个专业与其想象相差十万八千里。当然,在我们专业老师的最终努力下(例如降低教学难度,增加规划类课程),这部分同学最终还是融入到这个专业之中,在这里找到自己的归属。 GIS是一门交叉学科,融合了各种学科的知识,在我见到的学科之中,没有一门学科可以像GIS那么包容与复杂。因此,总体来说,我把课程分成两类,一类是GIS原理型课程,主要介绍的是地理信息系统的内部组成原理,这些课程比较偏向于理工方向,主要是一些测绘、遥感、地图学和计算机科学的知识。而另一类是应用型课程,介绍如何在各种社会应用中发挥GIS的优势,这一类课程在我们学校比较偏向于文科方向。由于我们专业许多老师的研究方向有点类似土地管理专业,因此这部分大多数是国土规划类课程。 当然,GIS的应用并不是仅仅局限于国土规划,在很多地方都可以应用到GIS。目前有各种各样的专门GIS系统,例如:电力GIS系统,交通GIS系统,考古GIS系统,海洋GIS系统等等。不过,在我国,GIS在国土规划的应用是相当广泛与成熟的。每个地区做的各种规划、评估、核算,最终都要使用GIS进行管理,所有的图形数据都要保存到GIS数据库。GIS是一门很强力的工具,过去耗费人力的工作,现在使用GIS就可以高效完成。一般而言,我们专业的项目小组的人数一般不多,很少超过十个,但是应付从调查人员培训、数据采集和制图等各种工作已经应付自如。在我们学校,大多数的实习都是这些国土规划的项目,例如规划修编、农业产能核算、三旧改造、农用地分等定级等等。当然,我们接到的项目大多都是县级的,市级的项目不多,据说许多都被中大接去了。 原理型课程分为以下几类: 数学基础课 数学是一切理工科的基础,对于地理信息系统也是如此。 高等数学 在后面的应用之中直接用到的地方不多但是要学好概率论就必须有高等代数的基础。在学遥感的时候会用到一些微积分的知识,{wy}赤裸裸用到的就是傅立叶变换,不过这个貌似已经超出了大学高数的范畴。 概率论(概率与数理统计) 感觉对我们专业来说非常重要的一门数学。因为很多地方可以用到统计知识。例如遥感的一些误差分析就是基于统计学原理的。在后面的地统计学里面,通篇都是关于统计学的内容。我们那一届只学概率,没有统计,感觉有点吃亏,很多统计的概念都不懂,这么课基本白学了。就连目前的规划应用都大量应用统计学的知识,有的时候还需要使用一些专业的统计学软件,例如SAS和SPSS。我们的老师比较倾向于使用SPSS,因为SPSS相对简单。 线性代数 学得不深,用处暂时发现不多。不过在后面涉及一个叫做“层次分析法”的东西,和线性代数有点关系。在不少地方还涉及线性规划的知识,不过就凭那半个学期的线性代数课程是肯定没法啃下来的。我们专业不用学计算机图形学,不然矩阵这东西还是经常要见面的。 计算机基础课 主要是由计算机科组的老师进行讲授的课程,这四门课是许多文科生的噩梦,尤其是程序设计与数据结构。的确,对于许多将来准备从事国土规划方向的学生来说,这些课重要性不大。但是我们的专业本身就是地理信息系统,是一门理学课程,所以这些课程就成为了我们的基础。 大学计算机基础 讲解一些计算机组成的基本原理,算是理工科学生的常识吧。 高级语言程序设计 在我们学校主要教的是C语言。很多人鄙视C语言,说这门语言落后难懂。但是学会了C语言后,你会发现后面的任何语言都难不到你(面向对象的思想除外)。而且数据结构的讲解大多是基于C语言的。如果要进行GIS的底层开发,就是构建最基础的GIS软件,C语言是{jd1}少不了的。 数据结构 数据结构本身算是一门比较枯燥和艰难(对于大多数人而言)的课程,不过我们的老师讲授得太随便了。数据结构有些理论还是和GIS很有联系的,例如二叉平衡树、最短路径算法等等,不过一些东西倒是用处不大,例如链表的实现。不过做做数据结构的实验倒是可以巩固C语言的知识。 数据库应用 数据库又是一门相当重要的课程。GIS本身就是一个存储地理信息的数据库,许多地方借鉴了传统数据库的架构,例如SQL语句在许多GIS系统里面是通用的。我们当时实验课讲授的是SQL Server 2000。学完了这门课程不少人就可以去考计算机等级考试的三级甚至是四级了。 测量类课程 通过测量进行数据获取是地理信息系统数据的重要来源。主要是由测绘工程系的老师进行讲授的课程。测绘工程的老师貌似狠充足,我们每次上这些课都是两个班分开由不同老师带领的。 测量学 在学校里面经常见到一些人用三脚架、反光棱镜、标尺等仪器测量的,就是这门课的实践环节。三脚架上面的东西叫全站仪,是一种测量仪器,可以观测距离,计算高差。这门课程不算很难,不过涉及的计算比较枯燥,光是误差理论就一大堆,测绘工程专业还有一门《测量平差》的课程,可以见到测量这门学问的严谨性。这门课有实践环节,挺有趣,扛着仪器到外面测,不过就是时间少了点。老师的冷笑话挺有趣,例如:标尺和手机一样有三种:遮盖的,滑盖的和直板的(真的有这三种)。每次出去实验之前,老师都提醒我们要小心,不然这些设备就“毁于一旦”了。进行这些实验时,一个比较危险的行为就是拉长标尺后(拉长后可以达到三四米)不把标尺收好就举着标尺到处乱窜。因为标尺是铝合金做的,万一碰到四五米高的电线是会电死人的。 GPS原理与应用 讲解一些GPS的知识,原理都是一大堆公式和物理定理,基本听不懂。对于我们专业而言,应该侧重于如何使用GPS信号接收机进行测量并把测量得到的数据入库、作图。我们使用的GPS接收机不是平时常见的手机自带的那种便携式GPS,而是一个电饭锅形状大小的GPS接收机。一次精准的静态测量需要1个小时以上,而且要使用三部GPS在不同地方组成一个三角网一起测量,才能够抵消因为信号干扰的误差,精度据说可以达到0.1mm。 遥感类课程 3S技术中的RS就是指遥感。作为一种新兴的技术,遥感是一种获取大规模、高效获取地理数据的方式。通过对遥感图像分析,还可以获得许多平时难以获得的信息。目前遥感仍属于高{jd0}领域。主要由两位负责遥感教学的副教授负责。 遥感基础与应用 遥感主要是指使用航天器对地进行拍照观测。这门课估计是GIS专业里面最物理的课程,涉及许多物理原理,什么光的衍射折射、波长、黑体辐射之类的。不过考试都不会考得太变态,大多是让你默默概念。遥感本身就是一门高深的学问,以前还属于一种敏感类学科。目前研究遥感的大多是数学系和物理系的学生。 除了学习遥感的物理原理,还学习一些遥感的应用,例如如何利用遥感图像识别地物。例如,我们在Google Earth看到的就是一种遥感影像,不过那种是经过处理的。一般买到的原始遥感影像是7个波段的,可以分别映射到人的视觉的三个波段(RGB)之中,形成不同的彩色组合。例如标准假彩色就是把红外波段映射到红色波段上,用于识别绿色植物。此外还要背一些常见遥感系统的参数,例如Landsat、Ikono或中巴资源卫星。 不过这门课程{zh1}的实验比较扯,就是给一幅我们学校的遥感图像,让我们用一张透明薄膜纸蒙在上面,把各个地类的轮廓描出来,然后上颜色:绿色表示树木,灰色表示建筑之类的。 遥感图像处理 由于各种因素的影响,卫星影像是不准的,需要进行矫正后才可以使用。有的时候还需要一些特殊处理,例如去噪、加强(有点像Photoshop操作)。而且目前的技术已经可以做到根据卫星拍摄的遥感图像,使用软件自动辨别出各种地类,例如哪些是水田,哪些是森林,哪些是建筑,哪些是河流等等,准确率达到80%以上。{zh1}的大实验就是给一张珠三角的卫星图,要求用ENVI进行地理坐标配准,并使用监督分类的方法对遥感图像的地类进行分类。 数字摄影测量 还没上。 GIS系统原理核心课程 主要涉及的是GIS的最核心的原理:GIS是如何构造的。 地图学 有一种说法,GIS号称“立体的地图”。可见地图在这门学科的重要性。地图学涉及的GIS原理主要是地图投影。大家天天看地图,但是可能没有察觉到有地图投影这么一回事。此外地图学关心的就是地图的制作标准和流程,这个就属于GIS信息表达的范畴。 例如符号、色彩如何组合,普通地图和专题地图的制作,制作规范(例如什么时候用单线河流,什么时候用双向,国界线怎么标,居民点怎么画)。地图学的实验就是用Coreldraw把一张扫描进去的地图临摹出来,以及用Coreldraw制作一些专题图(例如人口统计图)。 地理信息系统概论 这门课号称专业核心课,主要讲解GIS的原理的方方面面,如同一个索引。当然,老师会重点挑一些来说,避免和其他科目重复。例如地理数据概念模型,矢量数据结构和栅格数据结构及其存储方法,拓扑地理数据结构,地理信息系统对传统数据库的扩展,空间数据组织,基本的GIS分析方法(叠置分析、缓冲区分析等等),GIS未来的发展趋势(网络GIS、虚拟仿真之类的)。实验的种类也多种多样。例如:使用C语言编写读取某种GIS数据格式的程序,编写游程编码压缩(一种对栅格数据的简单压缩方法),空间配准,学校选址分析等等。从这门课开始,我们正式深入学习ArcGIS这个软件的方方面:数据处理、空间分析等等。 数字地图制图 说到底就是如何用GIS软件制作地图,以及一些电子地图的知识。大实验是用ArcGIS绘制翻版一张《珠三角交通图》,并进行数据入库。 空间数据库 主要是一些地理信息系统的数据结构和对传统关系数据库的扩展。数据结构包括什么KD树,B+树,网络索引等等。还有一种东西叫做空间数据库引擎,就是一种中间件,例如ArcSDE,解决了在传统数据库(MS SQL Server或Oracle)存储几何数据的问题。{zh1}还学到使用CASE软件(MS Visio)对空间数据库进行UML建模。 专业英语 感觉就是用英语把《地理信息系统概论》这门课的一些知识重新讲过,学一些专业名词,{zh1}开卷考试。既然是专业英语课,用的就是英语教材:《地理信息系统导论》。这本书每个章节都有一个中文的导读,是由广州大学地理科学学院院长陈健飞教授写的,后来他还翻译了整本书。 GIS空间分析课程 GIS不仅仅可以用于保存地理信息数据和输出各种各样的地图,还可以通过对现有的数据进行分析,对许多实际的问题进行决策。GIS分析的课程由两位GIS项目经验丰富的老师负责。 GIS应用 主要是让我们学习ArcGIS的软件操作。并顺便传授一些从事GIS项目的经验。这门课的“应用”主要是一些基本的分析,例如缓冲区分析、DEM分析等等。在这里说说DEM分析,DEM就是一个栅格数据,每个栅格代表图中那个地方的高程(海拔),整个DEM数据反映了一个地区的地形。通过这个DEM数据,我们可以知道哪些地方是山脊,哪些地方是山谷,哪些地方是鞍部。以及如果有条河流,那么就可以把这条河流的流域提取出来。另一个就是所谓的学校选址实验:就是给你一个路网,当前已有的学校地址,以及一些限制条件(例如学校之间的最短距离,离交通路线的距离等等)让你在已有的地图上面选择一些地方新建学校。 GIS高级应用 比之前的《GIS应用》多了“高级”两个字。这门课主要是应用一些数量方法解决GIS的实际应用问题,例如空间平滑插值问题、服务区问题、线性规划问题、空间聚类分析问题、主成份分析、地统计学问题等等。涉及一些统计学的知识。解决一些比较“有趣”的问题。例如,研究美国某个州的癌症发病是否存在空间分布规律。这些实验主要都是通过ArcGIS完成,{zh1}几个和统计有关的实验要使用一些统计软件,例如SPSS。 GIS开发类课程 由于用户层次不同,我们不可能要求用户直接使用专业的GIS软件,如ArcGIS,解决问题。因此,GIS也有大量的专门“系统”,能够专门解决某些具体问题,例如国土管理系统,房地产管理系统,农用地分级系统,森林林业管理系统,电力GIS系统等等。这些系统都是使用ArcEngine通过二次开发开发出来的。 可视化程序设计 主要教的是.NET里面的C#,由计算机科组老师负责,不涉及任何GIS知识。课程主要是讲解一些控件的使用以及如何用ADO.NET连接数据库。{zh1}大作业就是做一个简单的系统,必须有连接数据库的功能。正如这门课的名称所说,课程的重点是可视化程序设计,而不是对C#语言以及面向对象思想的深入学习。 软件工程 主要讲讲软件项目的开发过程,由自己专业的老师负责,讲得比其他专业要浅。{zh1}的考试也是开卷的。虽然这仅仅是“软件工程”,但是工程的思想还是很重要的,一些工程的管理方法、人员组织架构是可以应用到各种项目之中的。 GIS程序设计 主要是讲解如何使用ArcEngine结合.NET平台进行二次开发。据说ArcEngine这东西号称是除了.NET的第二大而复杂的类库。经过一轮学习我也觉得这东西复杂过头,复杂得没有道理。而且这东西是基于COM的,如果深入探究其中道理不大好理解。各种C#的接口转来转去,学得有点混了。 网络GIS 限选课,我没有选。不过貌似也是和开发有关的,貌似学习的是目前比较热门的GOOGLE的那套MAP API。Google MAP API现在应用很广,那套淡黄色的地图许多网站都可以见到,不过用得好的貌似不多。 |