GEE系列:第 1 单元 Google 地球引擎简介

本文介绍了GEE的10个单元,从基础概念到实战应用,如数据集探索、栅格处理、遥感指数构建、图像分类和可视化。通过NAIP数据,学习如何利用GEE比较火灾前后生态变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GEE从入门到实战的10个系列单元:

  1. GEE系列:第1单元 Google地球引擎简介
  2. GEE系列:第2单元 探索数据集
  3. GEE系列:​第3单元 栅格遥感影像波段特征及渲染可视化
  4. GEE系列:第4单元 Google 地球引擎中的数据导入和导出
  5. GEE系列:第5单元 遥感影像预处理【GEE栅格预处理】
  6. GEE系列:第6单元 在 Google 地球引擎中构建各种遥感指数
  7. GEE系列:第7单元 利用GEE进行遥感影像分类【随机森林分类】
  8. GEE系列:第8单元 Google 地球引擎中的时间序列分析【时间序列】
  9. GEE系列:第9单元 在GEE中生成采样数据【随机采样】
  10. GEE系列:第10单元 使用 Google 地球引擎创建图形用户界面【GUI开发】

 

1简介

在本模块中,我们将讨论以下概念:

  1. 定义 Google 地球引擎中的主要数据类型以及如何使用它们。
  2. 如何探索数据集并限制特定研究站点的输出。
  3. 如何可视化火灾前后景观之间光合活动的差异。

2背景

遥感可以成为生态学家在更大空间尺度上了解研究系统或感兴趣区域的有力工具。单独的遥感工具不能替代实地工作或样品的物理收集,但有助于描述时空景观特征,从而加深我们对生态过程的理解。

有许多数据源可用于下载遥感数据产品,但收集这些数据集长期以来一直是一项繁琐且耗时的任务。Google 地球引擎 (GEE) 消除了传统上使用遥感数据所涉及的下载、预处理和繁重的计算环境。虽然针对“大数据”进行了优化,但 GEE 是一个灵活且透明的平台,可以处理从林业到干旱监测再到作物制图的各种研究领域。

在本模块中,您将开始使用来自国家农业影像计划 (NAIP) 的数据来探索 GEE 的功能。NAIP 数据包括在美国大陆农业生长季节获取的航空影像。根据给定的位置和时间范围,NAIP 图像以四个波段收集:蓝色、绿色、红色和近红外。有关 NAIP 的更多信息,请点击此处

3开始使用 Google 地球引擎

Google Earth Engine 是一个基于 Web 的平台,提供对大型地理空间数据库(通常为栅格格式)的访问权限,并且是 Google 服务器上的分布式计算环境,可让您快速提出问题并开发可测试的工作流程。但是,GEE 确实需要通过 Google 帐户进行注册。因此,在继续此模块之前,您需要创建一个帐户/注册。您可以在GEE 注册页面上注册并阅读更多信息。注册后,导航到code.earthengine.google.com,然后继续学习该模块。

3.2 JavaScript 简介

GEE 代码编辑器中的所有脚本都是用 JavaScript (JS) 编写的。如果您不熟悉这种编程语言,请不要害怕!JS 有大量的在线资源,而 GEE 实际上对遵守所有规则相当宽松。例如,JS 的标准协议是以分号 (;) 结束每个命令。但是,如果您碰巧忘记了一个,GEE 会在(经常)顺利运行您的代码时提醒您。有关 JS 的结构以及如何在 GEE 中使用它的更多详细信息,请单击此处
 

3.3数据类型:栅格

GEE 中使用的主要数据类型是栅格,涵盖从本地到全球范围的图像,可从数百个卫星和航空资源获得图像。要开始编写您的第一个脚本,请将下面的代码复制到脚本编辑器窗格中。此代码请求来自 NAIP影像集合的栅格。但是,请求图像集合意味着我们可以访问集合中的所有数据——这比我们实际需要的要多得多。使用该filterDate() 功能修改我们的原始收藏并限制图像数量。

// Call in NAIP imagery as an image collection.
var NAIP = ee.ImageCollection("USDA/NAIP/DOQQ");

// Filter your dataset from the entire collection to the year of interest and extent.
var naip2011 = NAIP
  .filterDate("2011-01-01", "2011-12-31");

