草庐IT

ENVI高分一号卫星预处理:以GF-1/WFV多光谱数据为例(含定标系数)

五一节154 2023-08-15 原文

目录

GF1/WFV卫星简介与预处理流程:

1.辐射定标:

2.大气校正:

3.正射/几何校正:

4.配准:具体可参考链接

5.拼接:


GF1/WFV卫星简介与预处理流程:

    GF1/WFV卫星数据参数见下表1。传感器WFV由四台相机组成,分别为WFV1、WFV2、WFV3、WFV4。

表1 GF1/WFV多光谱16m分辨率卫星参数介绍

GF1/WFV
卫星参数

多光谱

谱段号

谱段范围

1

0.45~0.52μm

2

0.52~0.59μm

3

0.63~0.69μm

4

0.77~0.89μm

分辨率

16m

幅宽

800km(四台相机组合)

覆盖周期

4天

    其中,GF1/WFV卫星数据预处理流程参照下图1中多光谱影像。

    辐射定标计算公式如下:

L (λ) = Gain × DN + Bais

    式中: L(λ)为转换后辐亮度( W·m-2·sr-1·μm-1 ) ;DN为卫星载荷观测值;Gain为波段增益( W·m-2·sr-1·μm-1 ) ;Bais为波段偏离值 ( W·m-2·sr-1·μm-1 )。

    Gain和DN值根据中国资源卫星应用中心公布的GF1/WFV历年定标系数得到,见下表2。其中2021年后的定标系数暂未公布,继续使用了原定标系数。

表2 GF1/WFV卫星绝对定标系数

GF1/gain
(offset均为0.0)

WFV1

WFV2

年份

B1

B2

B3

B4

B1

B2

B3

B4

2014

0.2004

0.1648

0.1243

0.1563

0.1733

0.1383

0.1122

0.1391

2015

0.1816

0.1560

0.1412

0.1368

0.1684

0.1527

0.1373

0.1263

2016

0.1843

0.1477

0.1220

0.1365

0.1929

0.1540

0.1349

0.1359

2017

0.2165

0.1685

0.1354

0.1507

0.2097

0.1630

0.1339

0.1521

2018

0.1824

0.1546

0.1270

0.1344

0.1851

0.1538

0.1231

0.1314

2019

0.2144

0.1647

0.1228

0.1213

0.2368

0.1745

0.1254

0.1163

2020

0.1932

0.1604

0.1280

0.1341

0.2057

0.1648

0.1260

0.1187

2021

0.1722

0.1496

0.1227

0.1262

0.1792

0.1534

0.1232

0.1291

2022

0.1722

0.1496

0.1227

0.1262

0.1792

0.1534

0.1232

0.1291

WFV3

WFV4

B1

B2

B3

B4

B1

B2

B3

B4

2014

0.1391

0.1514

0.1257

0.1462

0.1713

0.1600

0.1497

0.1435

2015

0.1770

0.1589

0.1385

0.1344

0.1886

0.1645

0.1467

0.1378

2016

0.1753

0.1565

0.1480

0.1322

0.1973

0.1714

0.1500

0.1572

2017

0.1870

0.1619

0.1295

0.1383

0.1770

0.1521

0.1322

0.1349

2018

0.1894

0.1728

0.1343

0.1373

0.1866

0.1599

0.1307

0.1251

2019

0.2139

0.1797

0.1344

0.1337

0.2442

0.1945

0.1547

0.1037

2020

0.2106

0.1825

0.1346

0.1187

0.2522

0.2029

0.1528

0.1031

2021

0.2044

0.1844

0.1429

0.1453

0.2102

0.1808

0.1442

0.1362

2022

0.2044

0.1844

0.1429

0.1453

0.2102

0.1808

0.1442

0.1362

    ENVI5.5以上版本增加了国产卫星数据读取和预处理功能,在App Store中下载添加。可参考下面链接(链接中附安装包)安全验证 - 知乎知乎,中文互联网高质量的问答社区和创作者聚集的原创内容平台,于 2011 年 1 月正式上线,以「让人们更好的分享知识、经验和见解,找到自己的解答」为品牌使命。知乎凭借认真、专业、友善的社区氛围、独特的产品机制以及结构化和易获得的优质内容,聚集了中文互联网科技、商业、影视、时尚、文化等领域最具创造力的人群,已成为综合性、全品类、在诸多领域具有关键影响力的知识分享社区和创作者聚集的原创内容平台,建立起了以社区驱动的内容变现商业模式。https://zhuanlan.zhihu.com/p/564116451

1.辐射定标:

    需要在open as中打开GF-1数据,只有xml文件可识别,选择即可。

    在Toolbox中打开Radiometric Correction——Apply Gain and Offset,选择需要定标的文件,下面Spectral Subset可以设置想要定标的通道,按需选择,这里是4个通道全选。

    点击ok后出现如下设置界面,Gain Values和Offset Values根据官方公布的参数可以重新设定。在Enter Output Filename中设置输出文件路径和名称。

    输出结果如下, 可以用Cursor Value查看一下。

