APP下载

普通高校测绘工程专业程序设计类课程的教学设计

2023-08-04王永波郑南山陈国良高井祥张书毕

科技资讯 2023年13期
关键词:网平水准程序设计

王永波 郑南山 陈国良 高井祥 张书毕

(1.中国矿业大学国土环境与灾害监测国土资源部重点实验室; 2.中国矿业大学江苏省资源环境信息工程重点实验室 江苏徐州 221116)

随着新时代科学技术的进步,测绘技术正在向数字化、自动化和智能化方向转变,测绘学科也从传统的单一型学科向多学科综合方向发展[1-2]。伴随着全站仪、三维激光扫描仪,以及测量机器人等新型批量数据采集设备的出现,测绘工程专业技术人员已经逐步从繁重的外业数据采集工作中解放出来。与此同时,相关技术人员的工作重心也已经由室外转向室内。如何实现外业观测数据的高效与自动化处理,进而实现信息的有效提取是当前测绘工程技术人员面临的问题之一。为了培养满足新时代创新型高级测绘人才,高校人才培养方案的制订至关重要[3]。面对海量的外业测绘数据,利用计算机编程来实现外业观测数据的自动化处理已经成为本科生的必备技能之一[4]。

高校测绘工程专业的培养目标是让学生具备空间定位数据的采集、处理、分析与应用的能力。当前,大部分高校测绘工程专业的课程设置均涵盖了程序设计类课程。针对如何有效地提高课程的教学质量,众多学者对有关测绘软件开发类课程的课堂教学过程中所存在的问题进行了分析,并提出了各自的见解[5-10]。值得一提的是,张恒璟等人以适应应用创新型人才培养体系建设的需要作为出发点,从课程建设的总体目标、教学改革的方法手段、课程重难点问题的处理等方面探讨了课程的改革方向,以提高学生的应用创新能力[11];刘志平等人立足于经典平差的教学研究成果,通过虚拟观测值引出了概括平差模型的广义最小二乘解法,进而有效地激发了学生通过编程的手段来解决现实问题的兴趣[12];王建强等人立足于专业认证的具体标准,从课程教学目标出发,结合测绘工程专业知识,对课程内容、教学模式和考核方式进行了优化设计[13]。

就目前的教学模式而言,大部分学生对测绘工作的认识仍停留在外业观测与简单的数据处理上,没有及时认识到程序设计对测绘数据处理的重要性。这直接导致了其在面对复杂的外业观测数据(如LiDAR 点云)时变得无所适从[14]。为了从根本上改变这一局面,充分调动高校测绘工程专业学生通过编程来解决具体问题的积极性,激发学生的编程兴趣与潜力,文章立足于卡诺循环教学设计方法[15],在对教学内容和教学目的进行深入剖析的基础上,基于问题驱动式方法,从教学设计的角度探讨如何有效地培养学生的程序设计兴趣,进而提高学生的程序设计能力。具体工作的开展主要从如下两个方面入手。

(1)立足于测绘数据处理的现状,结合已有的专业知识,通过教学设计将数据处理过程中所面临的问题有效地导入课堂,让学生认识到程序设计对测绘数据处理的重要性;(2)基于课程的教学目标,建立课程知识点与典型实例之间的联系,着重培养学生通过程序设计实现对测绘专业数据的组织、管理与分析,激发学生利用计算机辅助的方式实现数据处理的兴趣,进而提高学生的程序设计能力。

具体而言,文章立足于中国矿业大学测绘工程专业“数据结构与测绘软件开发”课程的教学实践,以图及其在控制网平差程序设计中的应用为例,根据课程的教学内容与目标,分别从问题的导入、知识点讲解与课堂总结这3 个方面入手,对课堂的教学思路进行了详细设计。首先,借助先修课程“误差理论与测量平差”的相关知识,让学生对图及其在测绘数据处理中的作用有一个初步了解;其次,建立图与控制网之间的联系,对图在控制网平差中的重要性进行细致的分析,引入“数据结构”课程中有关图的专业术语,对图的相关知识与算法进行深入讲解,并据此引导学生利用所学知识来实现控制网平差程序的设计与开发。

1 教学内容与目标

此次课程的教学内容主要包括如下3个部分:(1)图的定义、表达与存储;(2)图的遍历算法的设计;(3)基于图的最小生成树构建。

通过此次课程的学习,预期达到以下教学目标:(1)让学生掌握数据结构中有关图的基本概念与定义,掌握生成树的定义及其与图之间的关系;理解并把握图的基于邻接矩阵表示与邻接表表示的两种存储方式;掌握图的深度优先遍历与广度优先遍历等两种算法;掌握基于Prim算法与Kruskal算法的图的最小生成树构建算法。(2)立足于先修课程“误差理论与测量平差”中控制网平差的相关知识,建立控制网与图之间的对应关系,在此基础上,以水准网平差为例,讲解图的遍历与最小生成树构建算法在水准网平差程序设计中的作用。

