GEE入门篇|遥感专业术语(实践操作4):光谱分辨率(Spectral Resolution)

本文主要是介绍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)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/752116

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Java调用DeepSeek API的最佳实践及详细代码示例

《Java调用DeepSeekAPI的最佳实践及详细代码示例》:本文主要介绍如何使用Java调用DeepSeekAPI,包括获取API密钥、添加HTTP客户端依赖、创建HTTP请求、处理响应、... 目录1. 获取API密钥2. 添加HTTP客户端依赖3. 创建HTTP请求4. 处理响应5. 错误处理6.

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from