Google Earth Engine(GEE)——影像集合的按照行列号搜索并且统计影像数量包括时间、云量和最新影像筛选!

本文详细介绍了如何在Google Earth Engine中处理ImageCollection,包括获取图像数量、时间范围、属性统计以及高级分析技巧,如筛选、排序和云量控制。通过实例演示展示了如何使用`reduceColumns`、`minMax`、`aggregate_stats`等工具获取关键信息。
摘要由CSDN通过智能技术生成

ImageCollection 信息和元数据

与图像一样,有多种方法可以获取有关 ImageCollection. 集合可以直接打印到控制台,但控制台打印输出限制为 5000 个元素。超过 5000 张图像的集合需要在打印前过滤。打印大集合会相应地变慢。以下示例显示了以编程方式获取有关图像集合的信息的各种方法:此次需要用到以下几个东西大家先看看:=

reduceColumns(reducer, selectors, weightSelectors)

将 reducer 应用于集合的每个元素,使用给定的选择器来确定输入。
返回结果字典,以输出名称为键。

Apply a reducer to each element of a collection, using the given selectors to determine the inputs.

Returns a dictionary of results, keyed with the output names.

Arguments:

this:collection (FeatureCollection):

The collection to aggregate over.

reducer (Reducer):

The reducer to apply.

selectors (List):

A selector for each input of the reducer.

weightSelectors (List, default: null):

A selector for each weighted input of the reducer.

Returns: Dictionary

ee.Reducer.minMax()

返回一个 Reducer,用于计算其输入的最小值和最大值。

Returns a Reducer that computes the minimum and maximum of its inputs.

No arguments.

Returns: Reducer

aggregate_stats(property)

聚合集合中对象的给定属性,计算所选属性的总和、最小值、最大值、平均值、样本标准偏差、样本方差、总标准偏差和总方差。

Aggregates over a given property of the objects in a collection, calculating the sum, min, max, mean, sample standard deviation, sample variance, total standard deviation and total variance of the selected property.

Arguments:

this:collection (FeatureCollection):

The collection to aggregate over.

property (String):

The property to use from each element of the collection.

Returns: Dictionary

 

 

 

 

代码:

//加载影像并且以行列号的形式搜索影像并进行时间筛选最后打印出影像信息
var collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_TOA')
    .filter(ee.Filter.eq('WRS_PATH', 44))
    .filter(ee.Filter.eq('WRS_ROW', 34))
    .filterDate('2014-03-01', '2014-08-01');
print('Collection: ', collection);

// 统计影像的数量
var count = collection.size();
print('Count: ', count);

// 从影像集合中获取影像时间的范围并且进行打印看看效果
var range = collection.reduceColumns(ee.Reducer.minMax(), ["system:time_start"])
print('Date range: ', ee.Date(range.get('min')), ee.Date(range.get('max')))

// 在集合中获取影像的属性值
var sunStats = collection.aggregate_stats('SUN_ELEVATION');
print('Sun elevation statistics: ', sunStats);

// 获取影像的集合并进行云量筛选,获取云量最少的一幅
var image = ee.Image(collection.sort('CLOUD_COVER').first());
print('Least cloudy image: ', image);

// 在时间上进行影像筛选获取获取最新的影像
var recent = collection.sort('system:time_start', false).limit(10);
print('Recent images: ', recent);

Google Earth Engine (GEE) 中使用JavaScript对影像集合中所有非零的影像部分进行提取,可以通过以下步骤实现: 1. **过滤影像集合**:首先,可以根据需要过滤影像集合,例如根据时间范围、云量等。 2. **处理每个影像**:使用`map`函数对每个影像进行处理,提取非零部分。 3. **更新影像**:使用`updateMask`函数更新影像的掩码,只保留非零部分。 以下是一个示例代码: ```javascript // 加载影像集合,例如Landsat 8表面反射率数据 var collection = ee.ImageCollection('LANDSAT/LC08/C01/T1_SR') .filterDate('2020-01-01', '2020-12-31') .filterBounds(ee.Geometry.Point([116.3911, 39.9067])); // 定义一个函数来提取非零部分 function extractNonZero(image) { // 创建一个掩码,标记非零像素 var mask = image.gt(0).reduce(ee.Reducer.min()); // 使用掩码更新影像 return image.updateMask(mask); } // 对影像集合中的每个影像应用提取非零部分的函数 var nonZeroCollection = collection.map(extractNonZero); // 打印结果 print(nonZeroCollection); // 可视化影像集合中的第一个影像 Map.centerObject(ee.Geometry.Point([116.3911, 39.9067]), 10); Map.addLayer(nonZeroCollection.first(), {bands: ['B4', 'B3', 'B2'], min: 0, max: 3000}, 'Non-Zero Image'); ``` 在这个示例中,我们首先加载了一个Landsat 8影像集合,并过滤了特定时间区域。然后,我们定义了一个`extractNonZero`函数,该函数使用`gt(0)`创建一个掩码,标记非零像素,并使用`updateMask`函数更新影像。最后,我们使用`map`函数将`extractNonZero`函数应用到影像集合中的每个影像
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此星光明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值