GEE入门篇|遥感专业术语(实践操作4):光谱分辨率(Spectral Resolution)
目录
光谱分辨率(Spectral Resolution)
1.MODIS
2.EO-1
光谱分辨率(Spectral Resolution)
光谱分辨率是指传感器进行测量的光谱带的数量和宽度。 您可以将光谱带的宽度视为每个波段的波长间隔,在多个波段测量辐射亮度的传感器称为多光谱传感器(通常为 3-10 个波段),而具有多个波段(可能数百个)的传感器称为高光谱传感器。 然而,这些都是相对术语,没有普遍接受的定义。让我们将多光谱 MODIS 仪器与 EO-1 卫星上的高光谱 Hyperion 传感器进行比较,该传感器也可在 Earth Engine 中使用。
1.MODIS
有一种简单的方法可以检查图像中的波段数量,在此之前,如同我们在前面内容中所做的那样,搜索“modis500”并导入“MOD09A1.061 Terra Surface Reflectance 8-day Global 500 m”数据集, 将其命名为mod09,以下代码是查看modis图像中的波段数量,前几句代码是定义了一个兴趣点,我们查看的图像的波段就数量是这个兴趣点的。
// Define a region of interest as a point at San Francisco airport.
var sfoPoint = ee.Geometry.Point(-122.3774, 37.6194);
// Center the map at that point.
Map.centerObject(sfoPoint, 16);
// MODIS
// Get an image from your imported MODIS MYD09GA collection.
var modisImage = mod09.filterDate('2020-02-01', '2020-03-01').first();
// Use these MODIS bands for near infrared, red, and green,respectively.
var modisBands = ['sur_refl_b02', 'sur_refl_b01','sur_refl_b04'];
// Define visualization parameters for MODIS.
var modisVis = {bands: modisBands,min: 0,max: 3000};
// Add the MODIS image to the map.
Map.addLayer(modisImage, modisVis, 'MODIS');
/
// Explore spectral resolution
/
// Get the MODIS band names as an ee.List
var modisBands = modisImage.bandNames();
// Print the list.
print('MODIS bands:', modisBands);
// Print the length of the list.
print('Length of the bands list:', modisBands.length());
注意,并非所有波段都是光谱波段。 正如我们对时间分辨率所做的那样,让我们绘制光谱带以检查光谱分辨率。 如果您对波段列表中的不同波段有疑问,请记住,您可以通过访问 Earth Engine 中的数据集信息页面或数据或卫星的网页来查找此信息。
// Graph the MODIS spectral bands (bands 11-17).
// Select only the reflectance bands of interest.
var reflectanceImage = modisImage.select(
'sur_refl_b01',
'sur_refl_b02',
'sur_refl_b03',
'sur_refl_b04',
'sur_refl_b05',
'sur_refl_b06',
'sur_refl_b07'
);
和之前一样,我们将自定义图表以使其更易于阅读。
// Define an object of customization parameters for the chart.
var options = {title: 'MODIS spectrum at SFO',hAxis: {title: 'Band'},vAxis: {title: 'Reflectance'},legend: {position: 'none'},pointSize: 3
};
并使用 ui.Chart.image.regions 函数创建图表。
// Make the chart.
var modisReflectanceChart = ui.Chart.image.regions({image: reflectanceImage,regions: sfoPoint
}).setOptions(options);
// Display the chart.
print(modisReflectanceChart);
图1 MODIS 的 TOA 反射率图
结果图表如图1 所示,使用右上角的展开按钮可以查看比打印到控制台的图表更大的图表版本。
2.EO-1
现在,让我们将 MODIS 与 EO-1 卫星的高光谱传感器进行比较, 搜索“eo-1”并导入“EO-1 Hyperion Hyperspectral Imager”数据集, 将其命名为 eo1,我们可以查看 EO-1 传感器的波段数。
// Get the EO-1 band names as a ee.List
var eo1Image = eo1.filterDate('2015-01-01', '2016-01-01').first();
// Extract the EO-1 band names.
var eo1Bands = eo1Image.bandNames();
// Print the list of band names.
print('EO-1 bands:', eo1Bands);
检查控制台中打印的频段列表,请注意高光谱仪器还提供了多少个波段,现在让我们像处理 MODIS 数据一样创建反射率图表。
// Create an options object for our chart.
var optionsEO1 = {title: 'EO1 spectrum',hAxis: {title: 'Band'},vAxis: {title: 'Reflectance'},legend: {position: 'none'},pointSize: 3
};
// Make the chart and set the options.
var eo1Chart = ui.Chart.image.regions({image: eo1Image,regions: ee.Geometry.Point([6.10, 81.12])
}).setOptions(optionsEO1);
// Display the chart.
print(eo1Chart);
结果图表如图 2所示,波段太多了,名字只出现“……”!
图 2 控制台中显示的 EO-1 TOA 反射率图, 注意展开按钮右上角的图表
图3 EO-1 的 TOA 反射率展开图
如果我们点击图表右上角的展开图标,就可以更容易地看到波段标识符,如图 4.19 所示。 将此高光谱仪器图与我们的多光谱图进行比较上图为 MODIS。
相关文章:

