Google Earth Engine的位运算2

GEE中常用的位运算主要包括以下几种:

.rightShift()

.leftShift()

.bitwiseAnd()

.bitwiseOr()

.bitwiseXor()

本文简单介绍一下上述五种运算。

  1. 右移位、.rightShift()、>>

将一个数的各二进制位全部右移若干位。具体使用方式以下面的代码为例:

//随便设一个数,这里为155,转换二进制为10011011
var Test_dig = ee.Number(155);
//将Test_dig右移两位
var RS_result1 = Test_dig.rightShift(2)
print('结果1:', RS_result1)//值为38
//将155右移两位的第二种方式
var RS_result2 = 155 >> 2
print('结果2:', RS_result2)//值为38

上述操作如图所示:

文字说明:155二进制为10011011,右移两位就变成了(00)100110,即38

  1. 左移位、.leftShift()、<<

将一个数的各二进制位全部左移若干位。具体使用方式以下面的代码为例:

//随便设一个数,这里为23,转换二进制为10111
var Test_dig = ee.Number(23);
//将Test_dig左移三位
var RS_result1 = Test_dig.leftShift(3)
print('结果1:', RS_result1)//值为184
//将23左移三位的第二种方式
var RS_result2 = 23 << 3
print('结果2:', RS_result2)//值为184

上述操作如图所示:

文字说明:看图和右移的文字说明吧,懒得写了。

  1. 按位与、.bitwiseAnd()

只有对应的两个二进位都为1时,结果位才为1。具体使用方式以下面的代码为例:

//随便设两个数,此处分别为22和21,转换二进制分别为10110和10101
var Test_dig1 = ee.Number(22);//10110
var Test_dig2 = ee.Number(21);//10101
//两个数进行按位与
var BA_result = Test_dig1.bitwiseAnd(Test_dig2)
print(BA_result)//值为20

上述操作如图所示:

文字说明:都是1才是1,不然就是0

  1. 按位或、.bitwiseOr()

只要对应的两个二进位有一个为1时,结果位就为1。具体使用方式以下面的代码为例:

//随便设两个数,此处分别为10和9,转换二进制分别为1010和1001
var Test_dig1 = ee.Number(10);//1010
var Test_dig2 = ee.Number(9); //1001
//两个数进行按位或
var BA_result = Test_dig1.bitwiseOr(Test_dig2)
print(BA_result)//值为11

上述操作如图所示:

文字说明:有1就是1,全0才是0

  1. 按位异或、.bitwiseXor()

对应的两个二进位相同时,结果位为0;对应的两个二进位不同时,结果位为1。具体使用方式以下面的代码为例:

//随便设两个数,此处分别为9和5,转换二进制分别为1001和(0)101
var Test_dig1 = ee.Number(9);//1001
var Test_dig2 = ee.Number(5);//0101
//两个数进行按位异或
var BA_result = Test_dig1.bitwiseXor(Test_dig2)
print(BA_result)//值为12

上述操作如图所示:

文字说明:如图所示,不想写了。

位运算是理解质量控制的关键,理解了位运算,再看生成云掩膜的相关代码就会轻松很多了。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值