人工智能背景下测绘类专业《Python空间数据分析》课程教学探索

2020-02-25 02:09陈一祥李文梅苗立志
科教导刊·电子版 2020年36期
关键词:空间数据学时测绘

陈一祥 崔 斌 李文梅 苗立志

(南京邮电大学地理与生物信息学院 江苏·南京 210023)

当前在移动互联网、大数据、超级计算、传感网、脑科学等新理论新技术的驱动下,人工智能正加速发展,成为新一轮科技革命和产业变革的核心驱动力,推动经济社会各领域从数字化、网络化向智能化加速跃升。人工智能在各领域的快速蔓延和渗透,给测绘地理信息产业带来新的机遇和挑战。社会对智能化测绘人才的迫切需求,也正深刻影响着高等院校测绘、遥感和地理信息相关专业的人才培养模式。地理空间数据的处理、分析和建模是这些专业都涉及的主要学科方向之一,时空大数据和地理空间智能成为新的研究热点。

1 课程设置的必要性及教学目的

对于测绘类专业的学生,能够利用人工智能的新理论新技术有效处理这些地理空间数据,已成为他们十分重要的技能。目前,一些常用的专业软件如ArcGIS、ENVI等,在人工智能方面的功能仍然相对滞后,对于大量的空间数据的处理和分析任务只有使用程序代码才能实现。在各种编程语言中,Python已成为人工智能领域最受欢迎的编程语言之一,在2020年11月的TIOBE排行榜中,Python已超越Java位居第二的位置(前三名依次为:C、Python和Java)。相比于C和Java语言,Python语法简单易学,非常适合非计算机专业学生学习,并且它采用开源模式提供丰富的面向特定应用的第三方库,比如用于科学计算、数据分析和可视化的NumPy、SciPy和Matplotlib库以及用于处理地理空间数据的GDAL和OGR库等。Python简单的语法加上第三方模块的支持,使学生能够更多地关注问题的解决而不是复杂的编程过程,这对于增强学生的学习信心、培养他们的学习兴趣、提高他们分析和解决问题以及实际动手能力均具有重要的作用。为此,我们为测绘科学与技术专业的硕士研究生开设了《Python空间数据分析》这门课程。通过该课程的学习,使学生能够使用Python语言和丰富的第三方模块来处理和分析地理空间数据,同时借助Python在人工智能领域的优势,使学生能够快速掌握机器学习、深度学习等人工智能算法和流程。

2 课程教学内容及学时安排

该课程是利用Python语言来处理和分析地理空间数据,其重点不在于Python语言本身,而是空间数据的处理和分析方法及其Python支持的第三方模块。该课程的教学内容和学时安排如表1所示,总计32学时。

表1:教学内容及学时

“Python语言基础”这部分介绍Python语言的基础知识,包括数据类型、控制语句、函数等基本语法以及常用的集成开发环境(如Jupyter、Spyder和PyCharm等),掌握这些常用的基础内容即可让学生进行实验操作,通过后续的自主学习和实践学生能很快把这门语言使用起来。“Python地理空间分析工具”这部分重点介绍地理空间数据分析常用的第三方模块,比如Python网络库urllib,科学计算和数据分析库NumPy、SciPy和Pandas,数据存储和交换库json/geojson,矢量数据处理库OGR和PyShp,栅格数据处理库GDAL,图像处理和计算机视觉库PIL和OpenCV-Python等。

“Python矢量/栅格数据的空间分析”这两部分是该课程重点要学习的内容。地理空间数据主要包括矢量和栅格两种类型。矢量数据是对现实世界地理要素的抽象,可分为点要素、线要素和面要素,常用的文件格式为shapefile。栅格数据是对地理要素或现象的栅格化表示,卫星影像、高程数据(如DEM)均属于这种类型。不同于普通的自然图像,卫星影像数据不仅具有投影和坐标,还具有多波段、编码位数更深的特点,常用的文件格式为tif或geotiff。高程数据一般采用ASCII网格文件,文件格式相对简单。对于矢量数据的空间分析,该课程重点学习OGR、PyShp和OSR这三个矢量数据处理库,其内容包括shapefile文件的读写、编辑、空间查询、属性查询、密度制图、缓冲区分析、叠置分析、空间参考系统等。在栅格数据的空间分析部分,会重点学习如何使用GADL模块来实现卫星影像的读写、裁剪、直方图创建、基于直方图的影像分类和变化检测等功能。

