版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、测绘程序设计(一 ) 第一讲测量程序设计概述第一讲测量程序设计概述 主要内容主要内容 一、课程概述一、课程概述 二、测量程序设计意义二、测量程序设计意义 三、程序设计步骤和规范三、程序设计步骤和规范 四、测量程序设计语言选择四、测量程序设计语言选择 五、关于五、关于Visual BasicVisual Basic语言语言 六、课程主要内容六、课程主要内容 一、课程概述一、课程概述1 1 课程性质课程性质 测量程序设计测量程序设计是测绘工程专业的专业限选课,是是测绘工程专业的专业限选课,是测绘工程专业计算机应用技术核心课程,其理论性和实践测绘工程专业计算机应用技术核心课程,其理论性和实践性并重。
2、性并重。2 2 课程任务课程任务 该课程的主要任务是把程序设计和测绘核心课程充分该课程的主要任务是把程序设计和测绘核心课程充分结合,使学生掌握测量数据平差计算、大地测量高斯投影结合,使学生掌握测量数据平差计算、大地测量高斯投影计算、计算、GPSGPS测量坐标转换、摄影测量空间后方测量坐标转换、摄影测量空间后方-前方交前方交会、道路中线测量放样元素计算等测绘程序的设计,并初会、道路中线测量放样元素计算等测绘程序的设计,并初步掌握计算机自动化绘图的程序设计。并培养学生利用计步掌握计算机自动化绘图的程序设计。并培养学生利用计算机技术编制其它常用的测量应用程序的技能。提高学生算机技术编制其它常用的测量
3、应用程序的技能。提高学生利用计算机技术实际问题的能力,为今后的学习和工作打利用计算机技术实际问题的能力,为今后的学习和工作打下稳固的基础。下稳固的基础。 3 3 本课程考核方法与要求本课程考核方法与要求 平时成绩(包括提问、作业和出勤情况)占平时成绩(包括提问、作业和出勤情况)占30%30%,期,期末笔试试卷考核成绩占末笔试试卷考核成绩占40%40%;期末上机考核占;期末上机考核占30%30%。二、测量程序设计意义二、测量程序设计意义1 1计算机在现代测绘科学中的广泛应用计算机在现代测绘科学中的广泛应用2 2测绘相关软件丰富测绘相关软件丰富: :数据计算数据计算、制图制图、遥感影像处理遥感影像
4、处理、数数字摄影测量字摄影测量、地理信息系统地理信息系统(GIS)(GIS)、 GPSGPS平差计算平差计算. . 3 3实际工作遇到的问题千差万别实际工作遇到的问题千差万别, ,特定应用需要掌握一门特定应用需要掌握一门编程语言编程语言, ,设计相应的程序解决实际问题设计相应的程序解决实际问题. .4 4编写相关专业程序编写相关专业程序, ,深化测量知识的过程深化测量知识的过程. . 三、程序设计步骤和规范三、程序设计步骤和规范1 1、程序设计基本步骤、程序设计基本步骤 1) 1) 问题描述问题描述 按照一定的逻辑顺序将所要解决的实际问题描述清楚,按照一定的逻辑顺序将所要解决的实际问题描述清楚
5、,重点要描述如下信息重点要描述如下信息 已知信息:包括公共信息和输入的信息;已知信息:包括公共信息和输入的信息; 未知信息:计划求解的问题的结果。未知信息:计划求解的问题的结果。 2) 2) 算法设计算法设计 算法就是为了解决一个特定的问题而采取的确定的、算法就是为了解决一个特定的问题而采取的确定的、 有限的、按照一定次序进行的、缺一不可的执行步有限的、按照一定次序进行的、缺一不可的执行步骤。对于任意给定的问题,设计出复杂性尽可能低骤。对于任意给定的问题,设计出复杂性尽可能低的算法是在设计算法时重要目标;另一方面,当给的算法是在设计算法时重要目标;另一方面,当给定的问题已有多种算法时,选择其中
6、复杂性最低者,定的问题已有多种算法时,选择其中复杂性最低者,是我们在选用算法适应遵循的一个重要准则。因此,是我们在选用算法适应遵循的一个重要准则。因此,算法的复杂性分析对算法的设计或选用有着重要的算法的复杂性分析对算法的设计或选用有着重要的指导意义和实用价值。指导意义和实用价值。 在算法设计过程中,必须首先对算法的分析,在算法设计过程中,必须首先对算法的分析,以确定或判断算法的优劣,通常以时间复杂性来衡以确定或判断算法的优劣,通常以时间复杂性来衡量,时间复杂性量,时间复杂性 越低,对应的算法就越优。越低,对应的算法就越优。 3) 3) 程序编码程序编码 按照程序设计要求,给出算法的具体语言描述
7、,即按照程序设计要求,给出算法的具体语言描述,即按照算法,选择恰当的程序设计语言编写出满足要求的按照算法,选择恰当的程序设计语言编写出满足要求的程序代码。其实质是将算法翻译成特定的程序。程序代码。其实质是将算法翻译成特定的程序。 4) 4) 程序测试程序测试 程序测试是为了发现错误而执行程序的过程程序测试是为了发现错误而执行程序的过程, ,通过运通过运行程序来发现程序代码或软件系统中错误行程序来发现程序代码或软件系统中错误. .语法错误语法错误, , 结结果正确性等果正确性等 5) 5) 程序应用与维护程序应用与维护2 2、程序设计规范、程序设计规范 1) 1) 结构清晰结构清晰、代码精简代码
8、精简 2) 2) 尽量使用标准函数尽量使用标准函数、尽量使用局部变量尽量使用局部变量. . 3) 3) 进行适当注释进行适当注释. . 4) 4) 利用缩进键显示程序逻辑结构利用缩进键显示程序逻辑结构 5) 5) 循环和分支层次不要过多循环和分支层次不要过多. .慎慎GOTOGOTO语句语句. . 6) 6) 界面设计尽量美观统一界面设计尽量美观统一. . 2 2、程序设计规范、程序设计规范 1) 1) 结构清晰结构清晰、代码精简代码精简 2) 2) 尽量使用标准函数尽量使用标准函数、尽量使用局部变量尽量使用局部变量. . 3) 3) 进行适当注释进行适当注释. . 4) 4) 利用缩进键显示
9、程序逻辑结构利用缩进键显示程序逻辑结构 5) 5) 循环和分支层次不要过多循环和分支层次不要过多. .慎慎GOTOGOTO语句语句. . 6) 6) 界面设计尽量美观统一界面设计尽量美观统一. . Private Sub A11_Click() Private Sub A11_Click() 度分秒化为弧度度分秒化为弧度 Dim A!, B!, JD! Dim A!, B!, JD! Const Pi = 3.14159265358979 Const Pi = 3.14159265358979 Open d:11.txt For Input As #1 Open d:11.txt For In
10、put As #1 Open d:2.txt For Output As #2 Open d:2.txt For Output As #2 For i = 1 To 5 For i = 1 To 5 Input #1, JD Input #1, JD B = B = dfmhd(JDdfmhd(JD) ) Print #2, JD; B Print #2, JD; B Next i Next iEnd SubEnd Sub四、测量程序设计语言选择四、测量程序设计语言选择1 2010 1 2010 年年3 3月编程语言排名月编程语言排名排名排名2010年年3月月排名排名2009年年3月月编程语言
11、编程语言占比占比2010年年3月月变动变动2009年年3月月11Java17.509%-2.29%22C17.279%+1.42%34PHP9.908%+0.42%43C+9.610%-0.75%55(Visual) Basic6.574%-1.71%67C#4.264%-0.06%76Python4.230%-0.95%89Perl3.821%+0.40%910Delphi2.684%-0.03%108JavaScript2.651%-0.96%2 2 编程语言排名十年趋势编程语言排名十年趋势编程语言编程语言排名排名20102010年年3 3月月排名排名20062006年年3 3月月排名排名
12、20002000年年3 3月月Java113C222PHP3414C+431(Visual) Basic554C#6722Python78-Perl865Delphi997JavaScript1010133 3 为什么选择为什么选择VBVB语言语言(VB(VB语言特点语言特点) ) Visual Basic Visual Basic之所以受到广大编程爱好者及专业编程人员的青睐,之所以受到广大编程爱好者及专业编程人员的青睐,是因为它具有以下一些特点:是因为它具有以下一些特点: 1)1)面向对象面向对象: VB: VB采用了面向对象的程序设计思想。它的基本思采用了面向对象的程序设计思想。它的基本思
13、路是把复杂的程序设计问题分解为一个个能够完成独立功能的相对简路是把复杂的程序设计问题分解为一个个能够完成独立功能的相对简单的对象集合,所谓单的对象集合,所谓“对象对象”就是一个可操作的实体,如窗体、窗体就是一个可操作的实体,如窗体、窗体中的命令按钮、标签、文本框等。面向对象的编程就好像搭积木一样,中的命令按钮、标签、文本框等。面向对象的编程就好像搭积木一样,程序员可根据程序和界面设计要求,直接在屏幕上程序员可根据程序和界面设计要求,直接在屏幕上“画画”出窗口、菜出窗口、菜单、按钮等不同类型的对象,并为每个对象设置属性。单、按钮等不同类型的对象,并为每个对象设置属性。 2)2)事件驱动事件驱动:
14、 : 在在WindowsWindows环境下,程序是以事件驱动方式运行的,环境下,程序是以事件驱动方式运行的,每个对象都能响应多个不同的事件,每个事件都能驱动一段代码每个对象都能响应多个不同的事件,每个事件都能驱动一段代码事件过程,该代码决定了对象的功能。通常称这种机制为事件事件过程,该代码决定了对象的功能。通常称这种机制为事件驱动。事件可由用户的操作触发,也可以由系统或应用程序触发。例驱动。事件可由用户的操作触发,也可以由系统或应用程序触发。例如,单击一个命令按钮,就触发了按钮的如,单击一个命令按钮,就触发了按钮的Click(Click(单击单击) )事件,该事件事件,该事件中的代码就会被执
15、行。若用户未进行任何操作中的代码就会被执行。若用户未进行任何操作( (未触发事件未触发事件) ),则程序,则程序就处于等待状态。整个应用程序就是由彼此独立的事件过程构成。就处于等待状态。整个应用程序就是由彼此独立的事件过程构成。 3)3)软件的集成式开发软件的集成式开发: VB: VB为编程提供了一个集成开发环境。在为编程提供了一个集成开发环境。在这个环境中,编程者可设计界面、编写代码、调试程序,直至把应用这个环境中,编程者可设计界面、编写代码、调试程序,直至把应用程序编译成可在程序编译成可在WindowsWindows中运行的可执行文件,并为它生成安装程序。中运行的可执行文件,并为它生成安装
16、程序。VBVB的集成开发环境为编程者提供了很大的方便。的集成开发环境为编程者提供了很大的方便。 4)4)结构化的程序设计语言结构化的程序设计语言: VB: VB具有丰富的数据类型,是一种符具有丰富的数据类型,是一种符合结构化程序设计思想的语言,而且简单易学。此外作为一种程序设合结构化程序设计思想的语言,而且简单易学。此外作为一种程序设计语言,计语言,VBVB还有许多独到之处。还有许多独到之处。 5) 5)强大的数据库访问功能强大的数据库访问功能: VB: VB利用数据控件可以访问多种数据利用数据控件可以访问多种数据库库. . 6) 6)支持对象的链接与嵌入技术支持对象的链接与嵌入技术: VB:
17、 VB的核心是对对象的链接与嵌的核心是对对象的链接与嵌入入(OLE)(OLE)技术的支持,它是访问所有对象的一种方法。利用技术的支持,它是访问所有对象的一种方法。利用OLEOLE技术,技术,能够开发集声音、图像、动画、字处理、能够开发集声音、图像、动画、字处理、WebWeb等对象于一体的程序。等对象于一体的程序。 7)7)网络功能网络功能: : 可以动态创建和编辑可以动态创建和编辑WebWeb页面,使用户在页面,使用户在VBVB中开发中开发多功能的网络应用软件。多功能的网络应用软件。 8)8)多个应用程序向导多个应用程序向导:VB:VB提供了多种向导,如应用程序向导、安提供了多种向导,如应用程
18、序向导、安装向导、数据对象向导和数据窗体向导,通过它们可以快速地创建不装向导、数据对象向导和数据窗体向导,通过它们可以快速地创建不同类型、不同功能的应用程序。同类型、不同功能的应用程序。 9) 9)支持动态交换、动态链接技术支持动态交换、动态链接技术: : 通过动态数据交换通过动态数据交换(DDE)(DDE)的的编程技术,编程技术,VBVB开发的应用程序能与其他开发的应用程序能与其他WindowsWindows应用程序之间建立数应用程序之间建立数据通信。通过动态链接库技术,在据通信。通过动态链接库技术,在VBVB程序中可方便地调用用程序中可方便地调用用C C语言或语言或汇编语言编写的函数,也可
19、调用汇编语言编写的函数,也可调用WindowsWindows的应用程序接口函数。的应用程序接口函数。 lOlO) )联机帮助功能联机帮助功能: : 在在VBVB中,利用帮助菜单和中,利用帮助菜单和F1F1功能键,用户可功能键,用户可随时方便地得到所需要的帮助信息。随时方便地得到所需要的帮助信息。VBVB帮助窗口中显示了有关的示例帮助窗口中显示了有关的示例代码,通过复制、粘贴操作可获取大量的示例代码,为用户的学习和代码,通过复制、粘贴操作可获取大量的示例代码,为用户的学习和使用提供方便。使用提供方便。 1 VB 1 VB语言发展语言发展 19911991年年 4 4月月 ,Visual Basi
20、c 1.0 WindowsVisual Basic 1.0 Windows版本发布版本发布 - 1992- 1992年年 9 9月月 ,Visual Basic 1.0 DOSVisual Basic 1.0 DOS版本发布。版本发布。 - 1992- 1992年年 1111月月 ,VB2.0VB2.0发布。它对于上一个版本的可靠和速度都有发布。它对于上一个版本的可靠和速度都有所改善。所改善。 -19931993年年 夏天,夏天,VB3.0VB3.0发布,分为标准版和专业发布,分为标准版和专业版版。- 19951995年年 8 8月月 ,VB4.0VB4.0发布了发布了 3232位位 版本和版
21、本和 1616位位 的版本。其中包含的版本。其中包含了对了对 类类 的支持。的支持。- 1997年年 2月月 ,VB5.0发布。包含了对用户自建控件的支持发布。包含了对用户自建控件的支持.四、测量程序设计语言选择四、测量程序设计语言选择- 1998- 1998年年 夏天,夏天,VB6.0VB6.0发布。发布。 - 2001- 2001年年 , Visual BVisual B 和和 .NET Framework .NET Framework 发布。由于其发布。由于其使用了新的核心和特性所以很多使用了新的核心和特性所以很多VBVB的程序员都要改写程序。的程序员都要改写程序。 - 2003- 20
22、03年年 , Visual BVisual B 2003 2003和和.NET Framework 1.1.NET Framework 1.1发布。发布。 - 2004- 2004年年 ,微软开放了,微软开放了 Visual Studio .NET 2005Visual Studio .NET 2005的的 测试测试 版本版本(代号(代号WhidbeyWhidbey)。包含了)。包含了.NET Framework2.0.NET Framework2.0的测试版本。的测试版本。 - 2005- 2005年年 ,微软宣布将不会再对非,微软宣布将不会再对非.NET.NET版本的版本的VBVB进行支持
23、。进行支持。VBVB使用使用者立即作出反应表示关忠这个消息,一些老用户还递交了希望能够继者立即作出反应表示关忠这个消息,一些老用户还递交了希望能够继续对续对VBVB进行技术支持的请愿书。微软目前还不愿意改变他们的决定。进行技术支持的请愿书。微软目前还不愿意改变他们的决定。 -Visual SVisual S 2005 2005年年 1111月月7 7日日 发布测试版发布测试版. .- Visual S 2008 发布发布 Visual Basic Visual Basic 已经经历了很多次的改进。然而从它诞生以来,已经经历了很多次的改进。然而从它诞生以来,一直受到欢迎的一点是:就它的核心而言,
24、仍然可以象使用一直受到欢迎的一点是:就它的核心而言,仍然可以象使用BASICBASIC一一样的编写程序。当然,和样的编写程序。当然,和 Basic相比相比Visual Basic的软件包已经有了很的软件包已经有了很大的增强,但是这些改进一般是补充性的,并没有模糊作为编程工具大的增强,但是这些改进一般是补充性的,并没有模糊作为编程工具本身具有的目的,这个目的就是:使本身具有的目的,这个目的就是:使Visual BasicVisual Basic能更简单快捷地用能更简单快捷地用于设计、编写和调试出优秀的面向对象的应用程序。于设计、编写和调试出优秀的面向对象的应用程序。 下一个版本的下一个版本的Vi
25、sual BasicVisual Basic所发生的变化应该是令人惊喜的。如果所发生的变化应该是令人惊喜的。如果你想获得它们所带来的那些好处,那就使用新版本。如果你不想,你你想获得它们所带来的那些好处,那就使用新版本。如果你不想,你可以理直气壮的使用你目前仍然使用的。然而,了解在象可以理直气壮的使用你目前仍然使用的。然而,了解在象Visual Visual BasicBasic这种比这种比C+C+和和JavaJava容易使用的多的语言中,也可以实现容易使用的多的语言中,也可以实现C+C+和和JavaJava所实现的功能,是有好处的。所实现的功能,是有好处的。 2 VB6.0 2 VB6.0的三
26、个版本的三个版本 Visual Basic 6.0Visual Basic 6.0有三种版本,可以满足不同的开发需要。有三种版本,可以满足不同的开发需要。 1)1)、Visual Basic Visual Basic 学习版使编程人员轻松开发学习版使编程人员轻松开发 Windows Windows 和和 Windows NT(rWindows NT(r) )的应用程序。该版本包括所有的内部控件以及网格、的应用程序。该版本包括所有的内部控件以及网格、选项卡和数据绑定控件。学习版提供的文档有选项卡和数据绑定控件。学习版提供的文档有 Learn VB Now CD Learn VB Now CD 和
27、和包含全部联机文档的包含全部联机文档的Microsoft Developer Network CDMicrosoft Developer Network CD。 2)2)、专业版为专业编程人员提供了一整套功能完备的开发工具。、专业版为专业编程人员提供了一整套功能完备的开发工具。该版本包括学习版的全部功能以及该版本包括学习版的全部功能以及ActiveXActiveX控件、控件、Internet Internet Information ServerApplicationInformation ServerApplication Designer Designer、集成的、集成的Visual Vi
28、sual Database Tools Database Tools 和和 DataEnvironmentDataEnvironment、Active Data ObjectsActive Data Objects和和Dynamic HTML Page DesignerDynamic HTML Page Designer。专业版提供的文档有。专业版提供的文档有Visual StudioVisual StudioProfessional FeaturesProfessional Features手册和包含全部联机文档的手册和包含全部联机文档的Microsoft Microsoft Develop
29、er Network CDDeveloper Network CD。 3)3)、企业版使得专业编程人员能够开发功能强大的组内分布式应、企业版使得专业编程人员能够开发功能强大的组内分布式应用程序。该版本包括专业版的全部功能以及用程序。该版本包括专业版的全部功能以及 Back Office Back Office 工具,例工具,例如如 SQL ServerSQL Server、Microsoft Transaction ServerMicrosoft Transaction Server、Internet Internet Information ServerInformation Server、
30、VisualSourceSafeVisualSourceSafe、SNA ServerSNA Server等。企业版包等。企业版包括的印刷文档包括括的印刷文档包括 Visual StudioEnterpriseVisual StudioEnterprise Features Features 手册以及包手册以及包含全部联机文档含全部联机文档 1 1、课程主要教学内容、课程主要教学内容 1 1)测量程序设计和)测量程序设计和VBVB语言概述语言概述 2 2)简单测量程序设计)简单测量程序设计 3 3)测量平差计算程序设计)测量平差计算程序设计 4 4)坐标转换与高斯投影计算程序设计)坐标转换与高
31、斯投影计算程序设计 5 5)道路中线测量计算程序设计)道路中线测量计算程序设计 6 6)摄影测量空间后方一前方交会)摄影测量空间后方一前方交会 7 7)GPSGPS高程测量计算高程测量计算 8 8)多边形面积计算和测量数据预处理)多边形面积计算和测量数据预处理 9 9)计算机自动化绘图)计算机自动化绘图六、课程主要内容六、课程主要内容 2 2 基本要求基本要求 学完本课程后,应该达到下列基本要求:学完本课程后,应该达到下列基本要求: 1 1)掌握测量数据平差计算程序设计方法;)掌握测量数据平差计算程序设计方法; 2 2)能编制坐标转换程序解决测量生产和)能编制坐标转换程序解决测量生产和GPSGPS测量中的坐标转换问测量中的坐标转换问题;题; 3 3)能熟练完成道路中线坐标计算;)能熟练完成道路中线坐标计算; 4 4)掌握曲面拟合法)掌握曲面拟合法GPSGPS高程测量、摄影
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 实战演练 2027年中考河北省语文初三人教版考前保温卷(含答案)
- 2027年中考湖北省语文中考综合测试卷(含答案)
- 2027年上海市历史中考查漏补缺卷(含答案)
- 查漏补缺 2026-2027学年第一学期八年级历史人教版上学期期中测试卷(含答案)
- 2027年福建省语文中考提分模拟卷(含答案)
- 查漏补缺 2026年秋季初二语文部编版第一单元单元归类复习卷(含答案)
- 2027年湖南省语文中考考前最后冲刺卷(含答案)
- 2026 事业编计算机岗面试考点梳理含答案
- 2026 年事业编财会岗面试真题汇编 题型分析 含答案
- 2026 年鲁教版初中化学九年级上册单元基础测试卷
- 限制类医疗技术临床应用自我评估报告x
- 中国电动两轮车换电行业市场现状及投资态势分析报告(智研咨询)
- 2026年上海高考英语春考试卷及参考答案(完整版)
- 2026年大连理工大学经济管理学院MBA面试含答案
- 卫星通信原理课件
- 2026年哈尔滨铁道职业技术学院单招职业技能考试题库附答案
- 光伏项目施工安全管理方案
- 2024(苏教版)劳动六年级上册全册教学案
- 参加党校中青班学习培训个人党性分析报告
- 老年护理论文3500
- DZ/T 0273-2015地质资料汇交规范
评论
0/150
提交评论