GEE入门篇|遥感专业术语(实践操作2):空间分辨率(Spatial Resolution)

目录

空间分辨率(Spatial Resolution)

1.MODIS(搭载在Aqua 和 Terra 卫星上)

2. TM(搭载在早期LandSat卫星上)

3.MSI(搭载在在Sentinel-2 卫星上)

4.NAIP


空间分辨率(Spatial Resolution)

        空间分辨率与单个像素覆盖的地球表面面积有关。 它通常以线性单位表示,用于方形像素的单边:例如,我们通常说 Landsat 7 具有30 m彩色图像,这意味着每个像素边长为 30 m,覆盖地球表面的总面积为 900㎡。 空间分辨率通常也称为尺度,正如我们在本章中打印该值时所看到的那样。 当您在地球表面查看图像时,给定数据集的空间分辨率会极大地影响图像及其信息的外观。

        接下来,我们将可视化来自以不同空间分辨率捕获数据的多个传感器的数据,以比较不同像素大小对图像中的信息和细节的影响。 我们将从每个 ImageCollection 中选择一个图像进行可视化。 为了查看图像,我们将它们分别绘制为彩色红外图像,这是一种使用红外、红色和绿色波段的伪彩色图像。 当您浏览练习的这一部分时,放大和缩小以查看像素大小和图像大小的差异。

1.MODIS(搭载在Aqua 和 Terra 卫星上)

        正如前面内容中所讨论的,MODIS采集的红外、红、绿波段常用分辨率为500m,这意味着每个像素的边长为 500m,因此一个像素代表地球表面 0.25平方千米的面积。 使用以下代码将地图置于旧金山机场的中心,缩放级别为 16。

//
// Explore spatial resolution
//
// 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 数据、获取相关信息并将其导入到 Earth Engine 工作区中。 首先在地球引擎搜索栏中搜索“MODIS 500”(图1)。

图1 使用搜索栏 搜索MODIS数据集

        使用它导入“MOD09A1.061 Terra Surface Reflectance 8-day Global500 m”图像集合,导入的默认名称出现在脚本的顶部, 将导入的名称更改为 mod09(图2)。 探索新数据集时,您可以通过阅读数据集的摘要文档(称为元数据)来查找该集中图像中的波段名称。 在此数据集中,彩色红外图像的三个波段是“sur_refl_b02”(红外)、“sur_refl_b01”(红色)和“sur_refl_b04”(绿色)。 

图2 重命名导入的MODIS数据集 

// 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');

        在地图窗口中,您现在应该看到类似这样的内容(图3)。

图3 查看旧金山机场的 MODIS 图像

        您可能会惊讶地发现通常称为“正方形”的像素显示为平行四边形。 像素的形状和方向由数据集的“投影”以及我们查看它们的投影控制。大多数用户不必非常关心 Earth Engine 中的不同投影,它会自动在不同的投影之间传输数据。

        让我们查看相对于地面物体的像素大小。 单击地图窗口右上角的卫星,打开卫星底图以查看高分辨率数据进行比较。 然后,降低图层的不透明度:使用图层滑块在图层管理器中设置不透明度。 结果将如图 4 所示。

图 4 使用透明度查看 MODIS 像素大小与旧金山机场高分辨率图像的关系 

        通过运行以下代码打印像素的大小(以米为单位):

// Get the scale of the data from the NIR band's projection:
var modisScale = modisImage.select('sur_refl_b02').projection().nominalScale();
print('MODIS NIR scale:', modisScale);

        在那次调用中,我们在访问 MODIS NIR 波段的投影信息后使用了nominalScale 函数。 该函数以适合打印到屏幕的格式从投影信息中提取空间分辨率。 由于 MODIS 数据的正弦投影以及像素距天底(即卫星直接指向地球表面的位置)的距离,nominalScale 函数返回的值略低于规定的 500 m 分辨率(图5)。

图5  nominalScale 函数返回的值

