作品展示▏孙玉超:基于国产高分影像的典型海岛监视监测系统设计
海岛是指被海水环绕的小片陆地,我国500m2以上的海岛有7000多个,大部分是无居民海岛。海岛是人类开发海洋的远涉基地和前进支点,是海洋经济区前沿,在国土划界和国防安全上具有重要地位,开发海岛对于建设海洋经济强国具有十分重大的意义。近年来,我国无居民海岛上围海养殖、填海造地、旅游开发等人类开发活动日益增多,为了掌握我国海岛形态和开发利用的变化情况,国家海洋局于2016年开展了首次全国海岛四项基本要素监视监测工作,采用遥感解译和现场核查相结合的技术手段对全国无居民海岛的数量变化、形态变化、开发利用、植被覆盖四项基本要素进行监视监测。
本系统是在海岛四项基本要素监视监测工作基础上,以南海区人类开发活动明显的多个无居民海岛为监测目标,以国产高分影像作为监测数据来源,建立一套影像数据批量处理、海岛范围自动提取、海岛开发利用变化自动检测以及监测成果图件批量输出的海岛监视监测系统,提高典型海岛监视监测的自动化水平,为海岛监视监测工作提供技术支撑。
一、已有数据基础
海岛四项基本要素监视监测工作以海岛地名普查名录为基础,以2012年左右高分辨率海岛航空影像为参考,提取了全国无居民海岛岸线,并以此作为海岛变化监测的依据。因此,海岛航空影像以及提取的海岛岸线可作为海岛监视监测的基准数据。
根据2016年度海岛四项基本要素监视监测结果,南海区有多个无居民海岛变化明显,且人类开发活动还在持续进行,这些无居民海岛将作为监视监测的典型海岛。
二、影像数据来源
近年来,国产高分辨率遥感卫星的发展突飞猛进,天绘系列卫星、资源三号卫星、高分一号和高分二号卫星以不断提高的影像空间分辨率、逐步增强的影像获取能力、较好的影像现势性以及较高的时间分辨率,在地理国情监测、土地调查、城市规划、应急减灾、水利环保、海洋、农林业等各个行业领域发挥着越来越重要的作用。
海岛四项基本要素监视监测工作的影像数据来源主要为国产高分影像。中国资源卫星应用中心定期向各应用部门下发资源三号、高分一号和高分二号等国产高分影像,并由国家海洋信息中心下发至各海区技术单位,笔者所在单位为南海区海岛四项基本要素监视监测工作牵头单位,以上影像数据可作为南海区典型海岛监视监测的影像数据来源。
三、系统关键技术研究
本系统拟实现影像数据批量处理、海岛岸线自动提取、海岛开发利用变化自动检测以及监测成果图件批量输出等功能。
⒈ 影像数据批量处理
影像处理包括影像融合、大气校正、影像配准和影像裁减等操作。目前,ENVI软件提供6种影像融合算法;提供严格轨道模型和RPC有理多项式系数2种正射校正模型;提供流程化的影像自动配准工具;提供基于矢量范围的影像裁减工具。通过对ENVI软件二次开发调用以上工具,可以实现影像数据批量处理。
⒉ 海岛岸线自动提取
海岛岸线提取主要是对海岛水边线进行识别并提取,ENVI软件提供面向对象空间特征提取模块(Feature Extraction),该模块包含3个工具,分别是基于样本选择的特征提取、基于规则的特征提取与分割式特征提取,该模块可以根据影像空间和光谱特征,从高分辨率全色或者多光谱数据中提取特征信息,其中基于规则的特征提取工具可采用单波段影像用于海岛水边线自动提取。基于海岛水边线提取的岸线为瞬时岸线,会随着潮位的不同而发生变化,需要人工辅助确定最终的海岛岸线。
⒊ 海岛开发利用变化自动检测
海岛开发利用变化检测主要通过对比多期遥感影像,采用软件分析海岛开发利用变化情况。ENVI 软件提供直接比较法和分类后比较法两种分类方法,并有多个流程的动态监测工具,可以自动检测变化信息,并对提取的矢量范围进行变化分类。但对于不同的遥感影像以及不同类型的检测目标,需要设置对应的阈值。
⒋ 监测成果图件批量输出
将自动提取的海岛范围以及开发利用变化信息与2012年海岛岸线叠加到最新遥感影像上,在ArcGIS软件中输出监测成果图件。通过对ArcGIS软件进行二次开发,可以自动加载矢量数据和影像数据,并进行符号化和出图整饰,批量导出成果图件。
四、编程技术手段
⒈ IDL与C#混合编程技术
C#是微软推出的一种基于.NET框架的、面向对象的高级编程语言,C#综合了VB简单的可视化操作和C++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。
IDL是一种数据分析和图像化应用程序及编程语言,它可以调用ENVI软件中的任何函数和功能。C#可以通过COM组件的方式直接调用IDL组件,从而实现与IDL的混合编程。
⒉ ArcGIS二次开发技术
ArcGIS(Desktop)是GIS行业功能最齐全、应用最广泛的综合性GIS软件,支持包括制图、数据整理、分析、地理数据和影像管理以及地理信息共享等多种GIS任务,ArcGIS提供多种二次开发方式,应用比较广泛的是基于ArcGIS Engine进行组件式二次开发。ArcGIS Engine是一个完整的嵌入GIS组件库和工具,开发人员可以用来创建新的独立的GIS应用程序,通过C#语言调用ArcGIS Engine组件,可以快速构建功能强大的GIS应用软件。
⒊ ENVI二次开发技术
ENVI遥感影像处理软件是基于交互式数据语言IDL开发的一套功能强大的遥感影像处理系统,ENVI软件提供多个影像处理函数及ENVITasks接口,可以通过IDL语言直接调用进行二次开发。
五、系统开发思路
本系统拟采用C#和IDL编程语言,通过对ENVI软件和ArcGIS Engine进行一体化集成二次开发,实现系统相关功能。
⒈ ENVI相关功能调用
遥感影像批量处理功能主要通过IDL调用ENVI软件中的函数和ENVITasks接口,系统需实现功能和拟调用函数见下表:
序号 | 需实现功能 | 拟调用函数 | 说明 |
1 | 影像融合 | ENVI_GS_SHARPEN_DOIT | 执行Gram-Schmidt融合方法 |
2 | 大气校正 | envi_quac_doit | 调用快速大气校正函数 |
3 |
影像配准 | GenerateTiePointsBy CrossCorrelation | ENVITASK:自动找点 |
FilterTiePointsBy GlobalTransform | ENVITASK:对找点结果进行过滤 | ||
ImageToImage Registration | ENVITASK:图像配准 | ||
4 | 影像裁减 | ENVI_MASK_APPLY_DOIT | 基于矢量文件裁剪 |
5 | 海岛岸线提取 | envi_fx_doit | 面向对象的特征 提取 |
6 |
海岛变化检测 | ImageBandDifference | ENVITASK:波段差值计算 |
AutoChangeThreshold Classification | ENVITASK:自动阈值分割 | ||
Classification Smoothing | ENVITASK:平滑分类 | ||
Classification Aggregation | ENVITASK:聚类分类 | ||
Classification ToShapefile | ENVITASK:栅格转矢量 |
在ENVI软件环境下,采用IDL调用上述函数后,编译成pro文件,可供C#调用进行影像批量处理。
⒉ ArcGIS相关功能调用
ArcGIS提供了超过900个地理处理工具(GP工具),ArcGIS Engine可以直接对这些GP工具进行调用,系统需实现功能及拟调用GP工具见下表:
序号 | 需实现功能 | 拟调用GP工具 | 说明 |
1 |
影像辅助处理 | ProjectRaster | 影像投影 |
BuildPyramids | 影像构建金字塔 | ||
RasterDomain | 栅格转矢量 | ||
2 |
矢量数据处理 | Merge | 合并多个图层 |
MultipartToSinglepart | 打散面 | ||
Clip | 矢量范围对矢量裁减 |
监测成果图件需采用事先绘制好的出图模板,加载海岛岸线及变化信息等矢量数据,并进行符号化处理,叠加在遥感影像上,进行批量出图。
最后,在C#开发环境下,分别调用以上ENVI和ArcGIS函数和工具,将影像处理、变化检测及图件绘制等功能集成到一个软件系统中,实现对典型海岛的监视监测。
六、小结
通过对ENVI软件和ArcGIS Engine进行一体化集成开发,可以调用ENVI软件和ArcGIS软件的大部分功能,实现影像数据融合、正射校正、配准和裁减等流程的批量处理;实现海岛岸线提取以及海岛开发利用变化检测;实现监测数据与遥感影像批量叠加出图,最终能较大程度的提高海岛监视监测自动化水平。
以上功能中,影像批量处理及成果图件批量输出笔者已在“海岛四项基本要素监视监测数据处理系统”中实现,而海岛岸线自动提取及海岛开发利用变化自动检测是该系统实现的重点和难点,将直接影响海岛监视监测系统的自动化程度。为了解决该项难点工作,需要深入研究国产高分影像自动分类技术,并探索在海岛监视监测中的应用。
【作者简介】孙玉超,男,1987年12月出生,湖南益阳人,国家海洋局南海规划与环境研究院,注册测绘师。主要从事GIS软件开发、海洋测绘及航空摄影测量等工作,具有十年的GIS软件开发经验和5年的海洋工作经验,专注于GIS技术在海洋相关工作中的运用。
相关阅读推荐
公众号
溪流之海洋人生
微信号▏xiliu92899
用专业精神创造价值
用人文关怀引发共鸣
您的关注就是我们前行的动力
投稿邮箱▏452218808@qq.com