此代码设置了用于显示或运行对 NAIP 图像集合的一部分进行分析的框架,但仅此而已。在我们为 GEE 提供一个可执行任务之前,它不会对这些信息做任何事情。这意味着当你点击运行时,什么也没有发生。这有点令人困惑,但将 GEE 视为一个懒惰的软件程序。您可以给它指示,但在您请求可交付结果之前,它将推迟执行指示。

3.3.1查看栅格元数据

现在我们已经加载了 NAIP 图像,我们希望在地图上将其可视化。由于 NAIP 是作为一系列图像收集的,我们需要通过定义我们想要使用和可视化的波段来创建多光谱图像(更多关于第2单元的波段)。我们通过设置可视化参数并将它们保存为变量来做到这一点。但在我们设置可视化参数之前,我们需要能够按名称引用波段。要检索此信息,请在搜索栏中键入“NAIP”,然后单击“NAIP:国家农业影像计划”。数据集信息应显示在如下图所示的弹出窗口中。

在搜索栏中单击数据集的名称后查看 NAIP 元数据弹出窗口。
 

3.3.2定义可视化参数

现在我们知道了我们乐队的名称,我们将把我们的图像添加到我们的地图查看器中。真彩色图像可用于区分土地覆盖类型或景观上的物理对象。使用近红外波段的假彩色图像可以帮助识别景观上的光合作用活跃区域(红色)。由于 NAIP 图像通常以高空间分辨率(1 米)收集,因此在 GEE 中查看整个美国需要很长时间。因此,关注较小的地理范围是一个好主意。

将下面的代码附加到您现有的脚本中,然后单击运行。使用搜索栏,输入并选择 Longmire, WA 将您的地图缩放到雷尼尔山国家公园。您的地图查看器将类似于下图。请记住,您必须在地图查看器中打开“图层”选项卡,然后单击要激活的图层旁边的复选框。

// Define visualization parameters.
var visParamsFalse = {bands:['N', 'R', 'G']};
var visParamsTrue = {bands:['R', 'G', 'B']};

// Add 2011 imagery to the map with false color and true color composites
// here we specify either 'true; or 'false' in the third argument to toggle the layer to show automatically or to stay hidden when the code is exicuted. 
Map.addLayer(naip2011,visParamsFalse, "2011_false", true );
Map.addLayer(naip2011,visParamsTrue, "2011_true", false );




华盛顿州雷尼尔山地图查看器中 2011 NAIP 集合的真彩色和假彩色图像的并排比较。

3.4数据类型:向量

在其他 GIS 和遥感系统中,点、线和多边形通常被归类为“矢量”对象。在 GEE 中,这些数据被称为几何。一般来说,您将负责上传或创建您希望在 GEE 中使用的几何特征。您可以使用下述任一技术手动创建感兴趣区域 (AOI)。

3.4.1定义关注区域

要探索特定地理区域中的数据,我们可以手动将 AOI 创建为 GEE 界面中的几何特征。这就像选择几何按钮(见下图)并绘制一个多边形来勾勒出您感兴趣的区域一样简单。通过单击初始点来完成几何特征。

当您通过在起始位置放置一个点来完成几何特征时,脚本编辑器顶部将出现一个新特征,其默认名称为geometry。此功能现在可用于限制 GEE 脚本的地理范围。这是一个有用的功能,可以帮助您养成使用 GEE 的习惯,默认是处理地图查看器窗格的范围。您的范围越大,加载输出所需的时间就越长!

注意:单击名称可以重新命名几何特征。要删除该功能,请查看脚本顶部并将鼠标悬停在声明几何对象的代码行上。垃圾桶图标将出现在代码行的左侧。单击要删除的垃圾桶。




突出显示多边形绘图工具(左)和成功导入的几何图形(右)。

另一种限制可视图像范围的方法是使用一组经纬度坐标。在下图中,我们使用该功能将图像限制在High Park Fire的范围内。filterBounds()为了避免每次加载脚本时都必须放大,我们还可以使用该centerObject()功能以预定义的缩放级别自动将 Map Viewer 窗格居中在我们的图像上。

如果您将第 3.3.2 节中的代码替换为以下代码并单击运行,它将生成类似于下图的图像。请注意,行后不需要分号,filterDate()因为我们尚未完成对 NAIP 集合的修改。

