GEE入门及进阶教程|在 Earth Engine 中过滤图像集合

        Earth Engine API 为 ImageCollection 类型提供了一组过滤器,过滤器可以根据空间、时间或属性特征来限制 ImageCollection,即可将图像从 ImageCollection 中分离出来以进行检查或操作。                

图1 1 Earth Engine 中应用于图像集合的过滤、映射、缩减 

        以下是限制 Landsat 5 ImageCollection 的三个示例:特征并评估结果集的大小。 

FilterDate 将 ImageCollection 作为输入并返回其成员满足指定日期条件的 ImageCollection。

//FilterDate 
var imgCol = ee.ImageCollection('LANDSAT/LT05/C02/T1_L2');
// How many Tier 1 Landsat 5 images have ever been collected?
print("All images ever: ", imgCol.size()); // A very large number
// How many images were collected in the 2000s?
var startDate = '2000-01-01';
var endDate = '2010-01-01';
var imgColfilteredByDate = imgCol.filterDate(startDate,endDate);
print("All images 2000-2010: ", imgColfilteredByDate.size());
// A smaller (but still large) number

图1 按时间过滤 

FilterBounds filterBounds 将ImageCollection作为输入并返回其图像围绕指定位置的Image-Collection。 如果我们获取按日期过滤的 ImageCollection,然后按边界过滤它,我们将把集合过滤到指定日期间隔内指定点附近的那些图像,使用下面的代码,我们将计算得到上海附近的图像数量。 

//FilterBounds
var ShanghaiImage = ee.Image('LANDSAT/LT05/C02/T1_L2/LT05_118038_20000606');
Map.centerObject(ShanghaiImage, 9);
var imgColfilteredByDateHere = imgColfilteredByDate
.filterBounds(Map.getCenter());
print("All images here, 2000-2010: ", imgColfilteredByDateHere.size()); // A smaller number

图2 按边界过滤

       Filter by Other Image Metadata  图像的日期和位置是与每个图像一起存储的特征,图像处理中的另一个重要因素是云量,这是为许多集合(包括 Landsat 和 Sentinel-2 集合)中的每张图像计算的图像级值。 总体云量分数可能存储在不同数据集中的不同元数据标签名称下, 例如,对于 Sentinel-2,此总体云量分数存储在 CLOUDY_PIXEL_PERCENTAGE 元数据字段中,对于 Landsat 5(我们在本例中使用的 ImageCollection),图像级云度分数使用标签 CLOUD_COVER 存储。在这里,我们将使用filterBounds和filterDate访问刚刚构建的ImageCollection,然后通过图像级云覆盖分数进一步过滤图像, 使用filterMetadata 函数。 接下来,让我们删除任何云度达到或超过 50% 的图像。 正如使用每像素云度信息的后续章节中将描述的那样,如果您认为云度图像中的某些值可能有用,您可能希望在现实研究中保留这些图像。 现在,为了说明过滤概念,我们只保留图像级云量值表明云覆盖率低于 50% 的图像。 在这里,我们将采用已经过滤的集合按边界和日期,并使用云百分比进一步将其过滤到新的 ImageCollection 中, 将此行添加到脚本中以按云度进行过滤并将尺寸打印到控制台。

//Filter by Other Image Metadata
var L5FilteredLowCloudImages = imgColfilteredByDateHere.filterMetadata('CLOUD_COVER', 'less_than', 50);
print("Less than 50% clouds in this area, 2000-2010",L5FilteredLowCloudImages.size()); // A smaller number

图3 按元数据信息过滤 

Filtering in an Efficient Order  在 Earth Engine 中,对于要使用 filterBounds 的非全局空间组件的问题,首先进行空间过滤是最有效的。在下面的代码中,您将看到可以chain”过滤器命令,然后从左到右执行这些命令。 下面,我们按照您上面指定的顺序链接过滤器。 请注意,它提供的 ImageCollection 的大小与一次应用一个滤镜时的大小相同。

//Filtering in an Efficient Order
var chainedFilteredSet = imgCol.filterDate(startDate, endDate)
.filterBounds(Map.getCenter()).filterMetadata('CLOUD_COVER', 'less_than', 50);
print('Chained: Less than 50% clouds in this area, 2000-2010',chainedFilteredSet.size());

