APP下载

浅论开源软件在GIS专业能力培养中作用

2017-10-21温永宁

电脑知识与技术 2017年18期
关键词:专业能力开源人才培养

温永宁

摘要:21世纪以来,地理信息行业在我国取得了长足的发展,地理信息专业本科教育的规模越来越大。开源软件具有自身独特的优势,GIS开源软件社区已经逐渐成熟和壮大,如何适应这种趋势,在GIS本科能力培养中融合开源软件进行课程设计,成为了GIS本科能力培养重要课题。该文分析了开源软件在专业能力培养过程中的适用性和优势,基于当前GIS专业培养方案和课程设置,分析了几个重要的开源软件与课程内容之间的关系,给出了如何融合开源软件,提升GIS专业能力培养的途径。

关键词:开源;GIS;专业能力;人才培养

中图分类号:G424 文献标识码:A 文章编号:1009-3044(2017)18-0135-03

1概述

地理信息系统(GIs,Geography Information System)在我国的发展已经有近30年历史,作为新一代地理学语言GIS已经融入到土地管理、灾害治疗、应急指挥等国民经济的各个领域,产生了我国自主研发的GIS平台,构建了天地图等为代表的国家级的地理信息服务平台。GIS应用由早期的政府主导的企业级应用,逐渐发展到以互联网为基础的公众服务。百度、阿里等众多互联网公司也参与到了地理信息行业中去。

在此期間,我国GIS本科教育也得到了飞速发展,GIS的学科设置也由初始的地理信息系统转变为地理信息科学。截至目前我国已经有170多所高校开设了GIS专业,每年培养GIS人才近万人。

GIS学科是地理科学、测绘科学和计算机科学的交叉学科,软件应用和开发能力是GIS本科能力培养的重要内容。早期的GIS软件主要是国外厂商的商业软件,ESRI的ArcInfo、Ar-cView和AreGIS系列作为最成功的商业GIS软件,一直是我国本科GIS教育的重要软件。随着国产GIS软件的发展,我国部分高校的教学中也有使用MapGIS、SuperMap等作为教学软件的。

近年来,开源风潮席卷了整个软件行业,开源软件得到了极大的发展。开源社区已经建立了包括操作系统、编译器、数据库、桌面办公软件、浏览器在内的完整的软件生态系统。同时,互联网的发展使得传统的软件销售转变为以软件为基础的服务销售。在地理信息领域,开源的GIS软件极大丰富起来。尤其是OGC(开放GIS协会,Open Geospatial Consortium)推出的一系列的规范,为开源GIS软件提供了事实上统一的实现基准,使得相互分离的软件,逐渐可以形成完整的产品链,形成了包括数据存储、地图制图和服务发布、桌面系统的全套产品。

对于本科教学来讲,开源软件相较于封闭的商业软件,具有独特的优势。利用开源软件进行本科教学,是进行教学改革的重要组成部分。

2开源软件在GIS专业能力培养中的优势

开源软件和商业软件具有完全不同的发布模式,开源软件基本上不以盈利为目的,几个著名的开源License都是鼓励或者强制软件继续进行开源传播,比如BSD协议、GPL协议、LG-PL协议等。开源软件这种共享的特征,非常有助于知识的传播,在专业能力培养方面的优势非常的明显。

首先,开发源GIS代码可以使培养对象直接接触到技术实现的内核,质量高的开源项目,代码清晰,逻辑完整,通过对源代码的阅读和分析,有利于破除对技术的恐惧感,做得知其然,而且知其所以然。相反,商业软件一般采取封闭源代码的策略,使用者只能接触到编译好的二进制组件和组件层面的开发接口,难以获得更进一步的软件的结构和实现细节信息。

