如何在Google Earth Engine中通过多影像运算生成满足双条件的Boolean影像
GEE多条件布尔影像生成高效方案
你的需求可以用条件计数求和法实现,比两两组合取并集的写法更简洁,运算效率也相当,逻辑完全等价:
核心原理
三个布尔判断条件的返回值本身可对应0(不满足)和1(满足),将三个值求和后,数值≥2的像元就是刚好满足任意2个或同时满足3个条件的结果,和你计算三组条件交集再取并集的输出完全一致。
实现代码(GEE JavaScript API)
// 生成三个条件的布尔影像,转整型后取值为1/0 var cond1 = Max.lt(3).int(); var cond2 = Min.lt(MinUp.divide(3)).int(); var cond3 = C.lt(5).int(); // 对三个条件求和后取≥2的阈值,直接得到目标布尔影像 var booleanResult = cond1.add(cond2).add(cond3).gte(2);
优势说明
- 代码量更少,可读性更强,不需要写多组
and()和or()嵌套 - 天然兼容同时满足三个条件的像元判断,不需要额外处理边界
- 逐像元运算次数少,运算开销和你原有方案一致甚至更低
内容的提问来源于stack exchange,提问作者Claire Wang
相关产品推荐
相关产品推荐