2.大气校正:

    在Toolbox中打开Radiometric Correction——Atmospheric Correcion Module——FLAASH Atmospheric Correcion,选择刚才已经辐射定标好的文件,对其进行大气校正(注:为降低数据存储,大气校正后的数据被放大了10000倍,后续计算指标时记得换算一下,可以用band math功能,输入公式float(b1),b1即你要换算的通道)。

Imput Radiance Image:输入反射影像(前一步已经定标好的文件)

Output Reflectance File:输出反射率文件(输出的FLAASH文件名称)

Output Directory FLAASH Files:输出FLAASH文件路径(输出的FLAASH文件存储路径)

    Imput Radiance Image时弹出下面小窗口,选择Use single scale factor for all bands,参数设为1.000000。

   

    设置好前三项后,依次设置好下面红色框区的参数,Flight Data这里可以打开原始GF-1数据通过查看View Metadata中的Time来填写。一般Sensor Type和Sensor Altitude系统会自动读取不需要手动添加。Ground Elevation即地面高程,可以按照自己提取的ROI区域计算一下平均值填写进去(参照envi5.3处理高分二号影像数据详细过程记录_envi高分二号预处理_ligous的博客-CSDN博客)。Pixel Size下载的是16m数据就填16。

    大气、气溶胶模型参数的设置可以参照下图:附图链接

denvi5.3处理高分二号影像数据详细过程记录_envi高分二号预处理_ligous的博客-CSDN博客

    Multispectral Settings里对Filter Function File进行设置,找到filt_func文件夹,由于安装设置的不同,每个人的filt_func的存储路径会不同,总之找到你存储function的文件夹就行,这里我用的function是gf1的sli。

    Advanced Settings设置了Modtran Resolution为15cm,Tile Size设为100Mb,否则输出时长会久到离谱。

    设置好后点击ok,然后Apply。耐心等待输出结果吧!

3.正射/几何校正:

    在Toolbox中打开Geometric Correction——Orthorectification——RPC Orthorectification Workflow,输入已经大气校正后的文件,点击next。

    对Avanced进行设置,输出投影按自己需要设置,输出像元按照卫星分辨率设置,重采样方法一般都选Cubic Convolution。

        Export设置一下输出文件名和路径,点击Finish,耐心等待输出结果吧!

4.配准:具体可参考链接

    envi5.3处理高分二号影像数据详细过程记录_envi高分二号预处理_ligous的博客-CSDN博客

    我下载的GF-1数据中,基本上同一年数据几乎无地理偏差,但是不同年份间可能会存在偏差,我通常是将同一年数据先进行拼接,将拼接好的整幅数据再进行配准。大家根据实际情况按需处理吧。

5.拼接:

   在Toolbox中打开Mosaicking——Seamless Mosaic(无缝拼接功能加载的数据需要有同一个标准参考坐标系,否则无法拼接),将经过几何校正的数据加号导入。

    导入数据后,可对数据进行设置,忽略值设为0.0可以去黑边,颜色匹配可右键选择哪一个是参考,以效果最佳的为参考。

    无缝拼接这里可以选择自动生成,如果觉得效果不理想也可以手动编辑。

    其他设置如下:

    设置好参数后点击finish,耐心等待输出结果吧!