其次,可选范围广泛,学习曲线平缓。在开源GIS领域,同一类型的软件往往有多种产品可供选择。比如空间数据库软件,开源软件包括了轻量级的SQLite空间扩展(spatialite),中等量级的POSTGIS以及媲美商业数据库的支持空间扩展的MySQL。开源类型多样,实现语言各不相同,包括了从底层算法库,到完整应用的完整架构。开源系统复杂度是一个逐渐累加的过程,主流的开源系统互相依赖。比如JTS提供了所有基础的空间拓扑算,在JTS之上,发展出了.NET版本的NTS和C++版的GEOS;而GEOS则是Quantum GISfQGIsl、PostGIS等诸多开源GIS软件的算法内核。这种优势可以显著的降低学习曲线。

第三,近乎免费,容易获得,部署简单。开源软件虽然不等同于免费软件,但是GIS领域的开源软件几乎都是免费的。虽然有些商业GIS软件厂商已经加入到了教育行业的支持中,但是对硬件的要求依然较高,License的使用依然有诸多限制,开源GIS软件则没有License限制的问题。比如相对于大型商业关系数据库产品(如Oracle Spatial)和ESRI SDE产品,开源空间数据库的硬件资源需求大大降低。

第四,资料丰富,社区成熟。OGC在推动GIS开源软件的发展中起到了至关重要的作用,OGC的相关规范将不同开发者开发的GIS软件链接为一个可以互操作的整体。比如OGCSimple Feature规范定义了矢量数据的逻辑模型和互操作规范,OGC W*S(包括WMS、WFS、WPS、WCS、WTS)规范为开放的地理信息服务定义了互操作标准。开源软件已经形成了成熟的开放社区,开源软件不仅仅包括了软件代码。开源社区提供了丰富的资料,使得同学们有机会了解系统设计的各种思想,这对提升GIS开发的能力具有极大的作用。

3 GIS专业人才培养的结构与常用开源软件的关系

GIS专业培养的内容涵盖地理、测绘和计算机科学等多个学科,其计算机科学包括了基础编成能力的培养、基础和专业算法能力的培养以及专业应用软件应用和开发能力的培养等多个方面。从课程设置角度,GIS专业能力培养是以信息技术为主导,但在基础信息技术能力深度要求与计算机专业的要求有所弱化,而GIS专业算法和专业软件的要求是计算机专业所没有。GIS专业的课程包括数据结构、GIS算法、空间数据库、计算机图形学、电子地图学、GIS设计与开发等等。endprint

数据结构和GIS算法在GIS本科培养中是两门联系紧密的课程,除了基础的计算机专业的数据结构和算法要求之外,针对性的融入了对GIS专业特有的数据模型、数据结构以及专业算法的内容,涵盖包括矢量、栅格为基础的GIS算法。在矢量算法方面,JTS及其衍生的NTS和GEOS,基于OGC的Simple Feature规范,实现了一整套完整的数据模型和算法,包括拓扑9交模型,涵盖了矢量算法教学目标的很大部分内容,其算法代码的可靠性非常高。而在栅格算法方面,TauDEM是一个功能完备的栅格算法工具,能够实现坡度、坡向计算、河网提取等各种DEM算法。除了可以支持GIS算法课程的栅格部分的教学之外,也可以作为数字地形分析课程算法实现的补充材料。

空间数据库是存储和管理地理信息的核心软件,空间数据库课程也是GIS专业的核心基础课程。关系模型在数据库领域占用主导地位,因此空间数据库的教学体系也主要以关系模型为蓝本。开源的关系数据库MySQL、PostgresSQL和sOLite等都支持空间数据库扩展。空间数据扩展的模式比ESRI SDE的通过空间数据引擎使得商业数据库支持空间数据的模式支持更彻底,因为这种支持是在数据库内核一级直接实现的,可以在SQL层面使用空间操作函数。以开源GIS数据库为教学对象,在内容和逻辑上相对于SDE更加清晰。同时,SQL级别的空间数据支持,比SDE的API更加简洁;在编程接口上,支持.NET、Java、C/C++等主流语言API,能够完全取代传统的商业数据库作为教学实验用软件系统。开源数据库的实现利用了GDAL/OGR、GEOS等其他开源软件的作为基础,配合其他课程在教学上将更具有连贯性。

