摄影测量与遥感实习报告.docx
《摄影测量与遥感实习报告.docx》由会员分享,可在线阅读,更多相关《摄影测量与遥感实习报告.docx(17页珍藏版)》请在冰豆网上搜索。
![摄影测量与遥感实习报告.docx](https://file1.bdocx.com/fileroot1/2022-12/9/1d190fde-85a3-4eee-8e79-8ac989eb2aa3/1d190fde-85a3-4eee-8e79-8ac989eb2aa31.gif)
摄影测量与遥感实习报告
HEBEIUNITEDUNIVERSITY
摄影测量与遥感实习报告
学生姓名:
学号:
专业班级:
学院:
轻工学院
指导教师:
谷海红
2011年12月30日
1实习目的
摄影测量与遥感实习是摄影测量学和遥感技术及应用两门课程的综合实习课。
本课程的任务是使学生通过编写程序实现单张影像空间后方交会计算,掌握非线性方程线性化的过程、相应数据读入与存储的方法以及迭代计算的特点。
掌握遥感影像预处理、信息获取、实地调绘及制图的方法等作业程序。
使学生进一步巩固遥感上机课的知识。
从而更系统地掌握摄影测量与遥感技术。
通过实习使学生熟练地掌握摄影测量及遥感的原理,信息获取的途径,数字处理系统和应用处理方法。
进一步巩固和深化理论知识,理论与实践相结合。
2实习内容
1)控制点的采集
2)遥感影像的几何校正。
3)遥感影像的野外调绘、属性调查。
4)遥感影像的室内清绘;
5)遥感影像图像矢量化;
6)属性信息的录入。
7)摄影测量单像空间后方交会程序窗体设计
8)编写代码
9)运行程序,得出结果
3实习设备与资料
硬件设备:
计算机的基本配置(CPU型号、内存大小,硬盘空间)
软件:
ENVI或ArcGIS的软件名称及版本
空间后方交会原理:
根据影像覆盖范围内一定数量的分布合理的地面控制点(已知其像点和地面点的坐标),利用共线条件方程求解像片外方位元素。
计算过程:
获取已知数据m,x0,y0,f,Xtp,Ytp,Ztp
量测控制点像点坐标x,y
确定未知数初值Xs0,Ys0,Zs0,0,0,0
组成误差方程式并法化
解求外方位元素改正数
检查迭代是否收敛
实习数据:
遥感实习数据:
唐山市高分辨率遥感影像
摄影测量实习数据:
已知航摄仪的内方位元素:
f=153.24mm,x0=y0=0.0mm,摄影比例尺为1:
50000;4个地面控制点的地面坐标及其对应像点的像片坐标如下
表1左像片
点号
像片坐标(mm)
地面点坐标(m)
x
y
X
Y
Z
1
-86.15
-68.99
36589.41
25273.32
2195.17
2
-53.40
82.21
37631.08
31324.51
728.69
3
-14.78
-76.63
39100.97
24934.98
2386.50
4
10.46
64.43
40426.54
30319.81
757.31
表2右像片
点号
像片坐标(mm)
地面点坐标(m)
x
y
X
Y
Z
1
57.67
35.54
36589.41
25273.32
2195.17
2
67.33
-23.12
37631.08
31324.51
728.69
3
32.21
72.21
39100.97
24934.98
2386.50
4
-44.12
-66.21
40426.54
30319.81
757.31
且dXdYdZ<0.005(限差)dΦdΩdκ<0.0005(限差)
4实习时间与地点
时间:
2011年12月19日——2011年12月31日。
地点:
河北联合大学轻工学院A309机房
河北省唐山市路北区大学道、华岩路、建设路与龙华道
5遥感实习过程
5.1地形图的纠正
5.2遥感影像的几何校正
打开ENVI4.6,点击File->OpenImageFile,如图1所示,弹出打开图像文件窗口。
图1打开图像文件
建立两个显示窗口,分别打开拼接好的唐山市地形图与遥感影像图。
选择校正控制点。
按如下步骤操作:
在主菜单下,MapRegistrationSelectGCPs:
ImagetoImageRegi…在弹出对话框中选择拼接后的唐山市地形图为BaseImage,遥感影像图为WarpImageOK弹出对话框。
然后在两幅图上找到相同的控制点,点击AddPiont添加更多的控制点(至少3个)。
将控制点数据保存。
同样的步骤,继续校正至少十个控制点数据。
控制点找完保存后进行校正。
在GroundControlPointsSelecti..对话框中,OptionsWarpFile…在“InputWarpImage”对话框中选择遥感影像图OKChoose,选择保存路径,然后保存。
建立连接查看校正后的影像图和唐山市图间的连接,查看校正情况。
显示窗口下,ToolsLinkLinkDisplays…OK。
5.3遥感图像的野外调绘、属性调查
在进行野外调绘之前,将调绘图平放在大图板上,然后再将比调绘图稍大一些的透明纸盖于调绘图上,用胶带粘好,连同调绘图用夹子固定于大图板。
图像固定好后,首先在室内直接判读地物、地貌,对于清晰的可以先用铅笔与尺子按照国家标准地形图图式将其边界勾勒在透明纸上。
对于在室内无法直接判读的,均应带上遥感调绘图到实地对各种地物进行对比。
完成准备工作后,则开始进行野外调绘。
首先,选定调绘路线。
一般在实际调绘工作中,均应按行调绘或者按列调绘,即地物地貌的调绘要连续进行,避免调绘不连贯。
然后,依照选好的路线,按行或按列进行调绘。
调绘时,调绘点选择在地势较高的地方,主要调查属性,比如建筑物的建筑材料、层数、名称,道路的名称,各种绿地的分类等。
对于已经在室内绘好的地物地貌,则在实地检查是否有改变,有改变的按照地形图图式将它们修改绘制在对应的透明纸上。
对于原先不确定的地物地貌,按照实地情况在透明纸上按图式勾勒出它们的边界并注明属性。
直至将整张图所包括的内容全部调绘完毕。
调绘的同时,要将调绘的内容(特别是与实地有所出入的地物地貌及其属性)填写在调绘手簿中。
5.4遥感影像的室内清绘
像片调绘可采用先室内判读清绘,后野外检核和调查,再室内修改和补充清绘的方法。
野外调绘完成后,当天进行分色清绘。
根据要求,用红、蓝、绿、黑四种颜色进行清绘。
其中应注意:
当地理名称注记过密时,可适当取舍。
调绘工作应按照国家标准的地形图图式进行,说明性质的注记应采用“简注表”,不得任意命名。
实际调绘工作中,均应按行调绘或者按列调绘,不得随意调绘。
调绘要按照实地情况严格进行,不得伪造,篡改。
在调绘好的透明纸上,图名注于调绘片正上方,像片号注于调绘片右上角,调绘者姓名及调绘日期等信息在调绘航片的右下角。
在清绘时,要遵守“片片清、天天清、幅幅清”。
5.5遥感影像图像矢量化
5.5.1遥感影像打开
打开ENVI4.6,点击File->OpenImageFile,选择影像如图2,
图2选择影像
在AvailableBandsList窗口中点击LoadRGB按钮,在#1窗口中加载影像,打开后,显示遥感影像如图3,
图3显示遥感影像
5.5.2图层的建立
在图3显示的窗口上,选择Overlayvectors…,弹出对话框#1VectorParameters:
…,如图4
图4矢量参数设置
在此窗体上选择FileCreateNewLayer..在弹出的对话框中填写新建图层的名字与保存位置,点击确定。
再次弹出如图4窗口,且新建的图层名字以显示在文本框中。
按照这种方法我新建了原有建筑、新建地物、公路、居民区及办公区道路、草坪及绿化带、变更建筑、辅助7个图层。
5.2.3矢量化
按照清绘完成的纸图,选择相应图层的颜色与线条等。
在#1VectorParameters:
…中,选中所要设置的图层并右击,在弹出的菜单中选择EditLayerProperties,弹出对话框如图5。
图5设置图层样式
在我组图层设置时选择原有建筑:
黑色实线;新建地物:
红色点线,3Thick;公路:
黑色实线,2Thick;居民区及办公区道路:
黑色实线,1Thick;草坪及绿化带:
边框为绿色实线,内用绿色点线填充;变更建筑:
红色实线;辅助:
蓝色实线。
设置完成后,按照着色后的纸图在如图4显示的窗口中,选择Mode菜单下的AddNewVectors,并选择相应的点、线、多边形、圆、方,在Zoom窗口中以遥感影像图为底图添加矢量元素。
5.6属性信息的录入
当完成一个矢量元素后,在#1VectorParameters:
…窗体中选择Mode菜单下的EditExistingVectors,然后选择Edit菜单下的AddNewAttributes,显示如图6
图6添加属性信息选项
按照图6显示选择,设置完成后,点击确定。
5.6.1属性字段的添加
完成上步后,弹出窗体如图7
图7属性字段设置
设置完成后,点击确定,弹出窗口,如图8
图8图层属性信息
在图7显示的窗口中选择Options菜单下的AddRecordColumn…,即可再次显示图7窗口,然后就可以按照需求添加相应的字段了。
5.6.2属性信息的录入
在图8显示的窗口中双击想要添加的字段,添加相应的属性信息,如图9
图9属性信息的录入
5.6.3属性信息的修改、删除
想要修改属性信息时,可以在#1VectorParameters:
…中选中要修改的属性信息所在的图层并选择Mode菜单下的EditExistingVectors,然后选择Edit菜单下的View/Edit/QueryAttrbutes,在Zoom窗口单击选中要修改的矢量元素,此时在属性窗口中该元素的属性行也被高亮显示出来,然后就可以对选中的元素进行节点的移动、添加、删除,属性信息的修改,同时也可以再选中元素后在右击显示的菜单中选择删除此元素,在相应的属性信息列表中的属性信息也会被删除。
要删除某一图层的属性字段时,可在图7显示的窗口中选中该列,然后选择Options菜单下的DeleteRecordColumn…,则该列属性字段就会被删除了。
6摄影测量实习过程
6.1窗体设计
6.1.1计算过程分析
根据实习要求及试验数据实现左右两张影像空间后方交会的计算,并将最后计算得到的旋转矩阵及外方位元素输出,得到如图10的程序流程图。
图10空间后方交会程序流程图
6.1.2设计窗体
根据设计要求将已有的控制点像点坐标及物方坐标可通过输入界面进行输入,已可定义成文本文件由程序读取文本文件;定义变量和数组来存储数据;最终计算结果的输出(可输出为文本文件)。
设计出主要计算窗体如下:
图11数据输入界面
图12结果显示界面
6.2编写代码
privatevoidbutton1_Click(objectsender,EventArgse)
{
try
{
for(intj=0;j<5;j++)
{
for(inti=0;i<3;i++)
{
X[i]=Convert.ToDouble(dataGridView1[0,i].Value);
Y[i]=Convert.ToDouble(dataGridView1[1,i].Value);
Z[i]=Convert.ToDouble(dataGridView1[2,i].Value);
x[i]=(Convert.ToDouble(dataGridView1[3,i].Value));
y[i]=(Convert.ToDouble(dataGridView1[4,i].Value));
}
}
#region//初始化
for(i=0;i<3;i++)
{
S1+=X[i];
S2+=Y[i];
S3+=Z[i];
}
//确定外方位元素的初始值
ψ=0;
ω=0;
κ=0;
if(textBox1.Text==""||textBox2.Text=="")
{
MessageBox.Show("请输入比例尺和焦距数据");
return;
}
m=Convert.ToDouble(textBox1.Text);
//m=50000;
f=Convert.ToDouble(textBox2.Text);
//f=0.15324;
Xs0=S1/3.0;
Ys0=S2/3.0;
Zs0=m*f+S3/3.0;
//像片坐标的单位换算
for(i=0;i<3;i++)
{
x[i]/=1000.0;
y[i]/=1000.0;
}
}
catch(Exceptionex)
{
MessageBox.Show(this,"Error01"+ex.Message,"初始化错误");
}
#endregion
//////////////////////////////
try
{
do
{
K++;
cal_R();
cal_xy();
cal_A();
WindowsApplication1.Matrix.Transpose(A,AT);
WindowsApplication1.Matrix.Matrix6_6(AT,A,AT_A);
E=WindowsApplication1.Matrix.ReverseMatrix(AT_A,6);//将A的转置与A的乘积存放在临时矩阵E中
WindowsApplication1.Matrix.Matrix6_6(E,AT,ATA_ni_AT);
WindowsApplication1.Matrix.Matrix6_1(ATA_ni_AT,L,det);
//计算外方位元素
Xs0+=det[0,0];
Ys0+=det[1,0];
Zs0+=det[2,0];
ψ+=det[3,0];
ω+=det[4,0];
κ+=det[5,0];
listBox1.Items.Add(String.Format("第{0}次迭代",K));
listBox1.Items.Add("......");
listBox1.Items.Add(String.Format("Xs0={0},Ys0={1},Zs0={2}",Xs0,Ys0,Zs0));
listBox1.Items.Add(String.Format("ψ={0},ω={1},κ={2}",ψ,ω,κ));
listBox1.Items.Add("......");
if(Math.Abs(det[0,0])<=0.0005&&Math.Abs(det[1,0])<=0.0005&&Math.Abs(det[2,0])<=0.0005&&Math.Abs(det[3,0])<=0.00005&&Math.Abs(det[4,0])<=0.00005&&Math.Abs(det[5,0])<=0.00005)
{
Result1();
break;
}
if(K>500&&Iscontiue==true)
{
if(MessageBox.Show(this,"已经超过500次\n是否继续","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question,MessageBoxDefaultButton.Button2)==DialogResult.No)
{
Result1();
break;
}
elseif(K>1000)
{
MessageBox.Show("迭代超过1000次");
Result1();
break;
}
else
{
Iscontiue=false;
}
}
}while(true);
}
catch(Exceptionex)
{
MessageBox.Show(this,"Error02"+ex.Message,"迭代错误");
}
}//左片计算
6.3运行程序并得出结果
输入已知数据,点击计算,此时可查看迭代过程与计算结果,如图13和图14。
图13迭代过程
图14计算结果
7实习心得
通过本次实习,我不仅加深了对课本上抽象知识的理解,通过实际操作明白了摄影测量和遥感应用的原理、方法、原则要求与实际操作等,而且更深刻地明白了摄影测量和遥感对于现代土地资源调查和环境规划有着重要的意义。
同时在这次实习中我获得了很多启示,并且我相信这次实习将会成为我记忆深处的一段美好回忆。
首先,小组成员的分工合作,默契配合是高效完成任务的重要途径。
在前几次实习的过程中,我们从陌生走向熟悉,从彼此的拘谨走向大家相互调侃的融洽关系,这为我们高效完成这项任务提供了很好的条件。
在实习的前期,我们认真地分配各自任务,规划好每天的工作安排,保证每个人都能够充分地利用时间完成任务。
其次,在遥感实习过程中,不可避免的遇到了一些困难,通过老师的提点、理论知识与课上讲解的结合分析以及我们的认真地对待最终还是很好的克服了,使我深刻地体会了将学以致用的重要性。
同时充分开动脑筋,利用所学知识解决外业工作中的问题,对于有效提高数据的精确性起了很大的作用。
在摄影测量实习中要根据选择的编程语言C#结合计算公式与其他实例,设计出符合要求的程序,让我们对课本上的繁琐的计算过程有了更深的理解,并加深了印象。
最后,端正的态度对于实习结果是十分重要的。
我们组员的相互配合,以一个严谨的态度完成每一项工作,这使得我们得到一个客观的有经济价值的结果起到了很大的作用。
时光如白驹过隙,我会十分珍惜我们每一次实习的机会,我十分感谢老师的殷勤教诲。
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求