开发文档.docx

上传人:b****3 文档编号:10798305 上传时间:2023-05-27 格式:DOCX 页数:35 大小:2.24MB
下载 相关 举报
开发文档.docx_第1页
第1页 / 共35页
开发文档.docx_第2页
第2页 / 共35页
开发文档.docx_第3页
第3页 / 共35页
开发文档.docx_第4页
第4页 / 共35页
开发文档.docx_第5页
第5页 / 共35页
开发文档.docx_第6页
第6页 / 共35页
开发文档.docx_第7页
第7页 / 共35页
开发文档.docx_第8页
第8页 / 共35页
开发文档.docx_第9页
第9页 / 共35页
开发文档.docx_第10页
第10页 / 共35页
开发文档.docx_第11页
第11页 / 共35页
开发文档.docx_第12页
第12页 / 共35页
开发文档.docx_第13页
第13页 / 共35页
开发文档.docx_第14页
第14页 / 共35页
开发文档.docx_第15页
第15页 / 共35页
开发文档.docx_第16页
第16页 / 共35页
开发文档.docx_第17页
第17页 / 共35页
开发文档.docx_第18页
第18页 / 共35页
开发文档.docx_第19页
第19页 / 共35页
开发文档.docx_第20页
第20页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

开发文档.docx

《开发文档.docx》由会员分享,可在线阅读,更多相关《开发文档.docx(35页珍藏版)》请在冰点文库上搜索。

开发文档.docx

开发文档

 

东平湖水质遥感监测系统

 

开发文档

 

指导老师:

马雪梅、肖燕

参赛成员:

李镜尧、刘兴、付立省、刘浦东

参赛组别:

D1059

小组组长:

李镜尧

 

聊城大学环境与规划学院

2010年8月10日

 

目录

1系统概述-4-

1.1需求分析-4-

1.2解决思路-5-

1.3系统开发与应用环境-6-

1.3.1开发环境-6-

1.3.2应用环境-6-

2总体设计-7-

2.1系统目标-7-

2.2系统数据源-7-

2.3系统总体结构-8-

2.3.1数据层-8-

2.3.2逻辑层-9-

2.3.3表现层-9-

2.4系统流程-9-

3关键技术-10-

3.1图形引擎-10-

3.2半自动选择控制点-11-

3.3应用数据管理-13-

3.4影像建模-14-

3.4.1建模类型-14-

3.4.2反演参数类型-14-

3.5影像自动筛选与裁剪-15-

3.6影像动画播放-16-

4页面设置-16-

5详细设计-17-

5.1数据准备-18-

5.1.1影像准备-18-

5.1.2数据入库-18-

5.1.3数据列表-19-

5.2实测数据处理-19-

5.2.1点集操作-20-

5.2.2插值操作-20-

5.3影像预处理-20-

5.3.1辐射校正-20-

5.3.2几何校正-22-

5.3.3噪声处理-24-

5.4水质监测-25-

5.4.1反演模型-25-

5.4.2监测结果分析-27-

5.4.3影像动画播放-28-

5.5专题图-29-

6后记-29-

6.1系统不足分析-30-

6.2开发感言-31-

6.3致谢-31-

1系统概述

1.1需求分析

水是生态系统的血液,充足、优质的水资源是生态系统健康发展的物质基础,但随着经济的高速发展和工业化程度的加剧以及人为活动的影响,产生了湖泊退化、湖水富营养化等一系列湖泊水资源的生态环境问题。

因此改善湖泊水质环境成为我国可持续发展的前提。

东平湖是山东省第二大淡水湖泊,接纳全部大汶河流域的来水,根据南水北调东线规划方案,承担调蓄任务。

济南市、泰安市、淄博市将从东平湖直接取水,同时黄河洛口以下河段缺水或断流时,还将向黄河补水,故东平湖在今后山东省的供水中将起到重要作用。

随着经济的发展,湖区污染加重,据文献报道2008年东平湖已达到轻度富营养化的程度,但报道所用数据均是通过实验室分析个别水样点的方式获得,检测结果很难代表湖区整体情况,而且费时费力。

与之相对比,利用遥感技术对叶绿素a浓度(叶绿素的主要成分,以下均简称为叶绿素浓度)。

