十四
在本实习中,我们将使用 Earth Engine 提取 Landsat 图像并对美国中西部的农作物类型进行分类。美国是世界上最大的玉米生产国和第二大大豆生产国;因此,美国保持高产量对于全球粮食安全和价格稳定至关重要。作物类型测绘是利用卫星图像估算农业产量的重要先决条件。我们将展示如何通过拟合调和回归并提取系数来从时间序列中获取特征。然后我们将使用随机森林对作物类型进行分类,其中“地面实况”标签将来自美国农业部的农田数据层(CDL)。CDL 本身就是使用卫星图像作为输入和基于调查的地面实况作为训练标签的分类器的产物(USDA 2021)。
在中西部,玉米和大豆占主导地位。我们将绘制伊利诺伊州麦克莱恩县的农作物类型地图。该县是美国玉米和大豆产量最多的县,分别为62.9和1,930万蒲式耳。让我们首先定义研究区域并将其可视化(图 A1.1.1)。我们从美国人口普查局的 TIGER 数据集中获取县边界,该数据集可以在 Earth Engine 数据目录中找到。我们通过名称并使用伊利诺伊州的FIPS 从 TIGER 中提取麦克莱恩县特征。
// Define study area.
var TIGER=ee.FeatureCollection(\''TIGER/2018/Counties\'');
var region=ee.Feature(TIGER
.filter(ee.Filter.eq(\''STATEFP\'', \''17\''))
.filter(ee.Filter.eq(\''NAME\'', \''McLean\''))
.first());
var geometry=region.geometry();
Map.centerObject(region);
Map.addLayer(region,{
\''color\'': \''red\''
}, \''McLean County\'');
接下来,我们导入 Landsat 7和8图像,特别是,我们使用2级数据,其中包含经过大气校正的表面反射率和陆地表面温度。虽然大气顶层数据也将为许多农业应用带来良好的结果,但我们更喜欢在可用时针对大气条件进行校正的数据,因为大气变化只是输入中的又一个噪声源。
// Import Landsat imagery.
var landsat7=ee.ImageCollection(\''LANDSAT/LE07/C02/T1_L2\'');
var landsat8=ee.ImageCollection(\''LANDSAT/LC08/C02/T1_L2\'');
我们定义了一些函数,使处理 Landsat 数据变得更加容易。前两个函数renameL7 和renameL8将 Landsat 7或Landsat 8图像的波段重命名为更直观的名称。例如,我们没有将 Landsat 7图像的第一个波段称为“B1”,而是将其重命名为“BLUE”,因为波段1捕获可见光谱蓝色部分的光。重命名还可以更轻松地同时处理 Landsat 7和8图像,因为它们的传感器(ETM+ 和 OLI)的波段编号不同。
// Functions to rename Landsat 7 and 8 images.
function renameL7(img){
return img.rename([\''BLUE\'', \''GREEN\'', \''RED\'', \''NIR\'', \''SWIR1\'',
\''SWIR2\'', \''TEMP1\'', \''ATMOS_OPACITY\'', \''QA_CLOUD\'',
\''ATRAN\'', \''CDIST\'',
\''DRAD\'', \''EMIS\'', \''EMSD\'', \''QA\'', \''TRAD\'', \''URAD\'',
\''QA_PIXEL\'',
\''QA_RADSAT\''
]);
}
function renameL8(img){
return img.rename([\''AEROS\'', \''BLUE\'', \''GREEN\'', \''RED\'', \''NIR\'',