“Python机器学习/深度学习”这部分是地理空间数据智能化处理的重要内容。这部分重点介绍当前机器学习和深度学习领域代表性的模型和算法及其Python支持的工具包。对于Python机器学习,主要学习Scikit-learn(sklearn)模块,并基于该模块来实现K近邻、线性回归、逻辑回归、朴素贝叶斯、神经网络、支持向量机、决策树、随机森林等监督分类算法。在Python深度学习这部分重点学习Google的深度学习框架TensorFlow,并使用该框架来实现线性回归、基于卷积神经网络的手写数字识别和遥感影像场景分类等功能。

“Python空间数据分析综合应用”是对前面各部分知识和方法的综合应用,这部分以学生自学为主,会设计1-2个综合性的题目(比如商场选址、遥感地物智能识别)让他们用Python环境来实现。

3 课程教学实践效果及建议

按照该课程的教学内容和学时,我们对测绘科学与技术专业的硕士研究生进行了一学期的教学实践,收到了良好的教学效果。学生们不仅学到了地理空间数据分析的理论方法、掌握了Python这一重要的数据处理工具,还大大开拓了他们的学术视野,学生通过课堂接触并亲自动手实践了机器学习、深度学习领域代表性的人工智能算法,这些算法和技能的快速掌握有利支撑了他们的科研工作。一些同学已将这些算法用于解决自己科研课题中的问题,收到良好的成效。另一面,对教师来说,教师在从事地理空间数据智能处理的研究过程中,相关素材(如模型、算法、案例)很容易补充到教学中,形成科研对教学的良好反哺。

由于学时有限,仅利用课堂的时间学生不足以完成所有的教学内容。在课堂上老师只需重点介绍关键的原理、算法及其支持的 Python第三方模块并给学生提供相关的示例代码,剩下的时间留给学生自主去练习和学习。无论课上还是课下,都要给学生布置一定的量的带有研究性质的课题任务让他们利用学到的知识和技能去自主解决。这些课题任务主要是在课后完成,可以要求他们以报告或作业的形式提交问题解决的思路、流程、程序代码和实验结果。由于课程设计的内容比较新颖又是当前社会关注的热点,学生课堂学习很有收获,因此他们大多对该课程很感兴趣,大都能够在课下自觉完成老师布置的课题任务。另外,教师也要加强人工智能、空间数据处理方面的科学研究,将最前沿的理论方法、算法和案例补充到课堂教学中,使该课程的教学能够与时俱进,不断吸收人工智能、大数据、计算机视觉等领域的最新成果,这样才能让测绘类专业的学生不断接触到新的前沿的内容,这对于增强他们的学习兴趣、开阔他们的学术视野、提高他们的创新能力等都具有重要的作用。

4 结语

利用Python语言及其支持的第三方模块来处理地理空间数据具有显著的优势,非常便于将当前人工智能、大数据和计算机视觉等领域的主流模型和算法及时引入测绘、遥感和地理信息领域,实现地理空间数据的智能化处理。因此,对测绘类专业的学生来说,开设《Python空间数据分析》这门课程非常具有必要性和实用价值。实践表明,通过该课程,学生不仅能够学会使用Python语言和第三方模块来处理和分析地理空间数据,还能够增强他们的学习信心、开拓他们的学术视野,提高他们的科研能力和效率。

猜你喜欢
空间数据学时测绘
《诗词写作》课程教学大纲(节选)
学时压缩下有机化学教学方法探讨
教学大纲国画(工笔花鸟)
探索学时积分制 构建阶梯式成长激励体系
浙江省第一测绘院
04 无人机测绘应用创新受青睐
无人机在地形测绘中的应用
元数据驱动的多中心空间数据同步方法研究
基于文件系统的分布式海量空间数据高效存储与组织研究
客户端空间数据缓存策略