进行监测具有监测范围广、速度快、成本低和便于进行长期动态监测等优势,然而,目前基于遥感的湖泊水质监测存在以下几个方面的问题:

1)图像处理软件的业务程度不高。

虽然大多数商业软件图像功能比较齐全,但对操作人员的业务素质要求较高,很难被非专业工作人员掌握。

2)现在有很多免费的遥感数据可供用户免费下载,但针对这些海量数据,用户只能通过手动筛选的方式获得所需数据,这不但费时费力,还会造成很多数据浪费。

3)遥感数据处理步骤繁琐,在处理过程中,很多中间结果存放和管理比较混乱,同时,如果数据处理出现问题,追溯处理流程比较困难,从而影响工作效率。

4)水质参数反演所需的实测数据一般数量都比较小,在进行反演前需进行一定科学的插值运算,这些运算无法在遥感软件中进行,用户需重新启动其他软件,如AceGIS对这些数据进行运算操作,操作过程较复杂。

5)随着遥感技术的发展,新的湖泊水质监测模型和遥感数据源不断推陈出新,这就要求业务软件具备很好的可升级性和可扩展性,而目前的商业软件无法满足这一需求。

6)在以往的水质遥感监测过程中,水质参数大多通过地面同步实测数据进行反演获得,这不但需要很专业的测量仪器,测量时间也需要与影像同步,而在湖泊水质监测过程中,水质的变化情况,尤其是一年中不同的月份的动态变化情况对于湖区污染监测和预防具有很大使用价值。

终上所述,结合遥感监测水质状况技术流程,本系统把遥感提取水质参数的主要方法应用到信息系统建设中,构建东平湖水质参数遥感动态监测系统,为东平湖水质监测提供辅助支持,并为建立东平湖水质优化方案提供可靠的数据支持和信息服务。

1.2解决思路

水质遥感监测系统是集遥感信息提取、水质检测于一体的业务运行系统,系统首先需要存储并管理海量的遥感原始数据、中间过程数据、实测数据和专题图信息。

并且通过客户端软件处理遥感数据,进行数据标准化处理、水质参数自动反演、水质特征及其变化信息监测、产品制作等,最终完成水质监测。

1)针对水质遥感监测系统所需的技术上述问题,本系统集成成熟的水质遥感监测方法,设计并开发了东平湖水质遥感监测系统,以期达到有效的数据筛选和管理、提高运行效率、简化处理流程和系统快速升级的目标。

2)系统可以根据遥感影像元数据中的影像质量级别来对影像进行自动筛选,不过该质量级别是对整幅影像的评判,东平湖在整幅影像中占很小一块,单纯的根据这一点显然不够准确,所以系统引入实时气象数据对影像质量作综合评价,气象数据来源于东平湖气象监测站。

3)为了有效管理繁多的遥感数据,系统建立了遥感影像管理数据库,该数据库记录影像的别名、处理类别、拍摄时间、父影像(该影像由哪副影像处理得来)、元数据、处理结果备注、存储路径等,其中每幅影像都可以根据其父影像一直追溯到最初的影像,根据处理备注可以得知该影像所作处理的细节信息,例如几何校正图的校正次数与中误差。

4)系统为实测数据提供了创建点集与插值运算功能,其中创建点集功能根据实测数据经纬度与测量值生成shp文件,同时可以将该文件与影像文件叠加显示,以辅助用户了解采样点范围与分布情况。

插值运算功能可以对采样点进行多中不同的插值算法。

5)为提高系统的可扩展性,无论是新数据源还是经过实验验证比较成熟的监测模型,都可通过用户自行输入的方式对系统进行升级,简化了系统优化与升级操作,比较人性化,大大提高了系统的使用价值和工作效率。

6)实验小组通过对水体及其所含物质的物理光学性质进行分析研究,获得不同水质参数在影像中波谱响应特征,从而构建水质参数指数模型,该模型最大的优点就是可以不依赖于卫星同步的水质采样数据,这也使得遥感对水质分析的应用更容易。