图4 按更快效率的方式过滤

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AugmentedReality之路-创建工程及主界面(1)

本文从零创建1个工程,并添加1个BasicMap和1个主界面,主界面包含Start AR和Stop AR两个按钮 1、创建移动端工程并打包运行 创建1个空工程,选择C,Mobile,Scalable,勾选StarterContent 通过Edit->Proje…

云原生网络魔术师:Docker高级网络实战演练与深度解析

在Docker的世界中,网络无疑是一块充满魔力的土地。当我们超越了基础的网络配置,步入Docker高级网络领域时,你会发现一个全新的、强大而灵活的网络模型正在等待你的探索。本文将带你亲历Docker高级网络实战操作,揭开overlay网络、自…

【数据分享】2012-2023年中国范围的逐年NPP/VIIRS夜间灯光数据(免费获取)

在之前的文章中我们分享了2012-2023年全球范围逐年NPP/VIIRS夜间灯光数据(可查看之前的文章获悉详情)!很多小伙伴在拿到数据后,反映数据太大了, 有450G,下载非常不方便!这个数据的范围是全球的&…

手撕算法-删除链表的倒数第 N 个结点

描述 思路 快慢指针,快指针先走N步,走不够N步返回空。慢指针和快指针一起走,当快指针到达终点,即快指针为null时,慢指针到达倒数第N个节点。因为要删除倒数第N个,所以要记录之前的节点pre,假设…

Qualcomm AI Hub-示例(二)模型性能分析

文章介绍 模型性能分析(Profiling) 当模型尝试部署到设备时,会面临许多重要问题: 目标硬件的推理延迟是多少?该模型是否符合一定的内存预算?模型能够利用神经处理单元吗? 通过在云端的物理设…

从零开始学HCIA之网络基础知识02

1、TCP/IP(Transmission Control Protocol/Internet Protocol)参考模型,它是当下实际的业界标准。 2、TCP/IP这个名字来自该协议簇中两个非常重要的协议,一个是IP(Internet Protocol),另一个是T…

Django 三板斧、静态文件、request方法

【一】三板斧 【1】HttpResponse (1)介绍 HttpResponse是Django中的一个类,用于构建HTTP响应对象。它允许创建并返回包含特定内容的HTTP响应。 (2)使用 导入HttpResponse类 from django.http import HttpResponse创…

Linux:Prometheus的源码包安装及操作(2)

环境介绍 三台centos 7系统,运行内存都2G 1.prometheus监控服务器:192.168.6.1 主机名:pm 2.grafana展示服务器:192.168.6.2 主机名:gr 3.被监控服务器:192.168.6.3 …

二叉树的遍历及线索二叉树试题解析

一、单项选择题 01.在下列关于二叉树遍历的说法中,正确的是( C ). A.若有一个结点是二叉树中某个子树的中序遍历结果序列的最后一个结点,则它一定是该子树的前序遍历结果序列的最后一个结点 B.若有一个结点是二叉树中某个子树的前序遍历结果序列的最后一…

多态的左膀右臂,向上转型与重写

同一个引用 调用了 同一个方法,但是因为引用的对象不一样,所表现的行为不一样,我们把这种思想称为:多态 目录 1.向上转型 1.1.向上转型定义 1.2.向上转型的优缺点 1.3.向上转型的内存指向 1.4.向上转型的三种方式 1.5.向下…

【学习】软件测试行业未来的发展趋势预测

近年来,随着中国数字经济的蓬勃发展,软件测试行业也迎来了新的春天。从早期的手工测试到自动化测试,再到持续集成和持续交付,中国的软件测试行业经历了快速的发展和变革。各行各业均对软件测试提出了更高的要求,尤其在…

项目1-加法计算器

1.创建项目 2.导入前端代码 2.1 static包内 2.2 测试前端代码是否有误 显示成功说明无误 2.3 定义用户接口 请求路径:calc/sum 请求方式:GET/POST 接口描述:计算两个整数相加 请求参数: 参数名类型是否必须备注num1Integer是参与计算的第…