// Enter the desired coordinates for the upper left and lower right corners of your study area.
// You can find the lat long coordinates by using the inspector.
var bounds = ee.Geometry.Rectangle([[-105.53,40.75],[-105.17,40.56]]);

// Filter your dataset from the entire collection to the year of interest and extent
// and add the filterBounds function, moving the semicolon to the end of the statement.
var naip2011 = NAIP
  .filterDate("2011-01-01", "2011-10-31")
  .filterBounds(bounds);

// Define visualization parameters.
var visParamsFalse = {bands:['N', 'R', 'G']};
var visParamsTrue = {bands:['R', 'G', 'B']};

// Add 2011 imagery to the map with false color and true color composites.
Map.addLayer(naip2011,visParamsFalse,"2011_false", false );
Map.addLayer(naip2011,visParamsTrue,"2011_true", false );

Map.centerObject(naip2011, 11);

ee.geometry.Rectangle()对象成功地界定了我们的 NAIP 图像的范围。

3.5把所有东西放在一起

利用我们在本模块中可视化的 NAIP 数据,我们已准备好使用 GEE 执行此介绍性分析。将额外的 NAIP 数据子集添加到我们的代码中,我们可以直观地比较 High Park Fire 边界内外的植被再生情况。运行以下代码,我们发现虽然真彩色图像有些帮助,但假彩色图像(如下所示)使我们能够轻松地区分低光合活性区域(较高烧伤严重程度)和光合活性相对不变的区域(严重程度低或未燃烧)。

var naip2013 = NAIP
  .filterDate("2013-01-01", "2013-12-31")
  .filterBounds(bounds);

// add 2013 imagery to the map with false color and true color composites
Map.addLayer(naip2013, visParamsFalse, "2013_false", false );
Map.addLayer(naip2013, visParamsTrue, "2013_true", false );
 

    

    


2011 年(左上)和 2013 年(右上)的真彩色 NAIP 图像与 2011 年(左下)和 2013 年(右下)的假彩色图像相比。
 

但 NAIP 图像的实用性不仅限于大规模分析。放大到 High Park Fire 的较小区域(如下所示),我们可以看到由于数据集的高分辨率,可以在非常小的范围内评估烧伤程度。


仔细查看通过 NAIP 图像可获得的详细程度。在 2011 年的图像(上)中可以清楚地看到个别树木,而在 2013 年的图像(下)中仍然存在那些在火灾中幸存下来的树木。

4结论

在本单元中,我们介绍了 Google 地球引擎作为生态学家利用遥感数据的强大工具。然后,我们定义了 Google 地球引擎用户界面的交互元素。最后,我们对 NAIP 图像进行了简单的探索,以查看科罗拉多州北部高公园火灾前后的景观尺度差异。

5完整代码

// Call in NAIP imagery as an image collection.
var NAIP = ee.ImageCollection("USDA/NAIP/DOQQ");

// Enter the desired coordinates for the upper left and lower right corners of your study area.
var bounds = ee.Geometry.Rectangle([[-105.53,40.75],[-105.17,40.56]]);

// Filter your dataset from the entire collection to the year of interest and extent.
var naip2011 = NAIP
  .filterDate("2011-01-01", "2011-12-31")
  .filterBounds(bounds);
  
// Define visualization parameters.
var visParamsFalse = {bands:['N', 'R', 'G']};
var visParamsTrue = {bands:['R', 'G', 'B']};

// Add 2011 imagery to the map with false color and true color composites.
Map.addLayer(naip2011,visParamsFalse,"2011_false", false );
Map.addLayer(naip2011,visParamsTrue,"2011_true", false );

Map.centerObject(naip2011, 11);

// Add 2013 imagery to the map with false color and true color composites.
var naip2013 = NAIP
  .filterDate("2013-01-01", "2013-12-31")
  .filterBounds(bounds);

// Add 2013 imagery to the map with false color and true color composites.
Map.addLayer(naip2013,visParamsFalse,"2013_false", false );
Map.addLayer(naip2013,visParamsTrue,"2013_true", false );

6词汇和缩写

AOI:感兴趣的区域

GEE:谷歌地球引擎

JS:JavaScript

NAIP:国家农业影像计划

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值