摄影测量学空间后交-前交实验报告
- 格式:doc
- 大小:290.00 KB
- 文档页数:23
河南理工大学测绘学院
《数字摄影测量学》教学实验报告
(专业必修课)
姓名:专业班级:
学号:序号:
指导教师:
2011年月日
┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄┄
实验成绩:
评语:
指导老师签名:
2011年月日
实习报告一:点特征提取
专业班姓名:学号:日期:
一、实验的目的与要求
通过实习掌握点特征提取的原理、方法和过程,并能用计算机编程实现。
二、实验设备
1、计算机一台
2、立体数字图像
3、VC 开发平台
三、实验步骤
1.软件编写与调试
2.点特征提取
3.提取结果分析
四、实验结果与体会
实习报告二:影像匹配
专业班姓名:学号:日期:
一、实验目的
掌握相关系数影像匹配的原理和基本过程,并能编程实现。
二、实验设备
1、计算机一台
2、立体数字图像
3、VC 开发平台
三、实验步骤
1.软件编写与调试
2.影像匹配
3.匹配结果分析
四、实验结果与体会。
测量学实验结果分析与总结(精选5篇)测量学实验结果分析与总结 总结是对某⼀特定时间段内的学习和⼯作⽣活等表现情况加以回顾和分析的⼀种书⾯材料,通过它可以全⾯地、系统地了解以往的学习和⼯作情况,让我们好好写⼀份总结吧。
下⾯是⼩编为⼤家整理的测量学实验结果分析与总结(精选5篇),希望对⼤家有所帮助。
测量学实验结果分析与总结1 为期17天的测量学实习已经结束,回顾这将近三周的实习⽣活,虽然确实体会到了学长们所描述的精疲⼒竭和酷暑炎热,可是我们也在收获⼀种技能的同收获了⼀段值得回味的经历。
由于测量学是⼀门技术性与实践性很强的专业基础课,既有丰富的测绘理论,⼜有⼤量的实际操作技术。
测量学实习作为《测量学》教学的⼀个重要组成部分对培养我们的思维和动⼿能⼒、掌握具体⼯作程序和内容都起着相当重要的作⽤。
也是我们通过现场实际操作巩固课堂知识,查漏补缺的最佳⽅式。
这⼗⼏天来,我们每天早晨都坚决地克服了赖床的⽑病,踩着朝露,扛着仪器,在安静的校园道路上⼤⼑阔斧的向实习地迈进。
在实习过程中我们克服天⽓的炎热,挥洒青春的汗⽔;在烈⽇的照射下,挑战我们的极限。
⼩组内⼤家亲如⼀家,相互关⼼,相互体谅,众志成城团结⼀致,⼤家分⼯合理并不断交换⼯作,因此我们六个⼈每⼈都能参与到每份⼯作中,得到相同并且全⾯的实习机会。
在对平顶⼭市会议中⼼进⾏地形图测绘的⼯作中我们遇到了很多问题和困难,⼤家耐⼼讨论并寻求问题的答案以及困难的最佳解决⽅法,对于⽆法组内解决的问题我们虚⼼向其他组同学请教,或者查阅资料询问⽼师。
总之在这次实习中,⼤家对于知识的那种渴望、积极和谦逊似乎都是空前的。
求学⼗⼏载,我们似乎⼀直都在为了考试⽽拼命死记课本中的条条框框;为了分数⽽对课堂上⽼师的⼀⾔⼀⾏唯命是从,却从没能在实际中运⽤到这些知识,从⽽不能发现知识的漏洞所在,更不能体会到知识的价值和重要性。
实习第⼀天,领取了实习所需的包括经纬仪,⾃动安平⽔准仪等仪器之后,⼤家开始进⾏第⼀项⼯作,检校仪器。
测量工作报告模板6篇测量工作报告篇1一、实习目的与要求:测量学教学实习是测量学的重要组成部分,其目的是巩固、扩大和加深学生从课堂所学的理论知识,获得测量实际工作的初步经验和基本技能,着重培养学生的独立工作能力,进一步熟练掌握测量仪器的操作技能,提高计算和绘图能力,并对测绘小区域大比例尺地形图的全过程有一个全面和系统的认识,为今后解决实际工作中的有关测量问题打下坚实的基础。
通过教学实习学生应达到以下要求:(1)掌握主要仪器(水准仪及经纬仪、全站仪)的性能和使用。
(2)掌握地形测图的基本方法,具有初步测绘小区域大比例尺地形图的工作能力。
(3)能了解地形册归的内外业组织工作。
在教学实习中,要注意使每个学生都能参加各项工作的练习。
注意培养学生独立工作的能力,加强劳动观点、集体主义精神和爱护仪器的教育,使学生得到比较全面的锻炼和提高。
二、实习任务及内容:(一)大比例尺地形测图1.任务:每小组测绘一幅比例尺1∶1000、等高距为0.5m的地形图。
2.内容:1)平面控制。
敷设独立导线网。
1)准备工作:仪器的检验校正、工具与用品准备。
2)外业工作:踏勘测区、拟定布网方案、选点、标志点号、角度观测和距离丈量(导线边长)、定向。
3)内业工作:外业手簿的检查和整理、绘制控制网略图、坐标计算、编制平面控制成果表、绘制坐标格网与控制点展绘。
2)高程控制。
1)准备工作:水准仪检校、工具与用品准备。
2)外业工作:踏勘、选点、水准观测。
3)内业工作:手簿检查、水准测量成果整理、编制水准测量成果表。
实习地点:长江工程职业技术学院武汉校区我们要掌握工程建设在勘测、设计、施工和管理阶段进行的各种测量工作相关知识。
达到以下要求,具体要作到:1.熟悉各种测量仪器的结构原理和用途,熟练使用水准仪、经纬仪的各种使用方法,掌握仪器的检验和校正方法。
2.明白各种测量误差的来源是主要有三个方面:(1)仪器误差:这是仪器本身在制造的过程过程中它的精度所决定的,属于客观误差来源。
学习摄影测量调绘实习心得体会摄影是一种艺术,在摄影中也有人会写工作心得体会。
下面是给大家的摄影测量调绘实习心得内容,供你参考!我于9月2日参加了管理处党办室组织的摄影培训学习,为了提高大家的摄影水平,杨科长特地请来了省厅有名的摄影师李英军老师为这次的培训老师。
这次学习让我受益非浅,基本了解了摄影的历史,照相机的基本构造和基本常识、以及在今后摄影中需要注意的小的细节。
在李老师的精心指导下,使我对摄影有了深入的了解,同时也逐渐的提高了自己的审美意识,并让我意识到要想拍出好相片,拥有一部好的相机并非关键之处,更重要的是利用好自己手中的相机,提高自己摄影能力,当然提高个人的审美意识也是学好摄影的要点之一。
对摄影有了深入的了解,并深深的体会到了摄影带给我的乐趣。
以下是我学习的心得体会:一、理论结合实践学摄影是一门需要理论和实践相结合的过程,上午老师讲了摄影的种类,对焦的方式,摄影画面的对比,清晰图像的自动获取,各种镜头的运用,曝光控制等许多理论知识。
,通过上午老师对摄影知识的一些理论讲解之后,下午便对上午的理论知识进行实践操作,让我们学以致用,以便加深映像,这样更有助于我们的学习。
二、多拍多看下午带我们去西柏坡纪念馆、水库周边等地实践学习。
让我了解到光与影的合作,光圈与速度的配合,可以是千变万化的,同一个画面用不同的拍摄方法及角度,可以是完全不同风格的作品。
要多拍多看,多积累经验,多提高自己的审美意识。
李老师告诉我们:“训练拍摄的时候尽量不要吝啬相机的快门,我们要多进行一些旁拍,抓取一些精彩的瞬间,往往效果会令你意想不到,平时要多去记录一些生活中无意间遇到的美好的画面”。
摄影艺术是源于生活而高于生活,很多精彩的画面都是从生活中提取出来的。
我们平时尽量多看一些好的作品,多去分析、总结其作品的独特之处,从中获取一些启发。
其实不光是摄影,对待我们工作的任何一件事情,都是一样,只有多做多总结才能把事情做好。
三、注重细节俗话说细节决定成败,摄影也是如此。
测量是一项精确的工作,通过测量学的学习和实习是我在脑海中形成了一个基本的测量学轮廓。
测量学是研究地球的形状和大小以及地面点位的科学,它的内容主要包括测定和测设两个部分,测量学要完成的任务在宏观上是进行精密控制,测量和建立国家控制网,提供地形测绘图和大型工程测量所需要的基本控制;为空间科技和军事工作提供精确的坐标资料;做为技术手段参与对地球形状、大小、地壳形变,及地震预报等方面的科学研究。
从微观方面讲,测量学的任务为按照要求测绘各种比例尺地形图;为各个领域提供定位和定向服务;管理开发土地,建立工程控制网,进行施工放样,辅助设备安装,监测建筑物变形的任务以及为工程竣工服务等。
从本质上讲,测量学主要完成的任务就是确定地面目标在三维空间的位置以及随时间的变化。
而这一任务是是有测量学的三个基本元素的测量实现的:角度测量、距离测量、高程测量。
在信息社会里,测量学的作用日益重要,测量成果做为地球信息系统的基础,提供了最基本的空间位置信息。
过件信息高速公路,基础地理信息系统及各种专题的和专业的地理信息系统均迫切要求建立具有统一标准,可共享的测量数据库和测量成果信息系统。
因此测量成为获取和更新基础地理信息最可靠,最准确的手段。
测量学的分类有很多种如:普通测量学、大地测量学、摄影测量学、工程测量学,和水运测量学等多种分支学科。
作为装饰设计专业的学生,我们要重点学习的是普通测量学和工程测量学。
普通测量学是基础,工程测量学是专业分支。
我们要掌握工程建设在勘测、设计、施工和管理阶段进行的各种测量工作相关知识。
一、实习目的与要求:测量学教学实习是测量学的重要组成部分,其目的是巩固、扩大和加深学生从课堂所学的理论知识,获得测量实际工作的初步经验和基本技能,着重培养学生的独立工作能力,进一步熟练掌握测量仪器的操作技能,提高计算和绘图能力,并对测绘小区域大比例尺地形图的全过程有一个全面和系统的认识,为今后解决实际工作中的有关测量问题打下坚实的基础。
测绘实习报告范文汇总八篇测绘实习报告篇1测量是一项精确的工作,通过测量学的学习和实习是我在脑海中形成了一个基本的测量学轮廓。
测量学是研究地球的形状和大小以及地面点位的科学,它的内容主要包括测定和测设两个部分,测量学要完成的任务在宏观上是进行精密控制,测量和建立国家控制网,提供地形测绘图和大型工程测量所需要的基本控制;为空间科技和军事工作提供精确的坐标资料;作为技术手段参与对地球形状、大小、地壳形变,及地震预报等方面的科学研究。
从微观方面讲,测量学的任务为按照要求测绘各种比例尺地形图;为各个领域提供定位和定向服务;管理开发土地,建立工程控制网,进行施工放样,辅助设备安装,监测建筑物变形的任务以及为工程竣工服务等。
从本质上讲,测量学主要完成的任务就是确定地面目标在三维空间的位置以及随时间的变化。
而这一任务是是有测量学的三个基本元素的测量实现的:角度测量、距离测量、高程测量。
在信息社会里,测量学的作用日益重要,测量成果作为地球信息系统的基础,提供了最基本的空间位置信息。
过件信息高速公路,基础地理信息系统及各种专题的和专业的地理信息系统均迫切要求建立具有统一标准,可共享的测量数据库和测量成果信息系统。
因此测量成为获取和更新基础地理信息最可靠,最准确的手段。
测量学的分类有很多种如:普通测量学、大地测量学、摄影测量学、工程测量学,和水运测量学等多种分支学科。
作为装饰设计专业的学生,我们要重点学习的是普通测量学和工程测量学。
普通测量学是基础,工程测量学是专业分支。
我们要掌握工程建设在勘测、设计、施工和管理阶段进行的各种测量工作相关知识。
一、实习目的与要求:测量学教学实习是测量学的重要组成部分,其目的是巩固、扩大和加深学生从课堂所学的理论知识,获得测量实际工作的初步经验和基本技能,着重培养学生的独立工作能力,进一步熟练掌握测量仪器的操作技能,提高计算和绘图能力,并对测绘小区域大比例尺地形图的全过程有一个全面和系统的认识,为今后解决实际工作中的有关测量问题打下坚实的基础。
测量学实验报告总结1、进一步巩固和加深测量基本理论和技术方法的理解和掌握并使之系统化、整体化;2、通过实习的全过程,提升使用测绘仪器的操作能力、测量计算能力和绘图能力,掌握测量基本技术工作的原则和步骤;3、掌握路线工程测量基本工作:中线测量和纵断面测量。
4、在各个施行性环节培养应用测量基本理论综合分析问题和解决问题的能力,训练严谨的科学态度和工作作风。
二、实训内容及步骤:本次实习共计一周,实习的主要地点主要是学校周边地区和校园内。
本次实习采纳教学与实习相结合的方式进行,也就是先由老师教授实习的内容和应注意的要求,然后同学们出去实习,完成当天安排的实习内容。
本次实习的安排主要有:〔1〕一般水准测量〔2〕四等水准测量〔3〕纵断面测量及绘图〔4〕场地抄平测量及绘图〔5〕闭合导线测量及绘图。
步骤简要:1〕拟定施测路线。
选一已知水准点作为高程起始点,记为BMi,选择有一定长度、一定高差的路线作为施测路线。
然后开始施测第一站。
以已知高程点BMi作后视,在其上立尺,在施测路线的前进方向上选择适当位置为第一个立尺点〔转点1〕作为前视点,在转点1处放置尺垫,立尺〔前视尺〕。
将水准仪安排在前后视距大致相等的位置〔常用步测〕,读数a1,记录;再转动望远镜瞄前尺读数b1,并记录2〕计算高差。
h1=后视读数一前视读数=a1-b1,将结果记入高差栏中。
然后将仪器迁至第二站,第一站的前视尺不动变为第二站的后视尺,第一站的后视尺移到转点2上,变为第二站的前视尺,按与第一站相同的方法进行观测、记录、计算。
按以上程序依选定的水准路线方向继续施测,直至回到起始水准点BM1为止,完成最后一个测站的观测记录。
3〕成果检核。
计算闭合水准路线的高差闭合差;假设高差闭合差超限,应先进行计算校核,假设非计算问题,则应进行返工重测。
我们按时完成了实习计划,而且完成状况很好。
实习过程中控制点的选取很重要,控制点应选在土质坚实、便于储存和安排水准仪的地方,相邻导线点间应通视合格,便于测角量距,边长约60米至100米左右。
第1篇一、引言随着科技的飞速发展,测绘学在我国国民经济和社会发展中扮演着越来越重要的角色。
为了提高测绘专业学生的实践能力,增强就业竞争力,我国高校普遍开展了测绘学实训课程。
本报告以某高校测绘学实训课程为例,详细介绍了实训过程、成果及心得体会。
二、实训目的与意义1. 实训目的(1)掌握测绘基本理论、基本方法和基本技能;(2)提高学生的实际操作能力,培养动手能力;(3)培养学生的团队合作精神和创新意识;(4)为后续专业课程的学习打下坚实基础。
2. 实训意义(1)有助于提高学生的综合素质,增强就业竞争力;(2)有助于培养学生的实际操作能力,提高教学质量;(3)有助于推动测绘行业的发展,为我国测绘事业贡献力量。
三、实训内容与过程1. 实训内容本次实训主要包括以下内容:(1)野外地形测量;(2)室内数字化成图;(3)遥感图像处理;(4)GPS定位技术;(5)测绘数据处理与分析。
2. 实训过程(1)野外地形测量实训过程中,学生分组进行野外地形测量。
首先,了解地形测量基本原理和操作流程;然后,利用全站仪、水准仪等仪器进行实地测量;最后,对测量数据进行整理和分析。
(2)室内数字化成图学生利用数字化成图软件进行室内数字化成图实训。
实训内容包括:地形图绘制、地形图编辑、地形图属性管理等。
通过实训,学生掌握了数字化成图的基本操作。
(3)遥感图像处理遥感图像处理实训旨在让学生了解遥感图像处理的基本原理和方法。
实训内容包括:遥感图像预处理、图像增强、图像分类等。
通过实训,学生掌握了遥感图像处理的基本技能。
(4)GPS定位技术GPS定位技术实训让学生了解GPS定位原理和操作方法。
实训内容包括:GPS接收机操作、数据采集与处理、定位精度分析等。
通过实训,学生掌握了GPS定位技术的基本操作。
(5)测绘数据处理与分析测绘数据处理与分析实训旨在培养学生对测绘数据的处理和分析能力。
实训内容包括:数据质量评估、数据预处理、数据分析与建模等。
第1篇一、实验目的1. 理解立体影像的观察原理和过程。
2. 掌握使用立体镜观察立体影像的方法。
3. 分析立体影像中同名像点的识别与匹配。
4. 了解立体影像在摄影测量中的应用。
二、实验原理立体影像观察是基于双眼视觉原理,通过观察两个不同视角拍摄的影像,在大脑中形成三维空间的感知。
实验过程中,需要确保两张影像在空间位置、比例尺和同名像点等方面的一致性,以实现立体视觉效果。
三、实验仪器与材料1. 桥式立体镜2. 两对立体像片3. 纸、笔等记录工具四、实验过程1. 实验准备- 将两对立体像片准备好,确保每对像片都由左片和右片组成。
- 熟悉立体镜的结构和使用方法。
2. 立体影像观察- 将左片和右片分别放入立体镜的左右两侧。
- 通过立体镜观察两张影像,注意调整立体镜的焦距,使影像清晰。
- 观察过程中,注意以下要点:- 判断影像中物体的远近。
- 识别同名像点,即左片和右片中对应同一物体的像点。
- 分析立体影像中物体的空间关系。
3. 同名像点识别与匹配- 在左片和右片中寻找同名像点,确保它们的位置关系与实际空间关系一致。
- 使用纸和笔记录同名像点的位置,以便后续分析。
4. 立体影像分析- 根据同名像点的位置,分析立体影像中物体的空间关系。
- 记录观察到的现象和结论。
5. 实验总结- 对实验过程进行总结,包括实验方法、观察结果和分析结论。
- 分析实验过程中遇到的问题和解决方法。
五、实验结果与分析1. 立体影像观察结果- 成功观察到立体影像,感受到物体的三维空间效果。
- 能够识别同名像点,并分析其位置关系。
2. 同名像点识别与匹配- 在左片和右片中成功识别同名像点,并记录其位置。
- 分析同名像点的位置关系,与实际空间关系一致。
3. 立体影像分析- 通过同名像点的分析,成功判断出物体的远近和空间关系。
- 实验结果与预期相符。
六、实验结论1. 立体影像观察是一种有效的三维空间感知方法。
2. 使用立体镜观察立体影像,能够帮助识别同名像点和分析物体空间关系。
测量学水准测量实习报告测量学水准测量实习报告4篇测量学是研究地球的形状和大小以及确定地面(包括空中、地下和海底)点位的科学。
实习报告是学生在实习过程中必须完成的一项实习作业,主要用于加深实习生对知识和技能的理解和认识。
你是否在找正准备撰写“测量学水准测量实习报告”,下面我收集了相关的素材,供大家写文参考!测量学水准测量实习报告篇1回顾这两周的实习生活,虽然不得不接受黑色肤色的自己,不得不感受精疲力竭的真谛,可是我们在收获一种技能的同时,也收获了一段值得回味的经历。
由于测量学是一门实践性很强的学科,而测量实习对培养学生思维和动手能力、掌握具体工作程序和内容起着相当重要的作用。
虽然我们在学校有过类似的测量,但是难度根本无法与野外相比,我们的目的在于在测量实习中巩固课本中所学的知识,解决遗留的问题,发现学习中的不足,弥补遗漏掉的知识点。
每天早晨,我们抗拒疲劳,披星戴月,踩着朝露,扛着仪器,大刀阔斧的走向我们的实习基地;烈日下,我们挑战极限,在酷暑中,我们挥洒我们的汗水,展示我们的风采;晚上,我们整理内业,相互交流。
我们的不怕苦、不怕累,团结协作的精神,来自与我们对知识的渴望,来自与我们对建设祖国的强烈愿望。
当然,我们实习成功,不仅是通过我们自己的努力,更要归功于我们的老师,如果不是他们的任劳任怨,不辞辛苦,我们根本就不可能完成这样艰巨的任务,当我们想放弃时,是老师鼓励,让我们重拾自信,坚持到底。
当我们犯错时,老师都是很宽容的原谅我们,他们经常挂到嘴边的一句话就是“你们还处在学生阶段,允许犯错,关键就是有错就改”。
当我们休息的时候,老师常常和我们打成一片,和我们讨论一些测量方面的知识,也讲讲做人方面的道理,使我们受益匪浅。
就在这样艰苦的岁月,老师我们同甘共苦,才有了我们实为期25天的测量学实习已经结束。
回顾这两周的实习生活,虽然不得不接受黑色肤色的自己,不得不感受精疲力竭的真谛,可是我们在收获一种技能的同时,也收获了一段值得回味的经历。
一.名词解释1.解析相对定向:根据摄影时同名光线位于一个核面的条件,利用共面条件方程解算立体像对中两张像片的相互关系参数,使同名光线对对相交。
2.GPS辅助空中三角测量:利用载波相位差分GPS 动态定位技术获取摄影时刻摄影中心的三维坐标,将其作为带权观测值引入摄影测量区域网平差中,整体确定物方点坐标和像片外方位元素并对其质量进行评定的理论和方法。
3.GPS 辅助空中三角测量的作用是大量减少甚至完全免除地面控制点,缩短成图周期,提高生产效率,降低生产成本。
4.像主点:相机主光轴与像平面的交点。
4.主合点:地面上一组平行于摄影方向线的直线在像片上构像的交点。
5航向重叠:同一条航线上相邻两张像片的重叠度。
6旁向重叠:两相邻航带摄区之间的重叠。
8景深:远景与近景之间的纵深距离称为景深9.单片空间后方交会:利用单张影像覆盖范围内一定数量的地面控制点与其对应的像点,据共线条件方程反求影像外方位元素的方法。
10.单片空间后方交会:在单张像片上,利用一定数量的地面控制点及其对应的像点坐标,根据共线条件方程求解像片的 6 个外方位元素。
11.影像的内方位元素:是描述摄影中心与像片之间相关位置的参数。
12.影像的外方位元素:表示摄影中心和像片(或摄影光束)在地面坐标系中的位置和姿态的参数为外方位元素。
一张像片的外方位元素包括六个参数:其中三个是直线元素,用于描述摄影中心的空间坐标值;另外三个是角元素,用于描述像片的空间姿态。
13.空间前方交会:已知立体像对中两张像片的内、外方位元素和像点坐标,确定相应地面点在物方空间坐标系中坐标的方法。
14.空间后方交会:利用一定数量的地面控制点,根据共线条件方程或反求像片的外方位元素这种方法称为单张像片的空间后方交会。
15.摄影基线:相邻两摄站点之间的连线。
15.核线:立体像对中,同名光线与摄影基线所组成核面与左右像片的交线。
16.相对定向元素:恢复相邻像片间摄影光束相互位置关系的参数。
摄影测量实习心得体会6篇篇1时光荏苒,转眼间,我在摄影测量实习的道路上已经走过了三个月。
回首这段时光,我感慨万千,不仅对摄影测量有了更深刻的理解,也收获了许多宝贵的经验。
一、实习初体验,摸索中前行记得刚开始实习时,我对摄影测量一无所知,甚至对摄影机的基本操作都感到陌生。
面对这样的挑战,我并没有退缩,而是勇敢地踏入了这个领域。
在实习过程中,我不断摸索,不断学习,从最基本的摄影技巧开始,逐渐掌握了一些基本的摄影测量技能。
在这个过程中,我遇到了许多困难和挑战。
例如,如何准确地识别图像中的特征点、如何有效地进行图像配准、如何精确地进行三维重建等。
这些难题一度让我感到困惑和迷茫。
然而,我并没有放弃,而是不断查阅资料、向老师请教、与同学讨论,逐渐找到了解决问题的方法。
二、深入学习,提升技能随着时间的推移,我对摄影测量的理解逐渐深入,技能也得到了不断提升。
我不仅掌握了各种摄影测量的基本理论和方法,还学会了一些高级的应用技巧。
例如,我学会了如何使用先进的图像处理软件进行图像优化、如何进行高精度的三维重建、如何运用摄影测量技术进行地形测绘等。
在实习过程中,我还注重理论与实践相结合。
我不仅在课堂上学习理论知识,还在实践中不断运用和验证这些理论。
通过反复实践和总结,我逐渐形成了自己的摄影测量技能体系,能够独立完成一些较为复杂的摄影测量任务。
三、团队协作,共同成长在实习过程中,我深刻体会到团队协作的重要性。
摄影测量工作往往需要多人合作,共同完成一个任务。
在这个过程中,我们需要相互信任、互相支持、互相学习,共同面对挑战和困难。
我所在的实习团队是一个充满凝聚力和战斗力的集体。
我们一起学习、一起讨论、一起实践,共同成长和进步。
在团队中,我不仅学到了许多宝贵的经验和技能,还培养了团队协作精神和沟通能力。
四、未来展望,继续前行三个月的摄影测量实习已经结束,但我的学习和探索之路还在继续。
在未来的学习和工作中,我将继续深入学习摄影测量的理论知识和应用技巧,不断提升自己的技能水平。
大学生工程测量实习报告(精选5篇)大学生工程测量实习报告(篇1)校内集中实训是在教学过程中必不可少的环节,以小组为单位,每组六人。
每组组长一名,副组长一名,安全员一名。
进行了为期三周的实训,通过实训使我们能够从理论高度上升到实践高度,提高我们的计算能力和应对事物的处理方法,能够更好的实现理论与实践的相结合,能够为我们今后的工作和学习奠定良好的基础。
实践是检验真理的唯一标准,只有锻炼我们的实际能力,才能让我们在未来面对选择更有信心和勇气。
一、实习目的1、掌握水准仪的安置、瞄准、精平、读数。
2、掌握四等水准测量的观测、记录、计算和校核方法。
3、熟悉四等水准测量的主要技术要求、水准路线的布设及闭合差的计算。
二、实习计划1、学生分组;实习小组由四至六人组成,分别担任观测员、记录员、扶尺员,设组长、副组长、安全员各一名。
2、仪器配置:每小组配备DS3水准仪一台、水准尺两根、记录表格、铅笔若干、尺垫两个。
3、实习时间:两学时。
4、实习场地:xx学院校园周边。
5、实习内容:每组布设一条五段闭合水准路线,计算各待点高程;进行高差闭合差的计算与调整。
三、实习步骤1、选择一条闭合水准路线,按顺序逐站进行观测(四等水准路线一般沿道路布设,尽量避开土质松软、水准点的距离为x公里。
水准点选在地基稳固、能长久保存和便于观测的地点)。
2、安置水准仪,张开三脚架,调节其长度,并把连接螺旋拧紧;其次,是进行粗平,先将三个脚螺旋的高度调成一样,并处以中间的位置,然后有用前后移动脚架的一条腿,使居中圆水准气泡居中;然后在读数之前,应用微倾螺旋调整管水准气泡居中。
3、在距起点与第一个转点大致等距离架设水准仪,在起点与第一个待测点竖立水准尺。
4、整平:先转动两个脚螺旋,使圆水准器的水准气泡移向两脚螺旋的中间位置。
使水泡居中。
5、观测:用水准仪读取水准尺的起点与待测点黑面上、下丝读数,同时记录观测数据,符合限差要求,用水准仪读取起点与待测点的黑面和红面中丝读数,记入数据。
中南大学本科生课程设计(实践)任务书、设计报告(摄影测量与遥感概论)题目:空间后方交会-前交院系:地球科学与信息物理学院班级:测绘1201班********学号:***********名:***二零一四年十一月一、实验目的通过对数字影像空间后交前交的程序设计实验,要求我们进一步理解和掌握影像外方位元素的有关理论、原理和方法。
利用计算机程序设计语言编写摄影测量空间交会软件进行快速确定影响的外方位元素及其精度,然后通过求得的外方位元素求解位置点的地面摄影测量坐标,达到通过摄影测量量测地面地理坐标的目的。
二、实验要求1.用C、VB、C++或MA TLAB语言编写空间后方交会-空间前方交会程序2.提交实习报告:程序框图、程序源代码、计算结果、体会3.计算结果:像点坐标、地面坐标、单位权中误差、外方位元素及其精度4.完成时间:11月11日前完成三、实验数据四、实验思路➢利用后方交会得出两张相片各自的外方位元素1)获取已知数据影响比例尺m,,内方位元素x0 、y0 、f ,控制点的地面摄影测量坐标Xtp, Ytp, Ztp2)量测控制点左片和右片的像点坐标 x,y3)确定未知数初值 Xs0, Ys0, Zs0, ω,φ,κ(线元素可用控制点均值代替,角元素可用0初始化),即:∑=Xtp X 41s0,∑=Ytp Y 41s0,f Z *m s =ω=0,φ=0,κ=0 4)计算旋转矩阵R5)利用共线方程逐点计算像点坐标的近似值 6)组成误差方程式并法化 7)解求外方位元素改正数8)检查迭代是否收敛(改正值是否小于某一特定常数) ➢ 利用解出的外方位元素进行前方交会1)获取已知数据x0 , y0 , f, XS1, YS1, ZS1,φ1,ω1,κ1 , XS2, YS2, ZS2,φ2,ω2,κ22)量测像点坐标 x1,y1 ,x2,y23)由外方位线元素计算基线分量BX, BY, BZ4)由外方位角元素计算像空间辅助坐标 X1, Y1, Z1 , X2, Y2, Z2 5)计算点投影系数 N1 , N2 6)计算地面坐标 XA, YA, ZA五、实验过程➢ 程序流程图此过程完成空间后方交会求解像片的外方位元素,其中改正数小于限差(0.00003,相当于0.1的角度值)为止。
在这个过程中采用迭代的方法,是外方位元素逐渐收敛于理论值,每次迭代所得的改正数都应加到上一次的初始值之中。
➢程序中的类与其主要成员、主要函数设计ControlPointData类:控制点、未知点的点名、地面摄影测量坐标、左右像片坐标Photo类:左右片的内方位元素、外方位元素及其精度Fileheader类:相片对象、控制点个数、未知点个数、控制点数组、未知点数组Adjustment类:头文件对象、控制点数组、未知点数组、控制点个数、未知点个数、bool LoadData(const CString& strFileName,CString& strData);//读取已知函数CString* SplitString(CString str,char split, int& iSubStrs);//分割函数void adjustment1(CString &OutData);//后方交会函数void adjustment2(CString &OutData);//前方交会函数void SaveData(CString &OutData);//保存结果➢读取数据文件格式(.txt)elements of interior orientation,0,0,150.000GivenControlPoint,4GCP1,16.012,79.963,-73.93,78.706,5083.205,5852.099,527. 925GCP2,88.56,81.134,-5.252,78.184,5780.02,5906.365,571.54 9GCP3,13.362,-79.37,-79.122,-78.879,5210.879,4258.446,46 1.81GCP4,82.24,-80.027,-9.887,-80.089,5909.264,4314.283,455 .484UnKnownPoint,51,51.758,80.555,-39.953,78.4632,14.618,-0.231,-76.006,0.0363,49.88,-0.782,-42.201,-1.0224,86.14,-1.346,-7.706,-2.1125,48.035,-79.962,-44.438,-79.736End Data➢程序代码ControlPointData.hclass ControlPointData : public CDialog{public:CString strID;//控制点名double x1,y1,x2,y2;//左片、右片像点坐标double Xtp,Ytp,Ztp;//地面摄影测量坐标double Xs,Ys,Zs;//物方空间坐标doubleσ;//单位权中误差bool state;};class Photos{public:int x0,y0,f,m;//内方位元素doubleφ,ω,κ,φ,ω,κ,Xs1,Xs2,Ys1,Ys2,Zs1,Zs2;//外方位元素doubleσ;//单位权中误差doubleσXs1,σXs2,σYs1,σYs2,σZs1,σZs2;doubleσφ,σω,σκ,σφ,σω,σκ;//协因数Photos(void){x0=0;y0=0;f=0;}};class fileheader{public:Photos photo;//内方位元素int StationCount;//控制点个数int OriAngleCount;//测站个数int UnKnownPointCount;//待定点个数ControlPointData *StationCoor;//控制点坐标信息ControlPointData *StationCoorJ;//控制点坐标信息ControlPointData *UnKnownPoint;//待定点坐标信息};Adjustment.h#pragma once#include"ontrolPointData.h"#include<locale.h>#include"math.h"#include"Matrix.h"class Adjustment{public:fileheader header;//头文件ControlPointData *KnownPoint;//已知点int KnownPointCount;//已知点个数int UnKnownPointCount;//待定点个数public:Adjustment(void);~Adjustment(void);public:bool LoadData(const CString& strFileName,CString& strData);//读取已知函数CString* SplitString(CString str,char split, int& iSubStrs);//分割函数public:void adjustment1(CString &OutData);//后方交会函数void adjustment2(CString &OutData);//前方交会函数void SaveData(CString &OutData);//保存结果};Adjustment.cpp#include"StdAfx.h"#include"Adjustment.h"#include"ontrolPointData.h"#include"Space resection and forward intersection.h"#include"Space resection and forward intersectionDlg.h"#include"Adjustment.h"#include<locale.h>#include"math.h"#include"Matrix.h"#define pai 3.1415926CString* Adjustment::SplitString(CString str,char split, int& iSubStrs)//分割函数{int iPos = 0; //分割符位置int iNums = 0; //分割符的总数CString strTemp = str;CString strRight;//先计算子字符串的数量while (iPos != -1){iPos = strTemp.Find(split);if (iPos == -1){break;}strRight = strTemp.Mid(iPos + 1, str.GetLength());strTemp = strRight;iNums++;}if (iNums == 0) //没有找到分割符{//子字符串数就是字符串本身iSubStrs = 1;return NULL;}//子字符串数组iSubStrs = iNums + 1; //子串的数量= 分割符数量+ 1CString* pStrSplit;pStrSplit = new CString[iSubStrs];strTemp = str;CString strLeft;for (int i = 0; i < iNums; i++){iPos = strTemp.Find(split);//左子串strLeft = strTemp.Left(iPos);//右子串strRight = strTemp.Mid(iPos + 1, strTemp.GetLength());strTemp = strRight;pStrSplit[i] = strLeft;}pStrSplit[iNums] = strTemp;return pStrSplit;}bool Adjustment::LoadData(const CString& strFileName,CString& strData) {CStdioFile sf;if(!sf.Open(strFileName, CFile::modeRead)) return false;CString strLine;int n1;CString *strTmp=NULL;while(strLine!=_T("End Data"))//读取文件头{sf.ReadString (strLine);strData+=strLine;strData+=_T("\r\n");if(strLine!=_T("End Data")){strTmp = SplitString(strLine, ',',n1);}elsebreak;if(strTmp[0]=="elements of interior orientation"){header.photo.x0=_tstof(strTmp[1]);header.photo.y0=_tstof(strTmp[2]);header.photo.f=_tstof(strTmp[3]);}else if(strTmp[0]=="GivenControlPoint"){header.StationCount =_ttoi(strTmp[1]);header.StationCoor =newControlPointData[header.StationCount];if(strTmp!=NULL)//释放内存{delete[] strTmp;strTmp=NULL;}for(int i=0;i<header.StationCount;i++){sf.ReadString (strLine);strData+=strLine;strData+=_T("\r\n");strTmp = SplitString(strLine, ',',n1);header.StationCoor[i].strID=strTmp[0];header.StationCoor[i].x1 =_tstof(strTmp[1]);header.StationCoor[i].y1=_tstof(strTmp[2]);header.StationCoor[i].x2 =_tstof(strTmp[3]);header.StationCoor[i].y2 =_tstof(strTmp[4]);header.StationCoor[i].Xtp=_tstof(strTmp[5]);header.StationCoor[i].Ytp =_tstof(strTmp[6]);header.StationCoor[i].Ztp=_tstof(strTmp[7]);if(strTmp!=NULL)//释放内存{delete[] strTmp;strTmp=NULL;}}}else if(strTmp[0]=="UnKnownPoint"){header.UnKnownPointCount =_ttoi(strTmp[1]);header.UnKnownPoint=newControlPointData[header.UnKnownPointCount];if(strTmp!=NULL)//释放内存{delete[] strTmp;strTmp=NULL;}for(int i=0;i<header.UnKnownPointCount;i++) {sf.ReadString (strLine);strData+=strLine;strData+=_T("\r\n");strTmp = SplitString(strLine, ',',n1);header.UnKnownPoint[i].strID=strTmp[0];header.UnKnownPoint[i].x1 =_tstof(strTmp[1]);header.UnKnownPoint[i].y1=_tstof(strTmp[2]);header.UnKnownPoint[i].x2 =_tstof(strTmp[3]);header.UnKnownPoint[i].y2 =_tstof(strTmp[4]);header.UnKnownPoint[i].Xtp=0;header.UnKnownPoint[i].Ytp =0;header.UnKnownPoint[i].Ztp=0;if(strTmp!=NULL)//释放内存{delete[] strTmp;strTmp=NULL;}}}}if(strTmp!=NULL)//释放内存{delete[] strTmp;strTmp=NULL;}sf.Close();//关闭文件return true;}const double pi=3.1415926;void Adjustment::adjustment1(CString &OutData)//单片后交{CMatrix B,L,X;B.SetSize(2*header.StationCount,6);//系数阵L.SetSize(2*header.StationCount,1);//常数项阵X.SetSize(6,1);//未知数改正数之和的阵CMatrix R(3,3),Xb(3,1),bb(3,1);//R为旋转矩阵,Xb为X-Xs,Y-Ys,Z-Zs的矩阵,bb为X-,Y-,Z-的矩阵CMatrix Dx(6,1),Nbb,Nvv;//Dx为改正数阵header.photo.m=10000;double Xs0,Ys0,Zs0,φ,ω,κ;//未知数初值//确定未知数初值double x=0,y=0,z=0;for(int i=0;i<header.StationCount;i++){x+=header.StationCoor[i].Xtp;y+=header.StationCoor[i].Ytp;z+=header.StationCoor[i].Ztp;}Xs0=x/header.StationCount;Ys0=y/header.StationCount;Zs0=header.photo.m*header.photo.f/1000;φ=0;ω=0;κ=0;double n=0;//计算左片外方位元素***************************************************************// //***************************************************************** ****************//do{n++;//计算旋转矩阵Rdouble a1,a2,a3,b1,b2,b3,c1,c2,c3;a1=cos(φ)*cos(κ)-sin(φ)*sin(ω)*sin(κ); R(0,0)=a1;a2=-cos(φ)*sin(κ)-sin(φ)*sin(ω)*cos(κ); R(0,1)=a2;a3=-sin(φ)*cos(ω); R(0,2)=a3;b1=cos(ω)*sin(κ); R(1,0)=b1;b2=cos(ω)*cos(κ); R(1,1)=b2;b3=-sin(ω); R(1,2)=b3;c1=sin(φ)*cos(κ)+cos(φ)*sin(ω)*sin(κ); R(2,0)=c1;c2=-sin(φ)*sin(κ)+cos(φ)*sin(ω)*cos(κ); R(2,1)=c2;c3=cos(φ)*cos(ω); R(2,2)=c3;//计算像点坐标的近似值,构建B,L矩阵for(int i=0; i<header.StationCount;i++){bb(0,0)=a1*(header.StationCoor[i].Xtp-Xs0)+b1*(header.StationCoor[i].Yt p-Ys0)+c1*(header.StationCoor[i].Ztp-Zs0);bb(1,0)=a2*(header.StationCoor[i].Xtp-Xs0)+b2*(header.StationCoor[i].Yt p-Ys0) //单位为m+c2*(header.StationCoor[i].Ztp-Zs0);bb(2,0)=a3*(header.StationCoor[i].Xtp-Xs0)+b3*(header.StationCoor[i].Yt p-Ys0)+c3*(header.StationCoor[i].Ztp-Zs0);double t1=header.StationCoor[i].x1;//(X-X0)(Y-Y0)的值,单位为mmdouble t2=header.StationCoor[i].y1;L(2*i,0)=(header.StationCoor[i].x1+header.photo.f*bb(0,0)/bb(2,0))/1000 ;L(2*i+1,0)=(header.StationCoor[i].y1+header.photo.f*bb(1,0)/bb(2,0) )/1000;B(2*i,0)=(a1*header.photo.f+a3*t1)/bb(2,0)/1000;B(2*i,1)=(b1*header.photo.f+b3*t1)/bb(2,0)/1000;B(2*i,2)=(c1*header.photo.f+c3*t1)/bb(2,0)/1000;B(2*i,3)=(t2*sin(ω)-(t1/header.photo.f*(t1*cos(κ)-t2*sin(κ))+hea der.photo.f*cos(κ))*cos(ω))/1000;B(2*i,4)=(-header.photo.f*sin(κ)-t1/header.photo.f*(t1*sin(κ)+t2* cos(κ)))/1000;B(2*i,5)=t2/1000;B(2*i+1,0)=(a2*header.photo.f+a3*t2)/bb(2,0)/1000;B(2*i+1,1)=(b2*header.photo.f+b3*t2)/bb(2,0)/1000;B(2*i+1,2)=(c2*header.photo.f+c3*t2)/bb(2,0)/1000;B(2*i+1,3)=(-t1*sin(ω)-(t2/header.photo.f*(t1*cos(κ)-t2*sin(κ))-header.photo.f*sin(κ))*cos(ω))/1000;B(2*i+1,4)=(-header.photo.f*cos(κ)-t2/header.photo.f*(t1*sin(κ)+t 2*cos(κ)))/1000;B(2*i+1,5)=-t1/1000;}//平差计算Nbb=(~B)*B;Nvv=(~B)*L;Dx=(Nbb.Inv())*Nvv;Xs0+=Dx(0,0);Ys0+=Dx(1,0);Zs0+=Dx(2,0);φ+=Dx(3,0);ω+=Dx(4,0);κ+=Dx(5,0);}while((fabs(Dx(0,0))>0.001)||(fabs(Dx(1,0))>0.001)||(fabs(Dx(2,0)) >0.001)||(fabs(Dx(3,0)*206265)>1)||(fabs(Dx(4,0)*206265)>1)||(fabs(Dx(5,0)*206265)>1));header.photo.Xs1=Xs0;header.photo.Ys1=Ys0;header.photo.Zs1=Zs0;header.photo.φ=φ;header.photo.ω=ω;header.photo.κ=κ;CMatrix V=B*Dx-L;CMatrix Vt=(~V)*V;//改正数转置double m0=sqrt(Vt(0,0)/(2*header.StationCount-6));CMatrix Q=Nbb.Inv();//协因数阵//求解点位误差header.photo.σXs1=sqrt(Q(0,0))*m0;header.photo.σYs1=sqrt(Q(1,1))*m0;header.photo.σZs1=sqrt(Q(2,2))*m0;header.photo.σφ=sqrt(Q(3,3))*m0;header.photo.σω=sqrt(Q(4,4))*m0;header.photo.σκ=sqrt(Q(5,5))*m0;CString data;data.Format(_T("%s\r\n"),_T("后方交会成果"));OutData+=data;OutData+="\r\n";data.Format(_T("%s %s %.f"),_T("左片"),_T("迭代次数"),n);OutData+=data;OutData+=("\r\n\r\n");data.Format(_T(" %s\r\n %s %s %s %s %s %s\r\n"), _T("左片外方位元素(线元素为m,角元素为度)"),_T("Xs"),_T("Ys"),_T("Zs"),_T("φ"),_T("ω"),_T("κ"));OutData+=data;data.Format(_T("%.4f %.4f %.4f %.4f %.4f %.4f\r\n\r\n"),header.photo.Xs1,header.photo.Ys1,header.photo.Zs1,header.photo.φ*180/pai,header.photo.ω*180/pai,header.photo.κ*180/pai);OutData+=data;data.Format(_T("%s\r\n%s %.3f\r\n\r\n %s %s%s %s %s %s\r\n"),_T("左片精度(线元素精度为m,角元素精度为″)"),_T("单位权中误差m0"),m0,_T("σXs"),_T("σYs"),_T("σZs"),_T("σφ"),_T("σω"),_T("σκ"));OutData+=data;data.Format(_T(" %.4f %.4f %.4f %.4f %.4f%.4f\r\n"),header.photo.σXs1,header.photo.σYs1,header.photo.σZs1,header.photo.σφ*180/pai*3600,header.photo.σω*206265,header.photo.σκ*206265);OutData+=data;OutData+=("\r\n\r\n");//计算右片外方位元素****************************************************************// //************************************************************************************//Xs0=x/header.StationCount;Ys0=y/header.StationCount;Zs0=header.photo.m*header.photo.f/1000;φ=0;ω=0;κ=0;n=0;do{n++;//计算旋转矩阵Rdouble a1,a2,a3,b1,b2,b3,c1,c2,c3;a1=cos(φ)*cos(κ)-sin(φ)*sin(ω)*sin(κ); R(0,0)=a1;a2=-cos(φ)*sin(κ)-sin(φ)*sin(ω)*cos(κ); R(0,1)=a2;a3=-sin(φ)*cos(ω); R(0,2)=a3;b1=cos(ω)*sin(κ); R(1,0)=b1;b2=cos(ω)*cos(κ); R(1,1)=b2;b3=-sin(ω); R(1,2)=b3;c1=sin(φ)*cos(κ)+cos(φ)*sin(ω)*sin(κ); R(2,0)=c1;c2=-sin(φ)*sin(κ)+cos(φ)*sin(ω)*cos(κ); R(2,1)=c2;c3=cos(φ)*cos(ω); R(2,2)=c3;//计算像点坐标的近似值,构建B,L矩阵for(int i=0; i<header.StationCount;i++){bb(0,0)=a1*(header.StationCoor[i].Xtp-Xs0)+b1*(header.StationCoor[i].Yt p-Ys0)+c1*(header.StationCoor[i].Ztp-Zs0);bb(1,0)=a2*(header.StationCoor[i].Xtp-Xs0)+b2*(header.StationCoor[i].Yt p-Ys0) //单位为m+c2*(header.StationCoor[i].Ztp-Zs0);bb(2,0)=a3*(header.StationCoor[i].Xtp-Xs0)+b3*(header.StationCoor[i].Yt p-Ys0)+c3*(header.StationCoor[i].Ztp-Zs0);double t1=header.StationCoor[i].x2;//(X-X0)(Y-Y0)的值,单位为mmdouble t2=header.StationCoor[i].y2;L(2*i,0)=(header.StationCoor[i].x2+header.photo.f*bb(0,0)/bb(2,0))/1000 ;L(2*i+1,0)=(header.StationCoor[i].y2+header.photo.f*bb(1,0)/bb(2,0))/10 00;B(2*i,0)=(a1*header.photo.f+a3*t1)/bb(2,0)/1000;B(2*i,1)=(b1*header.photo.f+b3*t1)/bb(2,0)/1000;B(2*i,2)=(c1*header.photo.f+c3*t1)/bb(2,0)/1000;B(2*i,3)=(t2*sin(ω)-(t1/header.photo.f*(t1*cos(κ)-t2*sin(κ))+header. photo.f*cos(κ))*cos(ω))/1000;B(2*i,4)=(-header.photo.f*sin(κ)-t1/header.photo.f*(t1*sin(κ)+t2*cos(κ)))/1000;B(2*i,5)=t2/1000;B(2*i+1,0)=(a2*header.photo.f+a3*t2)/bb(2,0)/1000;B(2*i+1,1)=(b2*header.photo.f+b3*t2)/bb(2,0)/1000;B(2*i+1,2)=(c2*header.photo.f+c3*t2)/bb(2,0)/1000;B(2*i+1,3)=(-t1*sin(ω)-(t2/header.photo.f*(t1*cos(κ)-t2*sin(κ))-head er.photo.f*sin(κ))*cos(ω))/1000;B(2*i+1,4)=(-header.photo.f*cos(κ)-t2/header.photo.f*(t1*sin(κ)+t2*co s(κ)))/1000;B(2*i+1,5)=-t1/1000;}//平差计算Nbb=(~B)*B;Nvv=(~B)*L;Dx=(Nbb.Inv())*Nvv;Xs0+=Dx(0,0);Ys0+=Dx(1,0);Zs0+=Dx(2,0);φ+=Dx(3,0);ω+=Dx(4,0);κ+=Dx(5,0);}while((fabs(Dx(0,0))>0.001)||(fabs(Dx(1,0))>0.001)||(fabs(Dx(2,0)) >0.001)||(fabs(Dx(3,0)*206265)>1)||(fabs(Dx(4,0)*206265)>1)||(fabs(Dx(5,0)*206265)>1));header.photo.Xs2=Xs0;header.photo.Ys2=Ys0;header.photo.Zs2=Zs0;header.photo.φ=φ;header.photo.ω=ω;header.photo.κ=κ;V=B*Dx-L;Vt=(~V)*V;//改正数转置m0=sqrt(Vt(0,0)/(2*header.StationCount-6));Q=Nbb.Inv();//协因数阵//求解点位误差header.photo.σXs2=sqrt(Q(0,0))*m0;header.photo.σYs2=sqrt(Q(1,1))*m0;header.photo.σZs2=sqrt(Q(2,2))*m0;header.photo.σφ=sqrt(Q(3,3))*m0;header.photo.σω=sqrt(Q(4,4))*m0;header.photo.σκ=sqrt(Q(5,5))*m0;data.Format(_T("%s %s %.f"),_T("右片"),_T("迭代次数"),n);OutData+=data;OutData+=("\r\n\r\n");data.Format(_T(" %s\r\n %s %s %s %s %s %s\r\n"), _T("右片外方位元素(线元素为m,角元素为度)"),_T("Xs"),_T("Ys"),_T("Zs"),_T("φ"),_T("ω"),_T("κ"));OutData+=data;data.Format(_T("%.4f %.4f %.4f %.4f %.4f%.4f\r\n\r\n"),header.photo.Xs2,header.photo.Ys2,header.photo.Zs2,header.photo.φ*180/pai,header.photo.ω*180/pai,header.photo.κ*180/pai);OutData+=data;data.Format(_T("%s\r\n%s %.4f"),_T("右片精度(线元素精度为m,角元素精度为″)"),_T("单位权中误差m0(单位为um)"),m0);OutData+=data;OutData+=("\r\n\r\n");data.Format(_T(" %s %s %s %s%s %s\r\n"),_T("σXs"),_T("σYs"),_T("σZs"),_T("σφ"),_T("σω"),_T("σκ"));OutData+=data;data.Format(_T(" %.4f %.4f %.4f %.4f %.4f%.4f\r\n\r\n\r\n"),header.photo.σXs2,header.photo.σYs2,header.photo.σZs2,header.photo.σφ*180/pai*3600,header.photo.σω*206265,header.photo.σκ*206265);OutData+=data;}void Adjustment::adjustment2(CString &OutData)//空间前交{//由外方位线元素计算基线分量BX, BY, BZdouble BX=header.photo.Xs2-header.photo.Xs1;double BY=header.photo.Ys2-header.photo.Ys1;double BZ=header.photo.Zs2-header.photo.Zs1;//计算旋转矩阵RCMatrix R1(3,3),R2(3,3),XYZ1(3,1),XYZ2(3,1);double a1,a2,a3,b1,b2,b3,c1,c2,c3;a1=cos(header.photo.φ)*cos(header.photo.κ)-sin(header.photo.φ)*sin(header.photo.ω)*sin(header.photo.κ); R1(0,0)=a1;a2=-cos(header.photo.φ)*sin(header.photo.κ)-sin(header.photo.φ)*sin(header.photo.ω)*cos(header.photo.κ); R1(0,1)=a2;a3=-sin(header.photo.φ)*cos(header.photo.ω); R1(0,2)=a3;b1=cos(header.photo.ω)*sin(header.photo.κ); R1(1,0)=b1;b2=cos(header.photo.ω)*cos(header.photo.κ); R1(1,1)=b2;b3=-sin(header.photo.ω); R1(1,2)=b3;c1=sin(header.photo.φ)*cos(header.photo.κ)+cos(header.photo.φ)*sin(header.photo.ω)*sin(header.photo.κ); R1(2,0)=c1;c2=-sin(header.photo.φ)*sin(header.photo.κ)+cos(header.photo.φ)*sin(header.photo.ω)*cos(header.photo.κ); R1(2,1)=c2;c3=cos(header.photo.φ)*cos(header.photo.ω); R1(2,2)=c3;a1=cos(header.photo.φ)*cos(header.photo.κ)-sin(header.photo.φ)*sin(header.photo.ω)*sin(header.photo.κ); R2(0,0)=a1;a2=-cos(header.photo.φ)*sin(header.photo.κ)-sin(header.photo.φ)*sin(header.photo.ω)*cos(header.photo.κ); R2(0,1)=a2;a3=-sin(header.photo.φ)*cos(header.photo.ω); R2(0,2)=a3;b1=cos(header.photo.ω)*sin(header.photo.κ); R2(1,0)=b1;b2=cos(header.photo.ω)*cos(header.photo.κ); R2(1,1)=b2;b3=-sin(header.photo.ω); R2(1,2)=b3;c1=sin(header.photo.φ)*cos(header.photo.κ)+cos(header.photo.φ)*sin(header.photo.ω)*sin(header.photo.κ); R2(2,0)=c1;c2=-sin(header.photo.φ)*sin(header.photo.κ)+cos(header.photo.φ)*sin(header.photo.ω)*cos(header.photo.κ); R2(2,1)=c2;c3=cos(header.photo.φ)*cos(header.photo.ω); R2(2,2)=c3;CMatrix NEI1(3,1),NEI2(3,1);CString data;data.Format(_T("%s\r\n"),_T("前方交会成果"));OutData+=data;OutData+="\r\n";data.Format(_T("%s\r\n%s %s %s %s\r\n"),_T("未知点"),_T("点名"),_T("Xtp/m"),_T("Ytp/m"),_T("Ztp/m"));OutData+=data;OutData+="\r\n";for(int i=0;i<header.UnKnownPointCount;i++){NEI1(0,0)=header.UnKnownPoint[i].x1;NEI1(1,0)=header.UnKnownPoint[i].y1;NEI1(2,0)=-header.photo.f;NEI2(0,0)=header.UnKnownPoint[i].x2;NEI2(1,0)=header.UnKnownPoint[i].y2;NEI2(2,0)=-header.photo.f;XYZ1=R1*NEI1;XYZ2=R2*NEI2;doubleN1=(BX*XYZ2(2,0)-BZ*XYZ2(0,0))/(XYZ1(0,0)*XYZ2(2,0)-XYZ1(2,0)*XYZ2(0,0));doubleN2=(BX*XYZ1(2,0)-BZ*XYZ1(0,0))/(XYZ1(0,0)*XYZ2(2,0)-XYZ1(2,0)*XYZ2(0,0));header.UnKnownPoint[i].Xtp=header.photo.Xs1+N1*XYZ1(0,0);header.UnKnownPoint[i].Ytp=header.photo.Ys1+N1*XYZ1(1,0);header.UnKnownPoint[i].Ztp=header.photo.Zs1+N1*XYZ1(2,0);data.Format(_T("%s %.4f %.4f %.4f\r\n"),header.UnKnownPo int[i].strID,header.UnKnownPoint[i].Xtp,header.UnKnownPoint[i].Ytp,header.UnKnownPoint[i].Ztp);OutData+=data;OutData+="\r\n";}//检核点header.StationCoorJ =new ControlPointData[header.StationCount];data.Format(_T("%s\r\n%s %s %s %s\r\n"),_T("检核点"),_T("点名"),_T("Xtp差值/m"),_T("Ys差值/m"),_T("Zs差值/m"));OutData+=data;OutData+="\r\n";for(int i=0;i<header.StationCount;i++){NEI1(0,0)=header.StationCoor[i].x1;NEI1(1,0)=header.StationCoor[i].y1;NEI1(2,0)=-header.photo.f;NEI2(0,0)=header.StationCoor[i].x2;NEI2(1,0)=header.StationCoor[i].y2;NEI2(2,0)=-header.photo.f;XYZ1=R1*NEI1;XYZ2=R2*NEI2;doubleN1=(BX*XYZ2(2,0)-BZ*XYZ2(0,0))/(XYZ1(0,0)*XYZ2(2,0)-XYZ1(2,0)*XYZ2(0,0));doubleN2=(BX*XYZ1(2,0)-BZ*XYZ1(0,0))/(XYZ1(0,0)*XYZ2(2,0)-XYZ1(2,0)*XYZ2(0,0));header.StationCoorJ[i].Xtp=header.photo.Xs1+N1*XYZ1(0,0);header.StationCoorJ[i].Ytp=header.photo.Ys1+N1*XYZ1(1,0);header.StationCoorJ[i].Ztp=header.photo.Zs1+N1*XYZ1(2,0);data.Format(_T("%s %.4f %.4f %.4f\r\n"),header.StationCoor[i].strID,(header.StationCoorJ[i].Xtp-header.StationCoor[i].Xtp),(header.StationC oorJ[i].Ytp-header.StationCoor[i].Ytp),(header.StationCoorJ[i].Ztp-header.StationCoor[i].Ztp));OutData+=data;OutData+="\r\n";}}void Adjustment::SaveData(CString &OutData) //文件保存平差信息{CFileDialog dlgfile(FALSE,_T("txt"));if(dlgfile.DoModal()==IDCANCEL)return;CString strfilename=dlgfile.GetPathName();CStdioFile wfile;wfile.Open (strfilename,CFile::modeWrite |CFile::modeCreate|CFile::modeNoTruncate );wfile.WriteString (OutData);wfile.Close ();}Space resection and forward intersectionDlg.cpp#include"ontrolPointData.h"#include"Adjustment.h"#include<locale.h>#include"math.h"#include"Matrix.h"Adjustment ST;void CSpaceresectionandforwardintersectionDlg::OnBnClickedButton1()//读取文本{// TODO: 在此添加控件通知处理程序代码CFileDialogdlgFile(TRUE,_T("txt"),NULL,OFN_ALLOWMULTISELECT|OFN_EXPLORER,_T("(文本文件)|*.txt"));if(dlgFile.DoModal()==IDCANCEL) return;CString strFileName=dlgFile.GetPathName();setlocale(LC_ALL,"");ST.LoadData(strFileName,strData);UpdateData(FALSE);}void CSpaceresectionandforwardintersectionDlg::OnBnClickedButton2()//单片后交{// TODO: 在此添加控件通知处理程序代码OutData=_T("");//清空OutDataST.adjustment1(OutData);UpdateData(FALSE);}void CSpaceresectionandforwardintersectionDlg::OnBnClickedOk()//空间前交{// TODO: 在此添加控件通知处理程序代码ST.adjustment2(OutData);UpdateData(FALSE);}void CSpaceresectionandforwardintersectionDlg::OnBnClickedButton3()//保存结果{// TODO: 在此添加控件通知处理程序代码ST.SaveData(OutData);}五、实验结果后方交会成果左片迭代次数 5左片外方位元素(线元素为m,角元素为度)Xs Ys Zs φωκ4999.7702 4999.7289 2000.0023 0.0123 1.6653 5.4573左片精度(线元素精度为m,角元素精度为″)单位权中误差m0 6.5779σXs σYs σZs σφσωσκ0.2445 0.3183 0.1073 32.0400 31.638011.9838右片迭代次数 5右片外方位元素(线元素为m,角元素为度)Xs Ys Zs φωκ5896.8286 5070.2443 2030.4432 0.8270 2.63676.3294右片精度(线元素精度为m,角元素精度为″)单位权中误差m0(单位为um) 6.5779σXs σYs σZs σφσωσκ0.3046 0.3988 0.1124 39.2588 40.1172 13.4085前方交会成果未知点点名 Xtp/m Ytp/m Ztp/m1 5431.4894 5879.3682 549.72332 5147.3889 5055.5063 485.00103 5495.7867 5082.6898 506.67734 5844.1737 5109.8962 528.42005 5559.9409 4286.1586 463.5233检核点点名 Xtp差值/m Ys差值/m Zs差值/mGCP1 0.0147 -0.0812 0.0902GCP2 0.0143 0.0208 -0.0094GCP3 -0.0496 -0.0409 -0.0043GCP4 0.0681 0.0172 -0.0800六、心得体会从编写思路及步骤,然后是梳理框架,要用到的子函数,子函数参数,怎么编写,又不懂得东西网上参考资料;再是自己动手编程,发现编程要求很细腻,出不得一点错误,程序编写出来后,有很多的错误,要求注意进行改正,修改;最后才得以运行。