GEE入门篇|遥感专业术语(实践操作4):光谱分辨率(Spectral Resolution)
目录 光谱分辨率(Spectral Resolution) 1.MODIS 2.EO-1 光谱分辨率(Spectral Resolution) 光谱分辨率是指传感器进行测量的光谱带的数量和宽度。 您可以将光谱带的宽度视为每个波段的波长间隔,在多个波段测量辐射亮…...
c++中模板的注意事项
1. 模板定义时,<>中的虚拟类型参数不能为空。(因为我们使用模板就是希望使用模拟类型代替其它的类型,如果我们不定义就没有意义了) 2. 无论是定义函数模板还是类模板,其实template定义与后面使用虚拟类型的类或者函数,是…...
【代码随想录python笔记整理】第十三课 · 链表的基础操作 1
前言:本笔记仅仅只是对内容的整理和自行消化,并不是完整内容,如有侵权,联系立删。 一、链表 在之前的学习中,我们接触到了字符串和数组(列表)这两种结构,它们具有着以下的共同点:1、元素按照一定的顺序来排列。2、可以通过索引来访问数组中的元素和字符串中的字符。由此,…...

JAVA工程师面试专题-《Mysql》篇
目录 一、基础 1、mysql可以使用多少列创建索引? 2、mysql常用的存储引擎有哪些 3、MySQL 存储引擎,两者区别 4、mysql默认的隔离级别 5、数据库三范式 6、drop、delete 与 truncate 区别? 7、IN与EXISTS的区别 二、索引 1、索引及索…...
@ 代码随想录算法训练营第4周(C语言)|Day22(二叉树)
代码随想录算法训练营第4周(C语言)|Day22(二叉树) Day22、二叉树(包含题目 ● 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点 ) 235. 二叉搜索树的最近公…...

福特锐界2021plus 汽车保养手册
福特锐界2021plus汽车保养手册两页,零部件保养要求,电子版放这里方便查询:...
c++进阶路线
学完C后的进阶路线-初学者勿入【程序员Rock】_哔哩哔哩_bilibili 1.系统训练代码阅读能力 代码阅读工具: 1).Source Insight(阅读大型源码) 2).understand(整体代码模块关系构建) 3).SOURCETRAIL 代码阅读能力--千行级 嵌入…...

