1简介
在本单元中,我们将讨论以下概念:
Google 地球引擎中可用的潜在数据来源。 通过生态示例显示的数据集采样用例。 如何使用 Google 地球引擎访问重要的元数据。
2背景
要将遥感集成到您的研究和分析中,学习如何解析 Google 地球引擎上可用的大量栅格数据集非常重要。了解这些数据的分类方式有助于开始此过程。如果您完全不知道从哪里开始,这里有一个非常有用的资源来细读Google 地球引擎数据目录中可用的一般栅格类别。对 Google 地球引擎中可用的所有栅格执行各种级别的数据清理和图像预处理,但对于本模块,我们将专注于更广泛的探索,为一些示例生态应用程序寻找合适的数据集。更多关于预处理差异和分析的信息可以在模块 5中找到。
2.1数据类别:气候和天气
这些是传达有关温度、降水、蒸散以及其他大气和气象现象的信息的栅格。这些数据集通常用于帮助了解基于适当栖息地的衍生范围的物种或群落的生态位。重要的是要了解其中一些是通过插值方法创建的,该方法估计监测站点之间地理空间中的值,而不是仅提供直接测量值的许多其他栅格。
示例集合:CHIRPS 该数据集包含各种气候层,包括温度和降水,由俄勒冈州立大学的 PRISM 小组开发和监测。当我们试图在景观层面了解一个物种或一组物种的潜在生态位时,对气候因素的空间理解是无价的。
使用 CHIRPS 数据集的 2018 年 5 月中非月降雨总量。
2.2数据类别:影像
在该组中,栅格捕获与被动收集的太阳能有关的景观特征,通常提供有关地面上真实世界元素(包括植物和土壤)的增强信息。需要注意的是,图像栅格通常被分成许多子图像(波段),这些子图像(波段)对应于特定的光波长范围。许多图像数据集用于创建可通过预建集合访问的光谱索引(第8单元中对此进行了更多介绍)。
收集示例:MODIS MODIS(中分辨率成像光谱仪)程序从两个星载传感器 Aqua 和 Terra 以及两者的组合收集数据。除了表面反射率数据(包括积雪、地表温度、叶面积指数和总初级生产力)之外,Google 地球引擎上还提供了许多衍生的 MODIS 产品。尽管其空间分辨率比其他一些影像数据集更粗糙,但许多 MODIS 产品具有较高的时间分辨率,从而导致时间序列密集。同一地理区域上的图像之间的窗口低至八天。
MODIS 衍生的日本北部北海道岛叶面积指数预测。
2.3数据类别:地球物理
该组中的栅格涵盖范围广泛的地图类型。海拔和地形索引图对于定义物种栖息地的环境限制很有用,而土地覆盖图是方便的、预先打包的图层,可用作分类数据或与您自己生成的图像分类进行比较(更多内容见第7单元)。
示例集合:NED 国家高程数据集 (NED) 是一个高质量的数字高程模型 (DEM),它横跨美国大陆以及阿拉斯加和夏威夷的部分地区。该数据集由来自美国各地的不同高程数据编译而成,并经过编辑以确保一致的空间分辨率、高程单位和坐标系。NED 等高程图像可用于创建地形指数、为洪水模型提供信息或对地貌特征进行分类。
华盛顿和爱达荷州边界上的美国国家高程数据集。
3图像采集探索
现在我们已经了解了我们可以使用的数据集的深度和广度,我们可以花点时间详细探索一个集合。我们将探索 Google Earth Engine 中更独特的可用数据集之一:MODIS Daily Snow Cover 集合。这些数据使我们能够查看一年中任何一天给定像素的积雪百分比。这些数据还可以创建每周、每月和每年的平均值,并已在以前的研究中用于分析和监测积雪深度、积雪范围和融雪。
3.1查找和加载集合
要开始探索 MODIS 积雪数据集,您可以通过以下两种方式之一加载集合。首先,使用搜索栏,开始输入“MYD10A1.006 Aqua Snow Cover Daily Global 500m”。
在搜索栏中输入数据集名称的结果。
如果我们点击数据集的名称,我们会看到一个弹出窗口,其中包含一个“导入”按钮(以红色突出显示)。单击此按钮将自动将数据集加载到脚本工作区中。
单击“导入”按钮(以红色突出显示)将加载 MODIS 积雪集合。
虽然使用导入按钮很方便,但加载数据集的命令实际上并未写入我们的脚本中。导入集合的另一种方法是复制它们的“ImageCollection ID”(在下面突出显示)并将速记名称粘贴到您的脚本中,如下所示:
代码语言:javascript复制// Load the image collection.
var dataset = ee.ImageCollection('MODIS/006/MYD10A1');
3.2快速地理搜索
现在我们已经找到并加载了我们的图像集合,运行下面的脚本来快速加载一些示例数据:
代码语言:javascript复制// Load the image collection.
var dataset = ee.ImageCollection('MODIS/006/MYD10A1');
// Limit the collection date range to 2018.
var dataset = dataset
.filterDate('2018-01-01', '2018-12-31');
// Select the snow cover layer and compute the mean.
var snowCover = dataset
.select('NDSI_Snow_Cover')
.mean();
// Define the visualization parameters and add the collection to the map.
var snowCoverVis = {min: 0.0, max: 100.0, palette: ['black', '0dffff', '0524ff', 'ffffff']};
Map.addLayer(snowCover, snowCoverVis, 'Snow Cover');
随意放大到各个全球位置,以比较世界不同地区的数据。一个简单的方法就是使用搜索栏。输入“阿留申群岛”或“冰岛”或“尼泊尔”,您将看到潜在地理位置的列表。单击任何名称以自动重定向到该位置。请记住,您的脚本可能包含缩放到特定地理位置的代码。所以要小心重新点击那个运行按钮!
在搜索栏中,输入“尼泊尔”并放大以查看与此类似的图像。
3.3探索集合属性
找到并加载我们的集合后,了解对使用遥感数据感兴趣的生态学家可用的图像集合元数据非常重要。元数据对于我们如何确定给定特定研究系统或感兴趣区域的图像或图像集合的适当性很重要。以下主题讨论了在 Google 地球引擎中图像集合的元数据中发现的一些基本信息。
3.3.1空间分辨率
研究生态过程的最重要方面之一是对规模的理解。在遥感的背景下,这被称为分辨率。具体来说,在栅格数据集中,这是像素大小的基本欧几里德测量值,通常报告为栅格中像素一侧的长度。了解空间分辨率与生态应用的物理规模之间的关系很重要,可以快速帮助您缩小对适当数据集的搜索范围。
要查找我们数据集的空间分辨率,请再次键入数据集名称并单击搜索栏中的结果(即“MYD10A1.006 Aqua Snow Cover Daily Global 500m”)。有时,如果栅格中的所有波段都具有相同的分辨率,则此信息(以及比例单位)将显示在标题下。如果数据集中有多个分辨率,通常会有一个表格指示每个波段的空间分辨率。
MODIS 数据集的空间分辨率,以米为单位。这是一个相对较低的分辨率,更适合区域或全球分析。
3.3.2时间分辨率
在遥感领域,有许多数据集代表了在数天、数月或数年内分析和解释值的机会。时间分辨率是我们描述传感器重访周期的方式。如果一颗卫星有一个既定的轨道模式,我们可以确定预计它经过同一地理位置的日期甚至时间。例如,Landsat 计划在两周内重新访问同一位置,数据采集之间的特定时间分辨率为 16 天。Google Earth Engine 中可用的一些数据集可用于每日测量(即 MODIS),而其他数据集可能是每月(即 WorldClim)。
确定您研究区域中可用/可用图像的日期范围是否与您的观察结果一致,或者计算有多少图像落在您的 AOI 日期范围内,这可能是收集数据以进行潜在分析的重要第一步。从上面添加我们的脚本和下面的代码,我们将打印出这些信息。要查找您自己的坐标,请单击“检查器”选项卡,然后单击地图。然后检查员将获取该点的坐标(下面以红色突出显示)。
在“检查器”选项卡处于活动状态的情况下,单击地图可为我们提供纬度和经度坐标配对。
您的结果将根据您使用的坐标而有所不同(尝试几个不同的坐标!)但以下代码应将记录总数(“计数”)和记录的日期范围打印到“控制台”选项卡。您的结果可能会因您的坐标而异,但格式应类似于下图。
代码语言:javascript复制var dataset = dataset
.filterBounds(ee.Geometry.Point(27.5487, 41.2568)); // Use your own coordinates here!
// Print the number of images in the collection
print('Count: ', dataset.size());
// Print the whole date range of the filtered collection.
var range = dataset.reduceColumns(ee.Reducer.minMax(), ["system:time_start"])
print('Date range: ', ee.Date(range.get('min')), ee.Date(range.get('max')));
Google Earth Engine 的“控制台”选项卡中的输出,指示我们集合中的图像数量以及它们所涵盖的日期范围。
4结论
总之,我们刚刚开始探索使用 Google 地球引擎触手可及的海量数据。我们还介绍了一些重要的元数据,它们可以增强您的搜索并帮助确定您的图像集是否已准备好进行分析。有可能适合您的研究领域的数据集就在那里。但是,如果您找不到合适的,请不要担心!只需跳至第 4 单元,了解如何将您自己的数据引入 Google 地球引擎生态系统。
4.1完整的图像采集探索脚本
代码语言:javascript复制// Load the image collection.
var dataset = ee.ImageCollection('MODIS/006/MYD10A1');
// Limit the collection date range to 2018.
var dataset = dataset
.filterDate('2018-01-01', '2018-12-31');
// Select the snow cover layer and compute the mean.
var snowCover = dataset
.select('NDSI_Snow_Cover')
.mean();
// Define the visualization parameters and add the collection to the map.
var snowCoverVis = {min: 0.0, max: 100.0, palette: ['black', '0dffff', '0524ff', 'ffffff']};
Map.addLayer(snowCover, snowCoverVis, 'Snow Cover');
var dataset = dataset
.filterBounds(ee.Geometry.Point(27.5487, 41.2568)); // Use your own coordinates here!
// Print the number of images in the collection
print('Count: ', dataset.size());
// Print the whole date range of the filtered collection.
var range = dataset.reduceColumns(ee.Reducer.minMax(), ["system:time_start"])
print('Date range: ', ee.Date(range.get('min')), ee.Date(range.get('max')));