GEE有很多类型的数据
本文主要介绍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
ee.Number.format
ee.Number.aside
ee.Number.sqrt
ee.Number.cbrt
ee.Number.pow
ee.Number.log
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
ee.Number.sin
ee.Number.cos
ee.Number.tan
ee.Number.asin
ee.Number.acos
ee.Number.atan
ee.Number.sinh
ee.Number.cosh
ee.Number.tanh
ee.Number.signum
ee.Number.bitwiseAnd
ee.Number.bitwiseNot
ee.Number.bitwiseOr
ee.Number.bitwiseXor
ee.Number.leftShift
ee.Number.rightShift
ee.Number.trigamma
ee.Number.gamma
ee.Number.gammainc
ee.Number.digamma
ee.Number.atan2
ee.Number.clamp
ee.Number.parse
ee.Number.format
ee.Number.int / ee.Number.toInt
ee.Number.long / ee.Number.toLong
ee.Number.short / ee.Number.toShort
ee.Number.byte / ee.Number.toByte
ee.Number.double / ee.Number.toDouble
ee.Number.float / ee.Number.toFloat
print(number)
var number = ee.Number(2022)
print(number)
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
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
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,有些读者可能一时间不太理解,下面我画图解释一下
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