2 教学思路

“数据结构与测绘软件开发”课程是笔者学校测绘工程专业的核心主干课程,图在整个课程中属于较难的一部分内容,若按照常规的教学思路,直接给学生讲解图的定义与相关知识,大部分学生很难建立图与测绘工程专业之间的关系,学习的兴趣可能会受到影响。分析不难发现,“误差理论与测量平差”中重点讲解的控制网,其本质是图的一种特殊表达方式,通过在常规的图中为每条边赋予相应的权重,即形成了测绘工作中控制网(包括水准网和边角网)的概念。据此,在教学思路的设计中,以水准网平差为例,选择水准网的机助平差程序设计作为教学的出发点,以水准网的存储与表达以及未知点近似高程的计算为例,引入图的存储与表达、图的遍历与最小生成树构建等相关的知识点。具体而言,利用先修知识让学生对图有着直观的了解,激发其对于图的学习兴趣;在此基础上,结合控制网平差实例,通过问题的合理导入,让学生了解并认识到图在机助控制网平差程序设计中的重要性,利用学生的好奇心,进一步激发学生对学习新知识的欲望。

2.1 问题的导入

问题的导入主要从如下两个方面着手:图与控制网之间的联系、机助控制网平差程序设计中的关键问题。

2.1.1 图与控制网之间的联系

如图1 所示,图1(a)为测绘工作中常见的水准测量控制网,将水准网中所有的水准路线用直线代替后,将每个水准点看作图的顶点,舍弃水准网中的观测数据h1~h6,即形成了如图1(b)所示的图。图与控制网一样,顶点与顶点之间的连线表达了它们之间的拓扑邻接关系,路径的长度可以看作是赋予图中各条边的权重,这与水准网平差中观测值定权的规则相似。

图1 水准网及其对应图

2.1.2 机助控制网平差程序设计中的关键问题在机助控制网平差程序的设计中,要让计算机能够像人一样识别控制网,此举有利于实现对数据进行相应的组织、处理直至成果的输出。为了达到这一目的,引出控制网平差中涉及的两个关键问题:(1)点与点之间拓扑邻接关系的确定;(2)未知点高程近似值的计算。

通过上述问题的引入,让学生知道了此节课的学习重点,值得一提的是,教师一定要强调并让学生知道机助控制网平差程序设计中的上述两个关键问题均可以通过图来实现。

2.2 知识点讲解

通过具体问题导入了图的概念之后,接下来便是与图相关的知识点讲解。讲解过程中,借助先修课程“误差理论与测量平差”中控制网的相关知识来辅助图的知识点讲解,让学生能够快速掌握图的定义与相关概念;在此基础上,引导学生在编程过程中利用图的知识具体解决测绘数据处理的相关问题。

2.2.1 图的定义与相关概念

在建立了图与控制网之间的联系之后,对图的定义及其相关术语进行讲解,具体包括:(1)图的基本组成与图的路径的定义;(2)有向图和无向图的定义与区分;(3)生成树的概念。讲解过程中,如下部分需要重点关注:(1)图的路径与回路和水准网之间的关系(如图2所示);(2)有向图与无向图和控制网之间的关系。

图2 图的路径与回路及其与水准网之间的对应关系

2.2.2 图的相关算法

介绍了图的概念并为学生建立了图与水准网之间的对应关系后,课程讲解的重点可以返回到计算机程序的设计与实现上来,具体内容包括:图的存储与表达、图的遍历、基于图的最小生成树的构建。(1)图的存储与表达。

根据大纲要求,图的存储与表达主要介绍两种方法,即邻接矩阵表示法与邻接表表示法。其中,邻接矩阵表示法相对简单,对于大家理解图的定义及相关概念有很大帮助。然而在后序有关图算法的设计方面,邻接表表示法则更胜一筹,因此这里重点要求大家掌握图的邻接表表示方法。

(2)图的遍历。

深度优先遍历算法与广度优先遍历算法在测绘数据处理过程中均有着重要的应用,因此,对此两种方法均需要展开进行论述,并要求学生能够自行编程实现。

(3)基于图的最小生成树的构建。

Prim 算法与Kruskal 算法是当前基于图构建最小生成树的两种典型算法,从最终效果上来讲,两种算法的效果等价,然而两种算法的实现思路却截然不同。因此,结合运行结果给出算法的基本实现思路之后,重点从算法的特点、适用性等方面对算法进行综合比较与分析。

此外,最小生成树对于测量平差来讲有两个主要作用:首先,可以利用最小生成树快速找到与当前顶点的邻接点,因此,在水准网未知点高程的估算中有着重要的作用;其次,对于条件平差而言,可以利用最小生成树提供的路径来实现条件的自动查找[2]。此方面的内容需要在课堂上重点提出,引导学生结合案例进行相应的思考。