2. TM(搭载在早期LandSat卫星上)

        Landsat 4 和 5 上搭载了专题制图仪(TM) 传感器。TM 数据已处理为 30 m 的空间分辨率,并在 1982 年至 2012 年期间处于活动状态。搜索“Landsat 5 TM”并导入名为“USGS Landsat 5 TM Collection 2 Tier 1 Raw Scenes”的结果。 以与重命名 MODIS 集合相同的方式,重命名为tm。在此数据集中,彩色红外图像的三个波段称为“B4”(红外)、“B3”(红色)和“B2”(绿色)。 现在让我们可视化机场的 TM 数据并将其与 MODIS 数据进行比较。 请注意,我们可以将可视化参数定义为变量(如前面的代码片段所示),也可以将它们放在 Map.addLayer 函数中的大括号中(如此代码片段所示)。当您运行此代码时,TM 图像将 展示。 请注意与 MODIS 图像相比,屏幕上显示的像素多了多少(图6)。

// TM
// Filter TM imagery by location and date.
var tmImage = tm.filterBounds(Map.getCenter()).filterDate('1987-03-01', '1987-08-01').first();
// Display the TM image as a false color composite.
Map.addLayer(tmImage, {
    bands: ['B4', 'B3', 'B2'],
    min: 0,
    max: 100
    }, 'TM');

 图6 可视化来自 Landsat 5 卫星的 TM 图像

        正如我们对 MODIS 数据所做的那样,让我们检查一下比例。 比例尺以米表示:

// Get the scale of the TM data from its projection:
var tmScale = tmImage.select('B4').projection().nominalScale();
print('TM NIR scale:', tmScale);

 图6  nominalScale 函数返回的值

3.MSI(搭载在在Sentinel-2 卫星上)

        多光谱仪器 (MSI) 搭载在欧洲航天局运营的 Sentinel-2 卫星上。 红色、绿色、蓝色和近红外波段以 10 m 分辨率捕获,而其他波段以 20 和 30 m 捕获。 Sentinel-2A 卫星于 2015 年发射,2B 卫星于 2017 年发射。在搜索栏中搜索“Sentinel 2 MSI”,并将“Sentinel-2 MSI:MultiSpectral Instrument,Level-1C”数据集添加到您的工作区 。 将其命名为 MSI。 在此数据集中,彩色红外图像的三个波段称为“B8”(红外)、“B4”(红色)和“B3”(绿色)。 

// MSI
// Filter MSI imagery by location and date.
var msiImage = msi.filterBounds(Map.getCenter())
.filterDate('2020-02-01', '2020-04-01').first();
// Display the MSI image as a false color composite.
Map.addLayer(msiImage, {
    bands: ['B8', 'B4', 'B3'],
    min: 0,
    max: 2000
}, 'MSI');

         使用不透明度滑块将 MSI 影像与 TM 和 MODIS 影像进行比较。 请注意您可以看到机场航站楼和周围景观的更多细节。 10 m 空间分辨率意味着每个像素覆盖地球表面约 100㎡,比 TM 影像(900㎡)或 MODIS 影像(0.25 km²)小得多(图7)。 显示的 MSI 图像也比我们见过的其他仪器要小。 缩小直到您可以看到整个旧金山湾,MODIS 图像覆盖了整个地球,TM 图像覆盖了整个旧金山湾和蒙特雷以南的周边地区,而 MSI 图像捕获的区域要小得多(图8)。

图7 可视化MSI图像 

图8 MODIS、Landsat 5(TM 仪器)和 Sentinel-2(MSI 仪器)数据集的图像大小可视化 

        检查MSI传感器的分辨率(以米为单位),如图9所示:

// Get the scale of the MSI data from its projection:
var msiScale = msiImage.select('B8').projection().nominalScale();
print('MSI scale:', msiScale);

图9 MSI传感器的分辨率

4.NAIP

        国家农业图像计划 (NAIP) 是美国政府的一项计划,旨在使用机载传感器获取美国大陆的图像, 大约每三年收集一次每个州的数据。 图像的空间分辨率为 0.5–2 m,具体取决于州和收集的日期。 搜索“naip”并导入“NAIP:国家农业影像计划”的数据集。 将导入命名为 naip,在此数据集中,彩色红外图像的三个波段称为“N”(红外)、“R”(红色)和“G”(绿色)。 