有关ENVI高分一号卫星预处理:以GF-1/WFV多光谱数据为例(含定标系数)的更多相关文章

  1. ruby - 忽略 Jekyll 中的特定标签 - 2

    我正在使用Jekyll构建一个站点,我的代码中有一些看起来像{{}}(液体标签)的东西。我希望它在Jekyll完成生成网站后最终出现在输出html中,但Jekyll将其解释为其他任何标记。有没有办法让Jekyll只忽略这个标签的这个特定实例? 最佳答案 使用{%raw%}标签:{%raw%}{{...}}{%endraw%}此代码段将生成{{...}}。 关于ruby-忽略Jekyll中的特定标签,我们在StackOverflow上找到一个类似的问题: htt

  2. u盘安装系统(win10为例) - 2

    下载微PE工具箱进入官网下载微PE工具箱-下载 安装好后,打开微PE工具箱客户端,选择安装PE到U盘 PE壁纸可选择自己喜欢的壁纸,勾选上包含DOS工具箱,个性化盘符图标 下载原版系统进入网站下载镜像NEXT,ITELLYOU如果没有账号,注册一下就好进入选择开始使用选择win10 这里我们选择消费者版,用迅雷把BT种子下载下来 下面的两个盘符,是PE工具箱安装进U盘后,分成的盘符,注意EFI的盘符,这里面不能删东西,也不能添东西,另一个盘符可以当做正常的U盘空间使用,我们现在需要把下载下来的景象文件复制到正常的U盘空间中去 这个时候我们的系统U盘就只做好了 安装系统我们将U盘插入电脑,开机,

  3. ruby - 使用aws sdk获取带有特定标签的ec2实例 - 2

    我正在尝试找出使用ruby​​awssdk获取带有特定标签(例如“测试”)的ec2实例列表的最佳方法。ec2=AWS::EC2.new(:access_key_id=>"XXXXXXXXXXXXX",:secret_access_key=>"YYYYYYYYY")ec2list=ec2.instances.filter("Name","testing)由于某些原因,这似乎不起作用。它认为它会过滤掉集合,只给我带有标签测试的实例。有没有办法使用ruby​​sdk来做到这一点?谢谢。 最佳答案 如果您想要标签“Name”的值为“test

  4. ruby - 为什么我的 cocoapods post_install Hook 没有更新我的预处理器宏? - 2

    几天来,我一直在四处寻找,试图弄清楚为什么我的post_installHook没有产生我期望的输出。这是我的Podfile:source'https://github.com/CocoaPods/Specs.git'target"SCCommon"doplatform:ios,"6.0"pod'AFNetworking','~>1.2.1'pod'Mantle','~>1.3'pod'PubNub','3.5.5'endtarget"SCCommon-TestHarness"doplatform:ios,"6.0"#inhibit_all_warnings!pod'SCCommon',

  5. ruby-on-rails - Rails 5 上一篇或下一篇文章仅来自特定标签 - 2

    我有一个名为posts的资源,其中有很多。但是,每个帖子可以有多个标签。我希望用户只能从所选标签转到上一篇和下一篇文章。我让它适用于上一个下一个数据库中的所有帖子,但是当我单击一个标签并显示所有标签时,上一个/下一个不符合标签是什么。如果我访问与routes.rb中定义的代码关联的url,get'tags/:tag',to:'posts#index',as::tag,它会列出索引中的所有标签。我不想要这个,我希望用户能够单击上一个或下一个,并且只能在与标签关联的帖子上执行此操作。注意:我使用的是friendly_idgemcontrollers/posts_controller.rbd

  6. ruby - 如何排除匹配特定标签的 RSpec 测试? - 2

    从命令行运行我的RSpec测试时,如何排除与特定标记匹配的测试? 最佳答案 在标签名称中使用~@,如下所示:rspecspec--tag~@slow查看文档:https://www.relishapp.com/rspec/rspec-core/docs/command-line/tag-option更新我现在正在Spork上运行我的测试,它似乎忽略了这个指令。不知道为什么。 关于ruby-如何排除匹配特定标签的RSpec测试?,我们在StackOverflow上找到一个类似的问题:

  7. javascript - 用于替换 javascript 关键字的预处理器 - 2

    我正在使用Angularversionofthe$qlibrary然而,这也与originalqlibrary有关.使用示例:$q.when(someFunction).then(function(){//..}).catch(function(){//..}).finally(function(){//..});不幸的是,一些函数名称(例如finally)与javascript关键字冲突。来自Angular引用资料:“因为finally是JavaScript中的保留字,ES3不支持保留关键字作为属性名称,因此您需要调用promise['finally'](callback)使您的代码

  8. javascript - 修改 MarkerClusterer 图标以获得最高分,而不是标记计数 - 2

    我正在寻找一些关于从哪里开始的建议:我目前在开发环境中启动并运行“vanilla”MarkerClusterer(大约3000个标记)。每个标记都有一个与之关联的分数,我想更改它,以便聚类标记代表它们包含的标记的最高分数(而不是仅代表标记的数量)。我应该去哪里,我将如何实现这一改变?谢谢! 最佳答案 使用setCalculator()方法定义您希望如何完成计算。这是使用originalfunction的代码.调整它以按照您想要的方式进行计算。每个簇调用一次计算器函数,因此结果是簇中您想要的文本及其应具有的样式的索引。your_clu

  9. javascript - 如何删除特定标签后的所有标签? - 2

    我需要删除#first之后且仅在#container中的标签。我怎样才能用jQuery做到这一点?Removemetoo谢谢 最佳答案 您可以使用nextAll方法:http://api.jquery.com/nextAll/$("#first").nextAll().remove(); 关于javascript-如何删除特定标签后的所有标签?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/ques

  10. 【C语言进阶】还说不会?一文带你全面掌握计算机预处理操作 - 2

    目录🍊前言🍊:🍈一、宏与函数🍈:        1.宏与函数对比:    2.宏与函数的命名约定:🍓二、预处理操作符🍓:    1.预处理操作符"#":    2.预处理操作符"##":🥝三、条件编译🥝:    1.简述条件编译指令:    2.常见条件编译指令:🍒总结🍒:🛰️博客主页:✈️銮同学的干货分享基地🛰️欢迎关注:👍点赞🙌收藏✍️留言🛰️系列专栏:💐【进阶】C语言学习            🧧  C语言学习🛰️代码仓库:🎉VS2022_C语言仓库    家人们更新不易,你们的👍点赞👍和⭐关注⭐真的对我真重要,各位路过的友友麻烦多多点赞关注,欢迎你们的私信提问,感谢你们的转发!    

随机推荐