GEE有很多类型的数据
- String
- Number
- Array
- List
- Dictionary
- Geometry
- Feature
- FeatureCollection
- Image
- ImageCollection
- 各种卫星数据
本文主要介绍ee.Number
的常见指令方法内容,完整指令方法见GEE ee.Number
ee.Number
有以下常见指令方法内容
- 显示
print(number)
- 创建
ee.Number()
- 比较
ee.Number.eq()
、ee.Number.neq()
、ee.Number.lt()
、ee.Number.lte()
、ee.Number.gt()
、ee.Number.gte()
- 缩放
ee.Number.unitScale
- 取整
- 绝对值
ee.Number.abs
- 四舍五入
ee.Number.round
- 向下取整
ee.Number.ceil
- 向上取整
ee.Number.floor
- 绝对值
- 底数e的幂
ee.Number.exp
- 链式调用
ee.Number.aside
- 函数运算
- 开方
ee.Number.sqrt
- 三次根
ee.Number.cbrt
- 幂
ee.Number.pow
- log
ee.Number.log
- log10(lg)
ee.Number.log10
- 最大值
ee.Number.max
- 最小值
ee.Number.min
- 三角形斜边
ee.Number.hypot
- 第一个数值
ee.Number.first
- 第一个非零数值
ee.Number.firstNonZero
- 开方
- 逻辑运算
ee.Number.and
ee.Number.or
ee.Number.not
- 数学运算
- 加
ee.Number.add
- 减
ee.Number.subtract
- 乘
ee.Number.multiply
- 除
ee.Number.divide
- 余数
ee.Number.mod
- 加
- 三角函数(正、反、双曲)
- sin
ee.Number.sin
- cos
ee.Number.cos
- tan
ee.Number.tan
- asin
ee.Number.asin
- acos
ee.Number.acos
- atan
ee.Number.atan
- sinh
ee.Number.sinh
- cosh
ee.Number.cosh
- tanh
ee.Number.tanh
- sin
- sign函数
ee.Number.signum
- 按位运算
- 按位与
ee.Number.bitwiseAnd
- 按位非
ee.Number.bitwiseNot
- 按位或
ee.Number.bitwiseOr
- 按位异或
ee.Number.bitwiseXor
- 按位与
- 移位运算
- 左移
ee.Number.leftShift
- 右移
ee.Number.rightShift
- 左移
- Gamma函数
ee.Number.trigamma
ee.Number.gamma
ee.Number.gammainc
ee.Number.digamma
- 计算二维向量角度
ee.Number.atan2
- 限制数值范围
ee.Number.clamp
- 字符转数值
ee.Number.parse
- 数值转字符
ee.Number.format
- 格式转换
- int(toInt)
ee.Number.int / ee.Number.toInt
- int8/16/32/64(toInt8/16/32/64)
- long / toLong
ee.Number.long / ee.Number.toLong
- short / toShort
ee.Number.short / ee.Number.toShort
- byte / toByte
ee.Number.byte / ee.Number.toByte
- double / toDouble
ee.Number.double / ee.Number.toDouble
- float / toFloat
ee.Number.float / ee.Number.toFloat
- uint8/16/32(toUint8/16/32)
- int(toInt)
后置章节请阅读
【GEE笔记9】数值Number(常见指令方法2)
【GEE笔记10】数值Number(常见指令方法3)
【GEE笔记11】数值Number(常见指令方法4)
1.显示print(number)
var number = ee.Number(2022)
print(number)
2.创建ee.Number
ee.Number
就是构建一个新的Number
,也包括Number
的计算
- 用法
ee.Number(number)
- 案例
print(ee.Number(0)); // 0
print(ee.Number(1)); // 1
print(ee.Number(0.0)); // 0
print(ee.Number(1.0)); // 1
print(ee.Number(-1.0)); // -1
print(ee.Number(Math.PI)); // 3.141592653589793
print(ee.Number(1.2e-35)); // 1.2e-35
print(ee.Number(3.4e10)); // 34000000000
3.比较ee.Number.eq()
、ee.Number.neq()
、ee.Number.lt()
、ee.Number.lte()
、ee.Number.gt()
、ee.Number.gte()

判断两个数值的大小关系,具体含义如上图,如果两个数值满足方法所定义的关系式,则返回1,不符合则返回0。
下面展示number.ep
的用法和案例,和其余的一样。
- 用法
Number.eq(right)
- 案例
print('1 equal to 1?', ee.Number(1).eq(ee.Number(1))); // 1
print('1.001 equal to 1?', ee.Number(1.001).eq(ee.Number(1))); // 0
4. 缩放ee.Number.unitScale
一般用于栅格值的转换。缩放输入的数值,使输入值 [min, max] 的范围变为 [0, 1]。范围之外的值不会被限制。如果 min == max,则返回 0。
- 用法
Number.unitScale(min, max)
- 案例
print('-10 scaled between [0, 100]', ee.Number(-10).unitScale(0, 100)); // -0.1
print('10 scaled between [0, 100]', ee.Number(10).unitScale(0, 100)); // 0.1
// 当min == max
print('10 scaled between [10, 100]', ee.Number(10).unitScale(10, 100)); // 0
// 下面将变换 min 和 max 的范围
print('-20 scaled between [10, 100]', ee.Number(-20).unitScale(10, 100)); // -0.333
print('30 scaled between [10, 100]', ee.Number(30).unitScale(10, 100)); // 0.222
对于后面出现的-0.33333和0.22222,有些读者可能一时间不太理解,下面我画图解释一下
5. 取整
- 绝对值
ee.Number.abs
用法
Number.abs()
案例
print('Absolute value of -1', ee.Number(-1).abs()); // 1
print('Absolute value of 0', ee.Number(0).abs()); // 0
print('Absolute value of 2.3', ee.Number(2.3).abs()); // 2.3
- 四舍五入
ee.Number.round
用法
Number.round()
案例
print('10.4 rounds down', ee.Number(10.4).round()); // 10
print('10.5 rounds up', ee.Number(10.5).round()); // 11
print('10.9 rounds up', ee.Number(10.9).round()); // 11
- 向下取整
ee.Number.ceil
用法
Number.ceil()
案例
// Positive numbers.正数
print('Ceiling for 2.1', ee.Number(2.1).ceil()); // 3
print('Ceiling for 2.5', ee.Number(2.5).ceil()); // 3
print('Ceiling for 2.9', ee.Number(2.9).ceil()); // 3
// Negative numbers.负数
print('Ceiling for 2.1', ee.Number(-2.1).ceil()); // -2
print('Ceiling for 2.5', ee.Number(-2.5).ceil()); // -2
print('Ceiling for 2.9', ee.Number(-2.9).ceil()); // -2
- 向上取整
ee.Number.floor
用法
Number.floor()
案例
// Positive numbers.
print('Floor for 2.1', ee.Number(2.1).floor()); // 2
print('Floor for 2.5', ee.Number(2.5).floor()); // 2
print('Floor for 2.9', ee.Number(2.9).floor()); // 2
// Negative numbers.
print('Floor for -2.1', ee.Number(-2.1).floor()); // -3
print('Floor for -2.5', ee.Number(-2.5).floor()); // -3
print('Floor for -2.9', ee.Number(-2.9).floor()); // -3