电子地图学依赖于地图学、计算机图形学等基础课程。开源领域的地图制图功能包括制图内核,比如Mapnik系统;服务化的地图服务,比如GeoServer,MapServer等;还有桌面GIS软件或者组件的制图功能,比如QGIS、MapWindow等。从本科能力培養的角度,电子地图学的教学目的是培养空间数据的制图方法和原理。QGIS在开源GIS软件中其制图功能最为强大的,可以制作较为复杂的专题图,可以作为地图学培养的实验用系统。但是,从制图算法角度,QGIS系统复杂度较高,Map-Window、SharpMap等轻量级的GIS地图控件具有更好的适用性。

除此之外,上述软件还可以作为GIS开发的学习软件,支持GIS设计与开发、网络GIS等课程。MapWindow、SharpMap可以作为桌面端开发控件,它们支持POSTGIS等开源数据库。在Web开发方面,GeoServer、MapServer等服务端软件可以学习部署自定义的地图服务;客户端产品主要包括基于Ja-vaScfipt的Openlayers、Leaflet等。得益于Web开放架构,除了软件,也有开源和共享的数据可以使用。完全开源的是Open-StreetMap数据,而Google、Baidu、微软的Bing也都提供开放的地图数据访问接口。

其实,可以辅助教学的开源工程还有很多,比如PROJ.4库,地图学中涉及的投影知识,很多都可以用PROJ.4来实现。GDAL/OGR是一个支持上百种空间数据读取的基础库。GRASS GIS、uDig都是非常有特色的桌面GIS开源应用。

4开源GIS软件专业能力培养的途径

虽然开源软件作为GIS专业培养的工具具有很多优势,但是如果不能正确认识其中的问题,依然会影响使用效果。使用开源软件作为GIS专业能力培养的工具具有一定的挑战性的,涉及教师的能力的提升、教学内容的调整和教学思路的转变。

首先,需要做好顶层设计。开源社区是松散的联盟,开源软件并不像商业软件整体的体系结构设计。开源软件之间结构较为松散,同时不同的软件在内容和结构上有所重叠,而教学内容要求不同的课程需要有连贯性和一致性,这对其在教学中的使用构成了挑战。比如,在编程语言上不同的选择要求在使用开源软件作为教学工具时,从算法库到前端系统要注意保持开发语言的一致性。

其次,思想上的准备。需要引导任课教师思想上重视,并做好教师之间使用软件上的协调。对学生思想进行引导,激发其探索精神。同学们要积极的理解代码后面的思想的设计,主动理解软件的原理,结合课程的内容中进行分析,做到能够看得懂代码。同时要辩证的认识问题,开源软件虽然有巨大的优势,但是也不能偏废商业软件的价值,需要在相互参照中学习。

第三,教师自身能力的建设。教师是教学的主导,学生是学习的主体。教学培养过程中的改变,要求教师能力对教学内容的适应。开源软件的引入不可避免的引来教学内容的改变,要求教师对开源软件的代码能够完全的掌握和了解。这就需要任课教师有对开源软件的结构进行分析和理解的能力,这种能力需要教师加强自身能力才能够获得。

5结论与讨论

开源软件作为一种潮流,符合互联网时代的应用模式。GIS行业正在飞速发展,软件的开发的形态正在经历着巨大改变,单纯的软件的销售变成了基于软件的服务销售。开源GIS软件的发展包括了OGC的推动,也是整个行业发展的必然结果,这也需要在GIS培养内容与方式上调整。这种发展需要在教学体系上进行整体的设计、教师能力的提升,以及教师和学生对教学工作的适应。endprint

猜你喜欢

专业能力开源人才培养
五毛钱能买多少头牛
不同阶段幼儿教师专业能力的内在发展规律
大家说:开源、人工智能及创新
开源中国开源世界高峰论坛圆桌会议纵论开源与互联网+创新2.0
开源计算机辅助翻译工具研究