【GEE笔记8】数值Number(常见指令方法1)

GEE有很多类型的数据

  • String
  • Number
  • Array
  • List
  • Dictionary
  • Geometry
  • Feature
  • FeatureCollection
  • Image
  • ImageCollection
  • 各种卫星数据

本文主要介绍ee.Number的常见指令方法内容,完整指令方法见GEE ee.Number

ee.Number有以下常见指令方法内容

  1. 显示print(number)
  2. 创建ee.Number()
  3. 比较ee.Number.eq()ee.Number.neq()ee.Number.lt()ee.Number.lte()ee.Number.gt()ee.Number.gte()
  4. 缩放ee.Number.unitScale
  5. 取整
    • 绝对值ee.Number.abs
    • 四舍五入ee.Number.round
    • 向下取整ee.Number.ceil
    • 向上取整ee.Number.floor
  6. 格式化ee.Number.format
  7. 链式调用ee.Number.aside
  8. 函数运算
    • 开方ee.Number.sqrt
    • 三次根ee.Number.cbrt
    • ee.Number.pow
    • logee.Number.log
    • log10(lg)ee.Number.log10
    • 最大值ee.Number.max
    • 最小值ee.Number.min
    • 三角形斜边ee.Number.hypot
    • 第一个数值ee.Number.first
    • 第一个非零数值ee.Number.firstNonZero
  9. 逻辑运算
  • ee.Number.and
  • ee.Number.or
  • ee.Number.not
  1. 数学运算
    • ee.Number.add
    • ee.Number.subtract
    • ee.Number.multiply
    • ee.Number.divide
    • 余数ee.Number.mod
  2. 三角函数(正、反、双曲)
    • sinee.Number.sin
    • cosee.Number.cos
    • tanee.Number.tan
    • asinee.Number.asin
    • acosee.Number.acos
    • atanee.Number.atan
    • sinhee.Number.sinh
    • coshee.Number.cosh
    • tanhee.Number.tanh
  3. sign函数ee.Number.signum
  4. 按位运算
    • 按位与ee.Number.bitwiseAnd
    • 按位非ee.Number.bitwiseNot
    • 按位或ee.Number.bitwiseOr
    • 按位异或ee.Number.bitwiseXor
  5. 移位运算
    • 左移ee.Number.leftShift
    • 右移ee.Number.rightShift
  6. Gamma函数
  • ee.Number.trigamma
  • ee.Number.gamma
  • ee.Number.gammainc
  • ee.Number.digamma
  1. 计算二维向量角度ee.Number.atan2
  2. 裁切数值范围ee.Number.clamp
  3. 字符转数值ee.Number.parse
  4. 数值转字符ee.Number.format
  5. 格式转换
    • int(toInt)ee.Number.int / ee.Number.toInt
    • int8/16/32/64(toInt8/16/32/64)
    • long / toLongee.Number.long / ee.Number.toLong
    • short / toShortee.Number.short / ee.Number.toShort
    • byte / toByteee.Number.byte / ee.Number.toByte
    • double / toDoubleee.Number.double / ee.Number.toDouble
    • float / toFloatee.Number.float / ee.Number.toFloat
    • uint8/16/32(toUint8/16/32)

1.显示print(number)

var number = ee.Number(2022)
print(number)

【GEE笔记8】数值Number(常见指令方法1)_第1张图片

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

【GEE笔记8】数值Number(常见指令方法1)_第2张图片

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,有些读者可能一时间不太理解,下面我画图解释一下
【GEE笔记8】数值Number(常见指令方法1)_第3张图片

【GEE笔记8】数值Number(常见指令方法1)_第4张图片

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

你可能感兴趣的:(GEE,遥感,GEE,遥感,云计算,javascript)