13.2 地球上到处都有许多图像吗?
我们可以使用下面的代码将这个 reducer count 应用于我们过滤后的 ImageCollection。我们将返回相同的数据集并筛选 2020 年,但没有地理限制。这将收集来自世界各地的图像,然后计算每个像素中的图像数量。以下代码执行该计数,并将生成的图像添加到地图中,并在值 0 和 50 之间拉伸预定义的红色/黄色/绿色调色板。
// compute and show the number of observations in an image collection
var count = ee.ImageCollection('LANDSAT/LC08/C02/T1_TOA')
.filterDate('2020-01-01', '2021-01-01') .select(['B6'])
.count();
// add white background and switch to HYBRID basemap
Map.addLayer(ee.Image(1), { palette: ['white'] }, 'white', true, 0.5); Map.setOptions('HYBRID');
//这两行代码首先将地图的背景设置为白色(通过添加一个全为1的图像,并设置其颜色为白色),然后将地图的基底层设置为HYBRID(一个混合了卫星图像和街道地图的视图)。true, 0.5参数表示这个白色背景层是透明的,透明度为0.5(即50%)。
// show image count
Map.addLayer(count,
{ min: 0, max: 50,
palette: ['d7191c', 'fdae61', 'ffffbf', 'a6d96a', '1a9641'] },
'landsat 8 image count (2020)');
// Center the map at that point.
Map.centerObject(lisbonPoint, 5);
您可能已经注意到,我们从原始 ImageCollection 中汇总了一个波段,以确保生成的图像在每个像素中都给出一个计数。count reducer 对传递给它的每个频段进行操作。由于每个影像的波段数相同,因此将所有 7 个 Landsat 波段的 ImageCollection 传递给计数减少器将为每个点返回 7 个相同的值,均为 16。为了防止因七次看到相同的数字而产生混淆,我们从集合中的每张图像中选择了其中一个波段。
13.3 减少图像集合以了解波段值
首先,我们将创建一个新图层,该图层表示 2020 年以来过滤集的每张图像中每个像素中每个波段的平均值,将此图层添加到图层集,然后使用检查器再次探索。上一节的 count reducer 是使用一种简单的简写直接调用的,这里可以通过在组装的带上调用 mean 来完成类似的操作。在这个例子中,我们将使用 reducer 通过更通用的 reduce 调用来获取平均值。
// Zoom to an informative scale for the code that follows.
Map.centerObject(lisbonPoint, 10);
// Add a mean composite image.
var meanFilteredIC = filteredIC.reduce(ee.Reducer.mean());
Map.addLayer(meanFilteredIC,
{}, 'Mean values within image collection');
现在,让我们看看 2020 年收集的所有值中每个波段的中位数。使用以下代码,计算中位数并使用 Inspector 浏览图像。通过肉眼和在 Inspector 中单击几个像素,将此图像与平均图像进行简要比较。它们应该具有不同的值,但在大多数地方它们看起来非常相似。
// Add a median composite image.
var medianFilteredIC = filteredIC.reduce(ee.Reducer.median());
Map.addLayer(medianFilteredIC, {}, 'Median values within image collection');
可以用来汇总图像集合中的波段值感到好奇,请使用 Code Editor 中的 Docs 选项卡列出所有 reducer 并查找以 ee 开头的 reducer。还原剂。