/ NAIP
// Get NAIP images for the study period and region of interest.
var naipImage = naip.filterBounds(Map.getCenter())
.filterDate('2018-01-01', '2018-12-31')
.first();
// Display the NAIP mosaic as a color-IR composite.
Map.addLayer(naipImage, {
  bands: ['N', 'R', 'G']
  }, 'NAIP');

         NAIP 图像比 Sentinel-2 MSI 图像在空间上更加详细。 然而,我们可以看到我们的一张 NAIP 图像并未完全覆盖旧金山机场。 如果您愿意,可以缩小以查看 NAIP 图像的边界,就像我们对 Sentinel-2 MSI 图像所做的那样(图 10)。并获取比例,就像我们之前所做的那样。

图10 旧金山机场上空的 NAIP 彩色红外合成图 

// Get the NAIP resolution from the first image in the mosaic.
var naipScale = naipImage.select('N').projection().nominalScale();
print('NAIP NIR scale:', naipScale);

        我们检查的每个数据集都有不同的空间分辨率。 通过比较空间中同一位置的不同图像,您可以看到 MODIS 大像素、TM (Landsat 5) 和 MSI (Sentinel-2) 中型像素以及 NAIP 小像素之间的差异,大像素的数据集也称为“粗分辨率”,中等像素的数据集也称为“中分辨率”,小像素的数据集也称为“精细分辨率”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/406751.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于qt的图书管理系统----03核心界面设计

参考b站:视频连接 源码github:github 目录 1 添加软件图标2 打包程序3 三个管理界面设计4 代码编写4.1 加载界面4.2 点击按钮切换界面4.3 组团添加样式4.4 搭建表头4.5 表格相关操作 从别人那里下载的项目会有这个文件,里边是别人配置的路径…

ETL:数据转换与集成的关键过程

ETL:数据转换与集成的关键过程 在现代数据驱动的世界中,有效地管理和处理数据对于企业的成功至关重要。ETL(提取、转换、加载)是一种关键的数据处理过程,有助于将数据从源系统提取、清洗、转换并加载到目标系统中&…

大蟒蛇(Python)笔记(总结,摘要,概括)——第9章 类

目录 9.1 创建和使用类 9.1.1 创建Dog类 9.1.2 根据类创建实例 9.2 使用类和实例 9.2.1 Car类 9.2.2 给属性指定默认值 9.2.3 修改属性的值 9.3 继承 9.3.1 子类的_init_()方法 9.3.2 给子类定义属性和方法 9.3.3 重写父类中的方法 9.3.4 将实例用作属性 9.3.5 模拟实物 9.…

Maven setting.xml 配置

目的:可以把我们书写的jar包发布到maven私有仓库,简称私仓 1. 打开云效 2.点击 非生产库-snapshot mave release仓库与snapshot仓库区别? 在软件开发中,"Maven release 仓库"和"Maven snapshot 仓库"是两种…

google浏览器chrome无法访问localhost等本地虚拟域名的解决方法

场景一: 谷歌浏览器访问出现:forbbiden 403 问题,或者直接跳转到正式域名(非本地虚拟域名) 访问本地的虚拟域名http://www.hd.com/phpinfo.php?p1发生了302 条状 火狐浏览器正常访问; 解决方法: 方法1:在谷歌浏览器…

8 buuctf解题

[BJDCTF2020]just_a_rar 1 下载,得到 发现有加密 使用ARCHPR设置四位数掩码爆破 得到口令2016,解压得到图片,flag在图片exif中 在备注里面看见了flag [HBNIS2018]excel破解 1 下载下来是attachment.xls 修改后缀为rar 使用010 Editor打开&a…

5G网络建设 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 现需要在某城市进行5G网络建设,已经选取N个地点设置5G基站,编号固定为1到N, 接下来需要各个基站之间使用光纤进行连接以确保基…

基于Docker和Springboot两种方式安装与部署Camunda流程引擎

