GEE学习笔记【1】GEE的数据类型之String,Number

对应的课程为
https://www.bilibili.com/video/BV1Sb411p7TQ?p=4

数据类型

GEE的数据类型可以分为参数型数据空间型数据,还有卫星矩阵数据
其中,参数型数据有:String、Number、Array、List、Dictionary;空间型数据有:Geometry、Feature、Feature Collection、Image、Image Collection

String的用法

操作
显示print(string)
创建ee.String()
修改string.cat()(拼接)string.replace()(替换)
段落string.split()(分割)string.match(匹配)
查询string.slice()string.length

String实战

1.显示一个String

print("this is a string")

在这里插入图片描述
2.创建一个String

var string = ee.String('this is a string')

print(string)

在这里插入图片描述
在GEE中,任何变量的引入都需要以var开头

3.合并两个String

var string1 = ee.String('this is a string1')
var string2 = ee.String('this is a string2')

var cat_str = string1.cat(string2)
print(cat_str)

在这里插入图片描述
把string2拼接在string1后面

4.替换

var string1 = ee.String('ABC ADE AFG AHI')
var string2 = string1.replace('A','-')

print(string1,string2)

在这里插入图片描述
只替换了第一个A

var string1 = ee.String('ABC ADE AFG AHI')
var string2 = string1.replace('A','-','g')

print(string1,string2)

通过在replace中添加参数’g‘,可以做到全部替换
在这里插入图片描述
5.切割

var string1 = ee.String('A_B_C_D')
var string2 = string1.split("_")

print(string1,string2)

在这里插入图片描述
将String转化成了List

6.匹配

var string1 = ee.String('A B C D C')
var string2 = string1.match('c','i')

print(string1,string2)

在这里插入图片描述
'i’指忽略大小写
7.切片

var string1 = ee.String('1234 5678 90AB')
var string2 = string1.slice(5, 10)

print(string1,string2)

在这里插入图片描述
从第5位到第10位

var string1 = ee.String('1234 5678 90AB')
var string2 = string1.slice(5)

print(string1,string2)

在这里插入图片描述
从第5位到最后

长度

var string1 = ee.String('1234 5678 90AB')
var num = string1.length()

print(string1,num)

在这里插入图片描述

Number数据类型

功能操作
创建ee.Number()
修改number.uint8(); number.Uint8(); number.int8(); number.toInt8()
比较number.eq(); number.neq(); number.and(); number.or(); ee.Algorithms.IsEqua()
运算number.abs(); number.round(); number.pow()
字位number.bitwiseAnd(); number.bitwiseOr(); number.bitwise_and(); number.bitwise_or(); number.leftShift(); number.right_shift()

Number实战

1.创建

var number = ee.Number(123456789)

print(number)

在这里插入图片描述
转变数据格式

var num1 = ee.Number(-3.14159)
var num2 = num1.int8()
var num3 = num1.toInt8()

print(num1, num2, num3)

在这里插入图片描述
注意: int8() 和 toInt8()的大小写不同

  • uint8/16/32/64 = toUint8/16/32/64 (无符号整型)
  • float = toFloat
  • double = toDouble

2.比较

number.eqnumber.neqnumber.gtnumber.gtenumber.ltnumber.lte
=><
  • number.and()
  • number.or()
  • number.not()
var num1 = ee.Number(10)
var num2 = ee.Number(-10)
var bool = num1.eq(num2)

print(num1, num2, bool)

在这里插入图片描述
3.数字运算

number.roundnumber.ceilnumber.floornumber.sqrtnumber.expnumber.lognumber.log10
四舍五入向上取整向下取整开方对数10底对数
var num1 = ee.Number(-3.1415)
var num2 = num1.floor().abs()

print(num1, num2)

在这里插入图片描述
4.数字运算2

var num1 = ee.Number(3.14)
var num2 = ee.Number(3.14)
var num3 = ee.Number(3.141)
var bool1 = ee.Algorithms.IsEqual(num1, num2)
var bool2 = ee.Algorithms.IsEqual(num2, num3)

print(num1, num2, num3)
print(bool1, bool2)

在这里插入图片描述
返回的不是1和0,而是ture 和 false

5.位运算

var num1 = ee.Number(1)
var num2 = ee.Number(2)
var num_And = num1.bitwiseAnd(num2)
var num_Or = num1.bitwiseOr(num2)

print('000000001(=1)and 00000010(=2)', num_And)
print('000000001(=1)or 00000010(=2)', num_Or)

在这里插入图片描述
bitwiseAnd/Or/Xor/Not = bitwise_and/_or/_xor/_not (与/或/异或/非)

6.位运算(左移或右移)

var num = ee.Number(3)
var num_left = num.leftShift(2)
var num_right = num.rightShift(1)

print("00000011 to 00001100",num_left)
print("00000011 to 00000001",num_right)

在这里插入图片描述
number.leftShift = number.left_shift
用途:在Landsat卫星图像中,前8?前12位是用二进制存储的,可以使用位运算对每个像素的云量进行筛选

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值