利用基于影像光谱的指数模型,不但可以快速有效地揭示不同时间段湖区水质的时空变化,而且可以提高监测频率,该系统可就同一年份的每个月份的叶绿素浓度进行监测,且可得出变化信息。

1.3系统开发与应用环境

1.3.1开发环境

操作系统

MicrosoftXP

开发平台

VisualStudio2008+IDL7.1

开发语言

VisualC#+IDL

数据库

Access2007

1.3.2应用环境

1)软件要求

操作系统

MicrosoftXP

遥感平台

ENVI4.7

.Net运行库

.NetFramework3.5

数据库

Access2007

2)硬件要求

最低硬件要求

主频要求

600MHzPentiumCPU

内存要求

256MB以上内存

硬盘容量

10GB以上硬盘

显卡要求

独立显卡、32M以上显存显示卡

推荐硬件配置

主频要求

2G以上主频双CPU

内存要求

1G或以上内存

硬盘容量

40G以上硬盘

显卡要求

独立显卡、64M以上显存显示卡

2总体设计

2.1系统目标

该系统是结合遥感监测水质状况技术流程,利用免费的环境与灾害监测预报小卫星星座A、B星(HJ-1A /1B星)遥感影像,结合遥感监测水质状况技术流程,遵循系统健壮性和可扩展性原则,运用具有处理影像优势的IDL可视化交互语言,以及在系统方面具有健壮性的C#语言,构建本系统为建立东平湖水质优化方案提供可靠的数据支持和信息服务。

2.2系统数据源

系统采用的遥感数据为中国和巴西两国共同投资,联合研制的灾害监测预报小卫星星座A、B星(HJ-1A /1B星),该数据具有高时效性,过境时间为4天,同时,影像的谱段设置和空间分辨率与Landsat7/TM前4个波段完全相同,因此,利用HJ-1A /1B影像对东平湖水质参数监测具有强有力的数据支持和处理技术支持。

在构建系统之前,学院的国家基金项目提供了模型设计所需的实测数据,这些数据是通过GPS进行定位,同步采集水样进行实验分析获得,数据的准确性和科学性可以保证。

此外,基于湖区实测数据的影像建模过程还需要水质采样数据,影像自动筛需要当时当地气象统计数据,湖区提取需要湖区及周边DEM数据。

2.3系统总体结构

按照水质遥感监测的流程,系统采用C/S架构,主要包括数据层,逻辑层和表现层。

其中数据层有数据库和数据库管理类管理组成,主要用于遥感影像及其监测数据的存储和管理;逻辑层由数据准备模块、实测数据管理模块、影像预处理模块、水质参数反演模块、变化信息监测模块和监测结果展示与输出模块组成,主要提供遥感影像处理、反演计算和特征分布展示功能;表现层由主要DotNetBar组件与IDLDrawWidget控件构建,提供图像浏览操作和用户请求处理等功能。

具体见图1

图1系统总体层次结构图

2.3.1数据层

因为遥感数据量较大,为了实现遥感数据独立访问功能和提高数据库调用速度,遥感影像和影像元数据采用不同的存储模式,其中影像元数据和其他数据使用Access2007数据库存储,由DPHDataSetTableAdapters类管理,而影像数据存入于用户指定目录下,由C#从数据库中获取影像地址,并由IDL语言根据地址调用所需影像。

影像列表可以实现数据快速访问,但由于影像数据量大而导致列表过长,本系统中使用AppManager类对当前应用所需数据与处理结果数据进行分类管理,并为各个影像处理模块提供影像数据的快捷访问功能。

2.3.2逻辑层

这一层是连接数据层和用户界面层之间的桥梁,该层以IDL类的形式进行封装,开放出不同的接口供用户界面层调用,并能够从数据库中提取数据输送到用户的界面层。

主要包括:

数据准备、实测数据管理、影像预处理、监测模型和专题图输出等。

各模块之间既相互独立,又提供一些标准且简单的接口,允许使用者设置参数和属性以适应特定的应用要求。

2.3.3表现层

表现层是与用户交互的一层。

用户可根据系统界面反馈的信息,通过交互控件调用逻辑层中的功能,实现用户的处理目的。

这一层主要由交互组件DotNetBar和图像显示控件IDLDrawWidget控件构建。