文章目录 前言1、Docker安装1.1、拉取Camunda BPM镜像1.2、编写docker启动camunda容器脚本1.3、docker启动脚本1.4、访问验证 2、SpringBoot启动2.1、下载地址2.2、创建SpringBoot项目并配置基础信息2.3、下载SpringBoot项目并在idea中打开2.4、pom修改2.5、application.yml配置…

P1927 防护伞

题目传送门:P1927 防护伞 作业出了这道题,写一篇题解纪念一下。 这道题可以简化为“先枚举所有点,然后把这些点到另外点距离的最大距离和其他点比较,求出最小距离”。 这样说可能也听不懂,还可以再简化: …

深度学习环境配置常见指令

首先打开anaconda prompt,激活对应虚拟环境。 导入torch并获取对应版本 import torch torch.__version__导入torchvision并获取对应版本 import torchvision torchvision.__version__ 检查cuda是否可用 torch.cuda.is_available() 获取CUDA设备数 torch.cuda.…

85、字符串操作的优化

上一节介绍了在模型的推理优化过程中,动态内存申请会带来额外的性能损失。 Python 语言在性能上之所以没有c++高效,有一部分原因就在于Python语言将内存的动态管理过程给封装起来了,我们作为 Python 语言的使用者是看不到这个过程的。 这一点有点类似于 c++ 标准库中的一些…

CAN——创建一个数据库DBC文件

一、创建一个工程 file——new——can 500kbaud1ch 得到一个工程文件.cfg 二、实现两个节点通讯 can networks 三、创建数据库DBC tool——candbeditor——file——creatdatabase——cantemplate.dbc 1.建数值表 view——value tables——空白处右击add—— definition 定…

shell脚本编写基础实战

1.判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。 第一步:配置邮件服务 yum install mailx -y ------安装邮件服务 设置邮箱服务相关配置 vim /etc/mail.rc 第…

【线程池项目(二)】线程池FIXED模式的实现

在上一篇【线程池项目(一)】项目介绍和代码展示 中,我们展示了线程池的两个版本实现,它们的代码在具体的实现细节上是优化过了的。下文提供的代码并非完整,也有很多地方尚需改善,但这些差异对理解整个项目而…

深度学习(17)--DataLoader自定义数据集制作

目录 DataLoader自定义数据集制作 1.从标注文件(txt文件)中读取数据和标签 2.分别把数据和标签存在两个list中 3.设置完整的图像数据路径 4.根据任务整合出一个数据处理类 5.数据预处理 6.使用定义好的类来实例化DataLoader 7.检查数据和标签是否对应 8.使用创建好的D…

【行业会议】优积科技应邀参加住建部模块建筑企业2023年工作座谈会

2023年3月2日,优积建筑科技发展(上海)有限公司(以下简称“优积科技”)应邀参加由住房和城乡建设部科技与产业化发展中心(以下简称“住建部科技与产业化中心”)组织召开的模块建筑企业2023年工作…

OpenCV 4基础篇| OpenCV图像基本操作

目录 1. 图像读取1.1 cv2.imread() 不能读取中文路径和中文名称1.2 cv2.imdecode() 可以读取中文路径和中文名称 2. 图像的显示2.1 openCV显示图像 cv2.imshow()2.2 matplotlib显示图像 plt.imshow() 3. 图像的保存 cv2.imwrite()4. 图像的复制4.1 img.copy()4.2 np.copy()4.3 …

基于java springboot的图书管理系统设计和实现

基于java springboot的图书管理系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源码联…

Ansible 简介及部署 基础模块学习 ansible部署rsync 及时监控远程同步

Ansible介绍: Ansible 是一个配置管理系统,当下最流行的批量自动化运维工具之一,它是一款开源的自动化工具,基于Python开发的配置管理和应用部署的工具。 Ansible 是基于模块工作的,它只是提供了一种运行框架&#xff…

【深度学习】Pytorch 系列教程(七):PyTorch数据结构:2、张量的数学运算(5):二维卷积及其数学原理

文章目录 一、前言二、实验环境三、PyTorch数据结构1、Tensor(张量)1. 维度(Dimensions)2. 数据类型(Data Types)3. GPU加速(GPU Acceleration) 2、张量的数学运算1. 向量运算2. 矩阵…