Google Earth Engine(GEE)——如何正确使用if和for条件判断?

简介: Google Earth Engine(GEE)——如何正确使用if和for条件判断?


映射的函数在它可以执行的操作中受到限制。具体来说,它不能修改函数外的变量;它不能打印任何东西;它不能使用 JavaScript 的“if”或“for”语句。但是,您可以使用ee.Algorithms.If()在映射函数中执行条件操作。例如:


上一次博客中写道同样的影像结果应该是118幅,但是此次经过太阳高度的条件判断,最终就只有84幅了。而且可以从波段的数量上就能看出在返回为0的影像中仅有1各波段,就是一个list附加一个properties里面有一个指针也就是这副影像的系统位置名称

ee.Algorithms.If(condition, trueCase, falseCase)

根据条件选择其输入之一,类似于 if-then-else 构造。

Selects one of its inputs based on a condition, similar to an if-then-else construct.


Arguments:

condition (Object, default: null):

确定返回哪个结果的条件。如果这不是布尔值,则按照以下规则将其解释为布尔值:


- 等于 0 或 NaN 的数字为假。


- 空字符串、列表和字典是假的。


- 空是假的。


- 其他都是真的:这里就是说非空非0都是真的

The condition that determines which result is returned. If this is not a boolean, it is interpreted as a boolean by the following rules:

- Numbers that are equal to 0 or a NaN are false.

- Empty strings, lists and dictionaries are false.

- Null is false.

- Everything else is true.

trueCase (Object, default: null):

The result to return if the condition is true.

falseCase (Object, default: null):

The result to return if the condition is false.


Returns: Object

代码很简单:

// 依旧是进行影像按照行列号进行筛选
var collection = ee.ImageCollection('LANDSAT/LC8_L1T_TOA')
  .filter(ee.Filter.eq('WRS_PATH', 44))
  .filter(ee.Filter.eq('WRS_ROW', 34));
// 如果太阳高度 > 40 度此函数使用条件语句返回正常图像,否则它返回一个零图像。
var conditional = function(image) {
  return ee.Algorithms.If(ee.Number(image.get('SUN_ELEVATION')).gt(40),
                          image,
                          ee.Image(0));
};
// 将函数映射到集合上,转换为 List 并打印结果。
print('Expand this to see the result: ', collection.map(conditional));


相关文章
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
4924 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
273 0
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
584 0
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
GEE——Google dynamic world中在影像导出过程中无法完全导出较大面积影像的解决方案(投影的转换)EPSG:32630和EPSG:4326的区别
330 0
|
存储 编解码 数据可视化
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
【2月更文挑战第14天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,按照给定的地表分类数据,对每一种不同的地物类型,分别加以全球范围内随机抽样点自动批量选取的方法~
1184 1
Google Earth Engine获取随机抽样点并均匀分布在栅格的不同数值区中
|
API Go 网络架构
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
GEE Colab——如何从本地/Google云盘/Google Cloud Storage (GCS)上传和下载
820 4
|
机器学习/深度学习 存储 人工智能
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
GEE Colab——初学者福音快速入门 Google Colab(Colaboratory)
591 3
|
数据处理
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
Google Earth Engine(GEE)——sentinel-1数据处理过程中出现错误Dictionary does not contain key: bucketMeans
289 0
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
367 0
|
编解码
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
225 0

热门文章

最新文章

推荐镜像

更多