2.4系统流程

一幅HJ-1A /1B遥感影像数据经筛选后加载进入系统,再经过影像预处理操作,然后进入水质监测模块,通过指数模型或统计回归模型进行水质参数及其变化监测;最后通过动画播放、专题图制图及统计报表等过程得到东平湖水质参数空间分布信息以及变化特征分布信息。

数据处理流程如图2所示。

图2系统流程图

3关键技术

3.1图形引擎

GraphManager类是本系统的图形引擎,是系统中其他带有图形交互操作类的基类。

该类封装了基本的图形交互操作功能:

图像加载、图像增强、颜色合成、平移、点击放缩、拉框放缩、任意放缩、复位。

该类由IDL对象图形法实现,其对象层次如图3所示。

图3对象层次结构图与实际操作界面

其中主视图oView是图形动态交互操作的核心对象,其工作原理如下:

在初始化该类的对象时先读取图像数组载入oImage,然后将oImage添加至oView中;假设图像尺寸为[x,y],设置oView的viewplane_rect=[0,0,x,y],则不论oView尺寸为多少oImage中的图像将会始终充满oView,因此图像平移放缩操作只需综合设置oView的Dimensions和Location属性则可方便实现。

GraphManager类使用viewState属性和SetViewState方法来管理当前视图操作状态,viewState可取值为“Pan”、“ZoomIn”、“ZoomOut”、“ZoomFree”,他们分别表示平移、放大、缩小、放缩,在鼠标交互事件处理方法中根据viewState的不同取值执行不同操作,而viewState的值通过SetViewState方法来设置。

GraphManager作为系统中图形操作的最底层,在其基础上又派生出了其他需要图形交互操作的类,如Warp(几何校正图像操控类)、Radiationcorrection类(相对辐射校正中的ROI操作类)、Stack类(栅矢叠加类)。

3.2半自动选择控制点

半自动选点是手动选点与自动选点的结合与创新,其选点速度快于手动选点,而选点精度高于自动选点。

本系统中的半自动选点通过感兴趣框完成,在基准图中用感兴趣框框住标志地物,再把校正图中的感兴趣框移至该标志地物附近(只需要标志在框内即可),然后点击选点按钮,则程序会自动调整校正图中的感兴趣框至匹配位置并添加控制点(也可设置只匹配不自动加点),如图4、图5所示,操作十分精确与便捷。

该方法由用IDL编写的几何校正类Registration提供,该类封装了两个Warp类对象。

Warp类继承于GraphManager,在其基类的基础上添加了校正视窗特有的图形对象与操作方法,比如:

显示十字线与感兴趣框、添加删除更新控制点、指定点居中(用于连接两幅图像)、获取指定区域DN值(用于半自动校正的图像匹配)等。

Registration类通过综合控制两个Warp对象来实现校正操作,其中一个加载基准图像,另一个加载待校正图像。

半自动校正采用常规图像匹配算法,以基准图感兴趣框内图像为窗口,在校正图感兴趣框及其周围寻求最佳匹配位置。

该技术大大提高了几何校正的精度和速度,两期影像可在2分钟之内完成校正,且校正精度可达到90%,实现了几何校正“傻瓜化”,即使一个不懂遥感的人也可以高质量的完成几何校正,从而提高该系统的实用性。

图4框选标志地物

图5半自动匹配结果

3.3应用数据管理

所谓应用数据管理,即对当前应用中的数据管理。

遥感图像多且数据量大,用户并不需要同时处理所有的影像,而只需把当前关心的影像加入该应用数据管理器中,便可以在系统的每个模块方便快捷的访问它们,如图6所示。

图6应用数据管理图示

系统中用C#编写的AppManager静态类(如图8所示)是整个应用程序的管理器,其中的部分属性和方法实现了应用数据管理功能。

1)AppManager中有一个私有的List类型的对象imageList和一个私有的List类型对象samplingList,它们分别记录当前应用中的影像数据信息与实测数据信息。

其他模块可通过与它们对应的只读属性获取其内容,并通过List自带的FindAll方法滤出模块所需要的信息。

2)SaveApp方法保存当前应用数据信息至硬盘中,该方法在系统关闭时被调用,它直接将序列化的imageList和samplingList对象写入文件。

