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