值得一提的是,图的相关算法在课程选用的教材上有着详细的描述[1],按照教材的内容逐一讲解即可。

2.2.3 基于图辅助的测绘程序设计

在讲解了图的相关知识点后,需要将学生的思路再一次拉回到水准网平差程序的设计上来,结合如下问题来引导学生进一步掌握图在水准网平差程序设计中的应用:(1)对照图的计算机描述,如何利用计算机来实现对水准网的表达与描述;(2)给定水准网中相应的两个水准点,如何搜索并确定它们之间的路径;(3)如何借助计算机编程的方式实现未知点高程的自动估算。

(1)水准点类、观测值类与水准网类。

为了便于确定点与点之间的拓扑邻接关系,基于面向对象的程序设计方法构建水准点类和观测值类[2],利用C++语言编写得到的类/结构体变量类型分别如下。

水准网类的设计与图类相关,在成员变量的设计中,除了控制网中点的数目和观测高差数目,依照图类的设计,需要设计数组_edVec和_lpVec,分别用于存储高差观测值和高程点相关数据,具体如下。

(2)路径搜索算法。

搜索并确定两个顶点之间的路径可以采取两种方法:①利用图的深度优先遍历算法。此算法的优点是事先不需要做任何预处理,缺点是路径搜索过程中工作量较大,对计算资源的消耗相对较多。②基于图构建相应的最小生成树,并据此实现顶点之间路径的查找。利用此方法实现路径的搜索,算法的运行效率将会得到较大的提升。

(3)未知点高程的自动估算。

在实现了任意两点之间路径的查找之后,即可根据已知点来实现未知点高程的计算,具体方法与路径搜索算法类似,在此不多述。

3 课堂总结

此次课程利用水准网作为问题的切入点,给出了图与水准网之间的关联,明确了可以利用图来辅助水准网平差程序的设计,并对水准网平差程序设计中所涉及的关键问题(详见该文2.2.1 部分)进行了展示与分析;在此基础上,讲解了图的定义与相关概念、图的相关算法等基本知识点;最后结合图的相关算法,回到水准网平差程序的设计中来,结合点与点之间拓扑邻接关系的确定问题与未知点高程近似值的计算问题,为学生阐述了如何利用图的遍历算法与最小生成树来实现水准网点任意两点间路径的搜索,进而利用图所表达的相邻水准点之间的拓扑邻接关系实现未知点高程的计算。

总体而言,此次课的内容有一定的难度,然而,在教学过程中,通过合理地引导,利用水准网作为例子引入图的概念,使学生面对新的知识点有一种似曾相识的感觉。教学过程中,教师带领学生从另一个层面上来重新认识水准网,消除了学生对于新知识的潜在排斥感,拉近了师生之间的距离,整个课堂气氛显得异常活跃。

4 结语

对于测绘工程专业的大多数学生而言,学习程序设计类课程时,找不到课堂所学知识与专业应用之间的有效关联,很难达到学以致用的目的。究其原因,现有的教学方法与教学模式侧重于理论知识的讲解,较少注重对学生编程兴趣的激发,致使学生对该类课程的重要性认识不足、对课程的重视程度不够,出现了“应付式学习”的现象。

针对上述问题,文章以“数据结构与测绘软件开发”课程为例,基于教学内容与目标,在对教学内容进行深入剖析的基础上,从“教”的方法入手,分别从问题的导入、知识点讲解和课堂总结这3 个方面对教学思路进行了相应的设计,旨在探讨如何有效地激发并培养学生的程序设计兴趣,提高学生的课堂学习效果,进而让学生可以更加有效地学习利用编程的方式实现测绘数据自动化处理的相关知识。

上述研究内容已经应用于中国矿业大学测绘专业本科生的教学实践之中,取得了较好的效果。大部分学生学习“数据结构与测绘软件开发”课程时不再是“应付式学习”,而是带着问题来寻找解决的方法。课堂之外的时间,学生与教师的互动频率有了明显的提高,证明学生的学习兴趣已经被激发。

后续的研究工作将进一步深入挖掘“数据结构”与“误差理论与测量平差”课程之间的结合点,利用上述研究成果,力求做到以解决实际问题为需要引入知识点,以课程的知识点为后盾来寻求实际问题更好的解决方法,从而更好地充实“数据结构与测绘软件开发”的课程内容,进而培养学生优秀的程序设计思维与能力。

猜你喜欢

网平水准程序设计
两种大区域GNSS网平差方法对比分析
一种改进的水准网条件平差算法
基于Visual Studio Code的C语言程序设计实践教学探索
从细节入手,谈PLC程序设计技巧
媲美激光光源的成像水准Acer宏碁E8620C
利用RFM的天绘一号卫星影像区域网平差
高职高专院校C语言程序设计教学改革探索
不同分辨率线阵卫星影像联合区域网平差
PLC梯形图程序设计技巧及应用
“资源三号”卫星正视影像区域网平差