3)InitApp方法从硬盘加载由SaveApp方法保存的文件,以便恢复用户上次退出的工作环境。

4)AddImageToList方法在从数据库导入影像至应用和应用中产生新影像时被调用,它将导入影像信息和新生影像信息存入管理其中,以备他用。

5)与上一条目中提到的方法对应的方法有AddSampleToList、RemoveImageFromList、RemoveSampleFromList,它们一起完成了应用数据管理功能。

AppManager的其他属性与方法简介:

1)advImageTree和advDataTree是对主窗体中TreeView控件的引用,以便在应用数据发生改变时同步刷新主窗体中的TreeView列表。

2)axIDLDrawWidget是对主窗体中的IDLDrawWidget控件的引用,以便在没有该控件的窗体上通过调用AppManager中ExecuteStr、CopyNamedArray和GetNamedData方法间接调用该axIDLDrawWidget来执行IDL命令。

 

图8AppManager

3.4影像建模

3.4.1建模类型

系统针对有无实测数据,设计指数模型和统计回归模型两种方式对湖区水质参数进行监测。

在没有实测数据情况下,可使用指数模型对湖区的各水质参数进行监测,该模型以水体及其所含物质的影像表征做为理论基础,设计目的是获取湖区水质状况的变化信息;如果具备影像地面同步数据,系统可通过统计回归模型对湖区的水质参数进行反演。

在进行构建系统之前,参赛小组基于学院的国家基金项目获得模型设计所需的实测数据。

这些数据是通过GPS进行定位,同步采集水样进行实验分析获得,数据的准确性和科学性可以保证。

3.4.2反演参数类型

在构建遥感模型的过程中,实验小组先大量阅读有关参考文献,学习水质遥感监测理论知识及监测方法,然后分别对实测数据和各水质参数光谱响应特性做了大量分析,最后根据实测数据采集时间,取对应的HJ-1A /1B遥感影像,对水质参数与影像波段相关性进行了大量实验。

最终研究结论如下:

1)水体中的总氮和总磷浓度均与叶绿素浓度具有很强的相关性,也就是说水体中总磷、总氮含量可由水体中的叶绿素浓度来近似表示,因此,这两个参数不需要再独立设置模型。

2)不同水质参数遥感监测模型的算法变量如表1所示。

表中的前四个水质参数是通过光谱响应特征及实测数据线性回归共同得到,第五个水质参数因无实测数据,仅通过波谱响应特征分析获得。

各水质参数与影响波段之间相关性分析如表1所示。

表1遥感监测水质参数与影像波段之间相关性分析表

序号

水质参数

相关性性较高的波段

平均相关系数R²

算法变量

1

透明度(cm)

B2

0.68

B2

2

总氮浓度(mg/L)

B4

0.51

B4

3

总磷浓度(mg/L)

B4

0.69

B4

4

叶绿素浓度(mg/L)

B4、B3

0.62、0.61

NDVI

5

总悬浮物浓度(mg/L)

B3/B1

注:

叶绿素浓度出现了两波段相关性较为接近现象,参阅有关论文,选取NDVI((B4-B3)/(B4+B3))作为算法变量,平均相关系数提高为0.83。

综上,在系统中设计的水质反演参数有叶绿素、悬浮物、透明度、总磷。

3.5影像自动筛选与裁剪

影像自动筛选功能根据对影像的元数据与实时气象数据的综合评价来实现。

本系统在众多影响影像质量众多因子中,选取了主要的可量化评判的影响因子,对所有的下载数据进行质量评判,最后筛选出影像综合质量等级比较高的影像作为本系统的数据源。

所用到的影响因子有:

影像元数据中的质量信息和云覆盖度、气象数据库中的气温、风速。

筛选过程如下图所示:

图7影像筛选流程

一幅下载的HJ-1A/1B影像约为800M,而东平湖只占其中一小部分,为排除其他部分的影响、减少数据量、提高系统运行速度,我们为系统添加了自动裁剪功能。

在对大量影像坐标统计的基础上,获得东平湖的范围的最佳坐标值,在影像第一次导入数据库时系统根据该坐标值对其进行粗略裁剪,然后在几何校正后影像会再次被精确裁剪与基准影像一致。

