1、 资源环境信息系统 实验指导书 实验一 太湖叶绿素a反演数据预处理 1、数据简介 (1)遥感影像数据:2009年10月6日环境小卫星影像数据,共4个波段,详细信息如表1 表1 环境小卫星数据为HJ-1B-CCD1参数介绍 波段编号 波长(微米) 分辨率(米) Band 1 0.43-0.52 30 Band 2 0.52-0.60 30 Band 3 0.63-0.69 30 Band 4 0.76-0.90 30 (2)监测点数据: 38组监测点数据及矢量图层(时间为2009年10月6日,水质参数
2、为叶绿素a浓度) (3)基准影像:精校正的TM数据 2、数据预处理 2.1 辐射定标与波段融合(目的是消除传感器本身产生的误差) (1)打开ENVI,在右侧工具箱【Toolbox】中找到【Extensions】模块,双击打开【ENVI HJ1A1B Tools】工具 (2)传感器类型选择CCD,即【Sensor Type】选择CCD,【Input Path】输入遥感影像,点击【Search】,【Out Path】设置输出路径,勾选【Calibration】和【Layer Stacking】,即辐射定标和波段融合。 (3)点击Apply,当进度条达到100%时,即完
3、成辐射定标和波段融合,关闭窗口即可。 (4)加载经过辐射定标和波段融合的.img格式影像。主菜单【File】【open】,点击波段前的勾选框,选择3个波段进行显示(每次最多显示3个波段),点击【Load Data】。 2.2 区域裁剪(裁剪太湖区域) (1)在右侧工具箱【Toolbox】中找到【Raster Management】模块,双击打开【Resize Data】工具 (2)在打开窗口中,选中输入影像,点击【spatiat】,在打开窗口点击【image】,通过移动缩放红色方框,确定裁剪区域,点击ok,继续点击ok,直到“Resize Data Paramete
4、rs”对话框。 (3)设置输出路径,在“Resize Data Parameters”对话框,点击【Choose】按钮,设置输出路径及文件名。 (4)点击ok,格式转化完成将自动加载。 2.3 转换格式(需将数据转换为bil)格式 (1)在右侧工具箱 【Toolbox】中找到【Raster Management】模块,双击打开【Convert Interleave】工具 (2)双击上述裁剪影像,在打开窗口,【Output Interleave】选择“BIL”。 (3)设置输出路径,点击【Choose】按钮,设置输出路径及文件名,输入文件名时,
5、必须同时输入扩展名. bil。 (4)点击OK,转换完成,数据自动加载。 2.4 大气校正(目的是消除大气和光照等因素对地物反射的影响。) (1)在右侧工具箱 【Toolbox】中找到【Radiometric Correction】模块下的【Atmospheric Correction】模块,双击打开【FLAASH Atmospheric Correction】工具 (2)加载.dil格式影像,点击【Input Radiance Image】按钮,双击.dil影像,在弹出的窗口,选择“Use Single scale factor for all bands”,“Sing
6、le scale factor”可设为100。 (3)设置输出路径,点击【Output Reflectance File】,设置输出路径及文件名,输入文件名时,必须同时输入扩展名.img。 (4)设置文件夹路径,点击【Output Directory for FLAASH Files】,设置与上一步相同的输出路径。 (5)记录影像中心位置经纬度,在主界面点击【Crosshair】工具,通过移动红色交叉线,将交叉点移动到影像中心位置,在小窗口可以查看经纬度,并将其记录下来。 (6)输入影像中心经纬度,将刚刚记录的经纬度填写在大气校正窗口。
7、7)输入影像采集时间。在原数据中,打开.XML格式的头文件,找到影像采集时间,并输入到大气校正窗口。 (8)添加波段相应函数,点击【Multispectral Settings】按钮,选择【Filter Function File】按钮,点击【Open】,【New File】,添加相应的波段响应函数。(通过查看原数据头文件,影像来源于HJ1B CCD1,因此添加对应的.sli格式的波段响应函数) (8)传感器高度和地面高程分别设为660km,0.004km(分别与传感器高度及研究区域有关) (9)点击0k,输出大气校正结果。 2.5 几何校正(目的是使每一
8、个采样点能最精准的定位到正确的像元) 提供了一幅经过了精校正的TM数据进行配准,可以选择在ARCGIS或ENVI、ERDAS中配准。 3、采集监测点各多段像元值 首先将监测点矢量数据、及校正后的影像数据加载到ARCGIS,右击监测点,记录个波段的pixel value值,将值采集记录下来,统计到EXCEL表格中,为后续的相关性分析做准备如图: 每次只能采集到三个波段的信息,可以通过重新选择显示波段,采集到4个波段的信息 如图所示: 4、实战提高 在ENVI中包含了很多大气校正模型,通过实际操作,比较ENVI中几种大气校正模型的不同。 5、知识总结 学生总结
9、 请将问题答案写在下面空白处 完成本实验花费的时间 本次实验对你而言的难点 本次实验的收获 希望老师强化讲解的知识要点 希望老师帮助回答的问题 本次实验自评分数 (五分制) 教师评价 请将评语、分数等写在下面空白处 问题答疑 实验评语 实验得分 实验二巢湖高光谱遥感叶绿素A浓度反演 1、实验内容 巢湖流域的年径流量丰富,是周边地市的主要饮用水源地。80年代以来,由于生态环境的恶化,社会经济的快速发展,大量的含有N、P营养物质排入湖内,造成大面积的水土流失。每年6-1
10、0月份巢湖西半湖大面积爆发蓝藻水华,已经影响并制约了周边城市的经济发展,被国务院列为重点治理水域。 巢湖整个湖底由西向东倾斜,以忠庙镇为界,分为东半湖和西半湖,湖水浑浊,呈黄褐色,总悬浮固体含量高,透明度低,水质污染严重。因此需对巢湖高光谱遥感叶绿素A浓度进行反演,并进行分析。 2、实验步骤 2.1数据预处理 叶绿素反演中,需要的数据有两部分: 一.实验区的遥感影像数据 二.实测取样点的叶绿素A浓度值与取样点的坐标值 2.2确定样本集和验证集 根据三波段模型,从24个取样点中选择16个作为样本集(可参照样点分布图均匀选取),其余8个作为验证集。 样本集的作用是训练得到反演模
11、型,验证集的作用是验证反演模型的准确性。 2.3寻找最佳波段组合 进行相关性分析的工具可以使用Excle、SPSS等现成的统计工具,也可以自己编写程序进行分析。(在文件夹中有一个遍历循环计算相关性的程序,不过,如果使用的话,需要自己修改一些参数) 2.4反演模型 2.5验证集检验反演模型 经过步骤三,得到相关性比较高的组合波段是65-76-90,经过步骤四,得到反演模型为:Y=258.75X+48.543,其中X是组合波段值,Y为叶绿素A浓度值;将10个验证点这三个波段的数据放入三波段模型中计算模型组合值,然后在excle中带入到反演模型中,计算反演得到的叶绿素A浓度
12、值,将其与实测的浓度值进行对比。误差=(反演值-实测值)/实测值 3、实战提高 1.根据已有的巢湖24个取样点高光谱波段与叶绿素A浓度数据,在网上寻找除三波段模型之外的高光谱叶绿素A浓度反演的模型,完成上述实验,并对实验结果进行分析。 2.在上次实验数据的基础上,查找多光谱反演叶绿素A浓度的模型,然后完成上述实验,并对实验结果进行分析。 4、知识总结 学生总结 请将问题答案写在下面空白处 完成本实验花费的时间 本次实验对你而言的难点 本次实验的收获 希望老师强化讲解的知识要点 希望老师帮助回答的问题 本次实
13、验自评分数 (五分制) 教师评价 请将评语、分数等写在下面空白处 问题答疑 实验评语 实验得分 实验三 Identify功能的实现 1、实验目的 实现矢量和栅格的Identify功能的实现。 2、实验思路 关于ARCGIS中IDENTIFY功能的实现 一:功能实现的基本思路是这样的: 1.点击时,先获取点击位置的屏幕坐标,然后转换到地图坐标; 对于栅格图形来说 2. 定义一个图层对象(Identify),调用相应的Identify方法生成点对象; 3. 提取图层中
14、点击处的栅格,提取属性,填充到事先设计好的窗口中; 4. 显示窗口。 对于矢量图形 1 基于点(缓冲区。或者自己创建外包矩形)生成一个面对象,调用相应的Identify方法生成点或对象; 2 提取图层中点击处的栅格,提取属性,填充到事先设计好的窗口中; 3 显示窗口。 第一部分 上机训练 1)新建一个项目,注意选择Windows应用程序,命名为AE 2)生成如下的窗体界面 其中 mapcontrol的Name为axMapControl1。 主窗体的名称为MainForm。 4)添加 contextMenuStrip,其基本属性如下 5)设置a
15、xMapControl1的contextMenuStrip为contextMenuStrip2,界面和属性如下 11)在主窗体中定义一个点的全局变量,存储我们在mapcontrol中选中的位置 IPoint SelectedPoint=new PointClass(); 12) 实现在mapcontrol右键点击弹出contextMenuStrip的功能。在axMapControl1的OnMouseDown事件下添加如下代码; if (e.button == 2) { SelectedPoint.Put
16、Coords(e.mapX, e.mapY);//存入点击的地图坐标 contextMenuStrip2.Show(axMapControl1, e.x, e.y); //弹出contextMenuStrip } 13 实现以点查栅格的内容。双击contextMenuStrip中以点查图项,对其事件添加如下代码 for (int index = 0; index < this.axMapControl1.LayerCount; index++)
17、 { IGeometry pGeometry ; if (axMapControl1.get_Layer(index) is IFeatureLayer) { IIdentify pFL = this.axMapControl1.get_Layer(index) as IIdentify; ITopologicalOperator pTopo
18、 = SelectedPoint as ITopologicalOperator; pGeometry = pTopo.Buffer(500); if (pFL.Identify(pGeometry) != null) { int arraycount = pFL.Identify(pGeometry).Count; for (int i = 0;
19、 i < arraycount; i++) { IIdentifyObj featureIdentifyobj = (IIdentifyObj)pFL.Identify(pGeometry).get_Element(i); IRowIdentifyObject iRowIdentifyObject = featureIdentifyobj as IRowIdentifyObject; IRow pRo
20、w = iRowIdentifyObject.Row; string output = featureIdentifyobj.Layer.Name; for (int a = 0; a < pRow.Fields.FieldCount; a++) output = String.Format("{0} {1} {2} \n", output, pRow.Fields.get_Field(a).Name,
21、 pRow.get_Value(a).ToString()); MessageBox.Show(output); } } } // 判断是什么类型的图层 if (axMapControl1.get_Layer(index) is IRasterLayer) {
22、 IIdentify pFL = this.axMapControl1.get_Layer(index) as IIdentify; pGeometry = SelectedPoint as IGeometry; if (pFL.Identify(pGeometry) != null) { int arraycount = pFL.Identify(pGeo
23、metry).Count; for (int i = 0; i < arraycount; i++) { IIdentifyObj featureIdentifyobj = (IIdentifyObj)pFL.Identify(pGeometry).get_Element(i); IRasterIdentifyObj rasterIdentifyobj = featureIdentifyobj
24、 as IRasterIdentifyObj; MessageBox.Show(featureIdentifyobj.Layer.Name+" "+ rasterIdentifyobj.MapTip); } } } } 运行结果如图 第二部分 系统要求 (1) 基本的查询功能 (2) 反演模型的建立(至少覆盖两个模型)
25、3) 根据反演模型生成专题图(做出栅格的分级设色) (4) 反演模型的评价(比如精度等,可以生成反演模型的一个报告) (5) 样本点和验证点反演误差的验证,并且对于这些点进行制图综合。(比如两种模型反演效果都比较好用符号或颜色,其中一个点不好。。。两个点都不好。。) (6) 查询任意一个栅格的反演物浓度。 (7) 以上为基本功能,做出其他功能有加分。 3、 知识总结 学生总结 请将问题答案写在下面空白处 完成本实验花费的时间 本次实验对你而言的难点 本次实验的收获 希望老师强化讲解的知识要点 希望老师帮助回答的问题 本次实验自评分数 (五分
26、制) 教师评价 请将评语、分数等写在下面空白处 问题答疑 实验评语 实验得分 系统实验要求 一、数据预处理要求 1、明确数据来源 2、明确数据处理流程,掌握每一步处理的意义和必要性 3、详细介绍大气校正模型的选择及最终所用模型 4、展示数据预处理结果 二、叶绿素反演要求 1、波段数据提取 在上一阶段的基础上,提取出巢湖叶绿素检测取样点对应的115波段的反射光谱值。 2.建立反演模型 对1中的数据进行叶绿素A浓度反演,选择两个或者以上的反演模型,模型的拟合R2需要达到0.75以上。 3.反演模型精度检验 模型的反演值与实际值的平
27、均误差在20%以下,单点的反演误差不超过35%。 三、系统要求 1、基本的查询功能 基于一定查询条件的查询查询和图查样本点属性 2、反演模型的建立(至少覆盖两个模型) 显示反演模型所采用的模型和波段(如果能自己完成线性回归中最小二乘法的代码实现另有加分) 3、根据反演模型生成专题图(做出栅格的分级设色) 栅格的分级设色(分级的值是如何选定的,基于一定的数学模型还是基于相关文献对于水质的划分(如果使用了相关文献答辩时请指明)) 4、反演模型的评价 (每个样本点的误差,验证点的误差,以及总体误差) 5、样本点和验证点反演误差的验证,并且对于这些点进行制图综合(比如两种模型反演效果一致性评价,例如:两个模型反演值小于某个阈值(可以手动设定)的用一种颜色渲染,大于这个阈值的用另一种颜色渲染) 6、查询任意一个栅格的反演物浓度。 对于指定位置的栅格(比如鼠标右击或者自己输入一个坐标)提取反演物浓度。 7、以上为基本功能,做出其他功能有加分。






