gpt4 book ai didi

mask - 哪个函数适用于云掩蔽

转载 作者:行者123 更新时间:2023-12-05 07:26:55 25 4
gpt4 key购买 nike

我正在编写一个函数来屏蔽 Sentinel-2 数据的混浊像素。

函数一:

function cloudMask(image) {
var qa = image.select('QA60');
var cloudBitMask = 1 << 10; ###
var cirrusBitMask = 1 << 11; ###
var mask = qa.bitwiseAnd(cloudBitMask).eq(0).and(
qa.bitwiseAnd(cirrusBitMask).eq(0));
return image.updateMask(mask).divide(10000);
}

功能二:

function cloudMask(image) {
var qa = image.select('QA60');
var cloudBitMask = Math.pow(2, 10); ###
var cirrusBitMask = Math.pow(2, 11); ###
var mask = qa.bitwiseAnd(cloudBitMask).eq(0).and(
qa.bitwiseAnd(cirrusBitMask).eq(0));
return image.updateMask(mask).divide(10000);
}

哪个函数是正确的?两个函数的区别在于 cloudBitMaskcirrusBitMask 是如何定义的。

最佳答案

这两个函数都是正确的,因为它们做的是完全相同的事情。 1 << 10Math.pow(2, 10)将产生一个值为 1024 的数字.

由于我们通常同时使用不透明云和卷云来进行云掩蔽,因此我建议保持代码简短明了,如下所示:

function cloudMask(image) {
var qa = image.select('QA60');
var allCloudBitMask = (1 << 10) + (1 << 11);
var mask = qa.bitwiseAnd(allCloudBitMask).eq(0);
return image.updateMask(mask);
}

关于mask - 哪个函数适用于云掩蔽,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54192530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com