3.6影像动画播放

影像动画播放是展示水质参数动态变化过程的最佳选择。

本系统影像动画播放功能由AnimationPlay类完成,该类初始化时获取IDLDrawWidget组件的DrawId,然后采用一个View(IDLgrView)中添加两个Model(IDLgrModel)的方式实现影像切换的淡入淡出效果,有效地提高动画播放质量。

AnimationPlay类中的Play方法控制整个播放过程,通过设置其Second参数可以控制播放速度。

4页面设置

 

图8页面总体设置

5详细设计

根据水质遥感监测处理流程,设计出该系统的功能结构如图9所示。

图9系统功能结构图

其中数据准备模块是整个系统的数据入口与规整化处理模块;实测数据管理模块主要提供对实测数据的一些处理功能;影像预处理和水质遥感监测模块设计的主要目的是将水质参数遥感监测步骤程序化,并尽量简化影像的处理步骤;专题图输出模块主要用于监测结果输出打印。

5.1数据准备

数据准备是整个系统的数据入口与规整化处理模块。

系统三大主要源数据为影像数据、实测数据与气象数据。

针对三种数据的自身特点该模块分别为他们提供了不同的导入、浏览与维护操作。

5.1.1影像准备

1)影像下载

用户用户在保证连通互联网的前提下,可使用“影像下载”功能通过系统内置浏览器直接访问HJ-1A/1B星影像下载首页,输入用户名和密码后便可以进行影像选购与下载。

2)影像筛选

用户指定影像所在路径的根目录,程序自动读取该目录下所有影像的元数据,并在气象统计数据库检索对应时间的气象数据,然后根据上文中的评定模型对其进行筛选,最后生筛选结果表,用户可根据需要将该表导出为Excel文件,并根据表中的合格与否选取影像,从而完成影像的筛选(具体流程见图7)。

5.1.2数据入库

1)导入影像:

影像导入功能集多波段合成、影像裁剪与信息入库为一体。

用户首先导入要合成的单波段TIF文件与其元数据,然后为合成后的影像起一个标示名,最后一键完成合成、裁剪与入库操作。

2)导入实测数值

实测数据是水质监测统计模型中必不可少的参数,该功能将实测值导入数据库中统一管理,在导入过程中同时按基准影像计算其投影坐标与行列号,已备后面直接使用。

3)导入气象数据

气象数据是影像自动筛选的主要参考因子,本系统的气象数据由东平湖中心气象站提供。

新的气象数据可通过此功能导入数据库,以供影像筛选使用。

5.1.3数据列表

1)影像列表与元数据列表

影像列表直接连接当前系统中的所有影像,提供“打开”、“导入”、“删除”、“查看父影像”和“查看元数据”操作,其中:

“打开”功能将影像加载进影像浏览窗口中,同时该影像被包含进当前应用列表;

“导入”操作将一幅或多幅影像加入当前应用列表中;“删除”操作将选中影像彻底删除;

“查看父影像”操作将定位到选中影像的父影像,所谓父影像是指该影像是由哪一个影像经过一次操作获得的,例如:

名称为“0430校正”的影像是由“0430去噪”这个影像经过多项式几何校正得来的,那么“0430校正”影像的父影像就是0430去噪”;

“查看元数据”将打开选中影像的元数据。

2)实测数据列表

实测数据列表列出了每次导入的实测值的记录,双击某条记录,将打开这次实测值的详细列表。

该功能提供了对实测数据的“打开”、“导入”、“删除”操作。

3)气象数据列表

显示当前系统中已有的气象数据。

5.2实测数据处理

该模块提供了实测数据的一些辅助处理功能:

实测数据生成点数据集,点集与影像叠加和实测数据插值操作。

5.2.1点集操作

1)生成点数据集

该功能将根据实测数据经纬度坐标生成当前基准影像坐标系下的ShapFile点数据集。

生成的shp文件以用户指定的文件名存入指定路径下,该点文件可以与影像叠加显示,从而给出采样点的分布情况。

2)点集叠加操作

该操作与前一操作一起,构成实

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2