python中的类与对象(2)
目录 一. 类的基本语法 二. 类属性的应用场景 三. 类与类之间的依赖关系 (1)依赖关系 (2)关联关系 (3)组合关系 四. 类的继承 一. 类的基本语法 先看一段最简单的代码: class Dog():d_…...
Android横竖屏切换configChanges=“screenSize|orientation“避免activity销毁重建,Kotlin
Android横竖屏切换configChanges"screenSize|orientation"避免activity销毁重建,Kotlin 如果不在Androidmanifest.xml设置activity的: android:configChanges"screenSize|orientation" 那么,每次横竖屏切换activity都会…...

【C语言基础】:操作符详解(二)
文章目录 操作符详解一、上期扩展二、单目操作符三、逗号表达式四、下标访问[]、 函数调用()五、结构成员访问操作符六、操作符的属性:优先级、结合性1. 优先级2. 结合性 操作符详解 上期回顾:【C语言基础】:操作符详解(一) 一、上期扩展 …...
模型训练基本结构
project_name/ │ ├── data/ │ ├── raw/ # 存放原始数据 │ ├── processed/ # 存放预处理后的数据 │ └── splits/ # 存放数据集划分(训练集、验证集、测试集等) │ ├── noteboo…...
Redis 数据结构详解:底层实现与高效使用场景
String(字符串) 底层实现细节: 动态字符串(SDS): SDS相比于C语言的原生字符串,提供了自动内存管理和预分配机制。当字符串长度增加时,SDS会预先分配额外的空间,以减少内存重新分配…...
Vue2:router-link的replace属性
一、情景说明 我们在用浏览器访问网站的时候 知道浏览器会记录访问的历史路径,从而,可以退回到之前的页面 那么,Vue项目中的路由组件,通过router-link跳转,也是可以退回的 这里,我们用replace来屏蔽退回的…...

普中51单片机(DS18B20温度传感器)
DS18B20温度传感器原理 内部结构 64位(激)光刻只读存储器 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身…...
2.23C语言学习
P1480 A/B Problem 高精度数除以非高精度数 #include<bits/stdc.h> long long b[66660],c[66660],sum0; char a[66660]; int n; int main(){scanf("%s",a);scanf("%d",&n);int lenstrlen(a);for(int i1;i<len;i){b[i]a[i-1]-0;}for(int i1;…...
origin/master master
这里实际上有三件事:origin master是两件事,origin/master一件事。共计三件事。 两个分支: master 是一个本地分支 origin/master是远程分支(它是名为“origin” 的远程分支的本地副本,名为“master”) 一个…...

【数据结构】时间复杂度与空间复杂度
目录 时间复杂度 空间复杂度 时间复杂度 算法的时间复杂度并不是指一个代码运行时间的快慢,因为在不同机器上运行的时间肯定不同,因此算法的时间复杂度指的是基本操作的执行次数,他是一个数学意义上的函数。这个函数并不是C语言中那种函数&…...
分别使用js与jquery写 单击按钮时出现内容 点击删除按钮不会再向下出现
HTML部分 <body><button id"btn">单击我</button><button id"delAll">删除所有事件</button><div id"test"></div> </bady>jQuery代码 <script type"text/JavaScript" src"…...

【Git】Git命令的学习与总结
本文实践于 Learn Git Branching 这个有趣的 Git 学习网站。在该网站,可以使用 show command 命令展示所有可用命令。你也可以直接访问网站的sandbox,自由发挥。 一、本地篇 基础篇 git commit git commit将暂存区(staging areaÿ…...

前端工程化面试题 | 18.精选前端工程化高频面试题
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 E…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解
JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用,结合SQLite数据库实现联系人管理功能,并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能,同时可以最小化到系统…...

浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...

并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...

C++实现分布式网络通信框架RPC(2)——rpc发布端
有了上篇文章的项目的基本知识的了解,现在我们就开始构建项目。 目录 一、构建工程目录 二、本地服务发布成RPC服务 2.1理解RPC发布 2.2实现 三、Mprpc框架的基础类设计 3.1框架的初始化类 MprpcApplication 代码实现 3.2读取配置文件类 MprpcConfig 代码实现…...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...