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

15 篇文章 16 订阅

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. 底数e的幂ee.Number.exp
  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)

同系列文章请阅读
【GEE笔记8】数值Number(常见指令方法1)
【GEE笔记9】数值Number(常见指令方法2)
【GEE笔记11】数值Number(常见指令方法4)

11. 三角函数(正、反、双曲)

  • sinee.Number.sin

用法

Number.sin()

案例

// Input angle in radians. 弧度
print('Sine of 0', ee.Number(0).sin());  // 0
print('Sine of π/2', ee.Number(Math.PI/2).sin());  // 1
print('Sine of 3π/2', ee.Number(3*Math.PI/2).sin());  // -1

// Convert degrees to radians. 角度
var degrees = 45;
var radians = degrees * (Math.PI/180);
print('Sine of 45 degrees', ee.Number(radians).sin());  // 0.707106781
  • cosee.Number.cos

用法

Number.cos()

案例

// Input angle in radians.
print('Cosine of 0', ee.Number(0).cos());  // 1
print('Cosine of π/2', ee.Number(Math.PI/2).cos());  // 0 (nearly)
print('Cosine of π', ee.Number(Math.PI).cos());  // -1

// Convert degrees to radians.
var degrees = 45;
var radians = degrees * (Math.PI/180);
print('Cosine of 45 degrees', ee.Number(radians).cos());  // 0.707106781
  • tanee.Number.tan

用法

Number.tan()

案例

// Input angle in radians.
print('Tangent of 0', ee.Number(0).tan());  // 0
print('Tangent of π/2', ee.Number(Math.PI/2).tan());  // 16331239353195370
print('Tangent of π', ee.Number(Math.PI).tan());  // 0 (nearly)

// Convert degrees to radians.
var degrees = 45;
var radians = degrees * (Math.PI/180);
print('Tangent of 45 degrees', ee.Number(radians).tan());  // 1 (nearly)
  • asinee.Number.asin

用法

Number.asin()

案例

// The domain of arcsine is [-1,1], inputs outside the domain are invalid.
print('Arcsine of -1', ee.Number(-1).asin());  // -1.570796326 (-π/2)
print('Arcsine of 0', ee.Number(0).asin());  // 0
print('Arcsine of 1', ee.Number(1).asin());  // 1.570796326 (π/2)
  • acosee.Number.acos

用法

Number.acos()

案例

// The domain of arccosine is [-1,1], inputs outside the domain are invalid.
print('Arccosine of -1', ee.Number(-1).acos());  // 3.141592653 (π)
print('Arccosine of 0', ee.Number(0).acos());  // 1.570796326 (π/2)
print('Arccosine of 1', ee.Number(1).acos());  // 0
  • atanee.Number.atan

用法

Number.atan()

案例

print('Arctangent of -1e13', ee.Number(-1e13).atan());  // -1.570796326 (-π/2)
print('Arctangent of -1', ee.Number(-1).atan());  // -0.785398163
print('Arctangent of 0', ee.Number(0).atan());  // 0
print('Arctangent of 1', ee.Number(1).atan());  // 0.785398163
print('Arctangent of 1e13', ee.Number(1e13).atan());  // 1.570796326 (π/2)
  • sinhee.Number.sinh

用法

Number.sinh()

案例

// Input angle in radians.
print('Hyperbolic sine of -5', ee.Number(-5).sinh());  // -74.203210577
print('Hyperbolic sine of -1', ee.Number(-1).sinh());  // -1.175201193
print('Hyperbolic sine of 0', ee.Number(0).sinh());  // 0
print('Hyperbolic sine of 1', ee.Number(1).sinh());  // 1.175201193
print('Hyperbolic sine of 5', ee.Number(5).sinh());  // 74.203210577

// Convert degrees to radians.
var degrees = 45;
var radians = degrees * (Math.PI/180);
print('Hyperbolic sine of 45 degrees',
      ee.Number(radians).sinh());  // 0.868670961
  • coshee.Number.cosh

用法

Number.cosh()

案例

// Input angle in radians.
print('Hyperbolic cosine of -5', ee.Number(-5).cosh());  // 74.209948524
print('Hyperbolic cosine of -1', ee.Number(-1).cosh());  // 1.543080634
print('Hyperbolic cosine of 0', ee.Number(0).cosh());  // 1
print('Hyperbolic cosine of 1', ee.Number(1).cosh());  // 1.543080634
print('Hyperbolic cosine of 5', ee.Number(5).cosh());  // 74.209948524

// Convert degrees to radians.
var degrees = 45;
var radians = degrees * (Math.PI/180);
print('Hyperbolic cosine of 45 degrees',
      ee.Number(radians).cosh());  // 1.324609089
  • tanhee.Number.tanh

用法

Number.tanh()

案例

// Input angle in radians.
print('Hyperbolic tangent of -5', ee.Number(-5).tanh());  // -0.999909204
print('Hyperbolic tangent of -1', ee.Number(-1).tanh());  // -0.761594155
print('Hyperbolic tangent of 0', ee.Number(0).tanh());  // 0
print('Hyperbolic tangent of 1', ee.Number(1).tanh());  // 0.761594155
print('Hyperbolic tangent of 5', ee.Number(5).tanh());  // 0.999909204

// Convert degrees to radians. 角度转弧度
var degrees = 45;
var radians = degrees * (Math.PI/180);
print('Hyperbolic tangent of 45 degrees',
      ee.Number(radians).tanh());  // 0.655794202

12. sign函数ee.Number.signum

计算输入的符号函数(sign);如果输入为零,则为零,如果输入大于零,则为 1,如果输入小于零,则为 -1。

用法

Number.signum()

案例

print('Sign of -5', ee.Number(-5).signum());  // -1
print('Sign of 0', ee.Number(0).signum());  // 0
print('Sign of 5', ee.Number(5).signum());  // 1

13. 按位运算

先将输入的数值转成二进制形式,然后把相对应位置的两个数值进行运算,包括And Or Xor Not

  • 按位与ee.Number.bitwiseAnd
    保留都有的1

用法

Number.bitwiseAnd(right)

案例

/**
 * Unsigned 8-bit type example.
 *
 * 25 as binary:   00011001
 * 21 as binary:   00010101
 * Both digits 1?: 00010001
 *
 * 00010001 is unsigned 8-bit binary for 17.
 */

print(ee.Number(25).bitwiseAnd(21)); // 17

在这里插入图片描述

  • 按位非ee.Number.bitwiseNot
    交换01位置

用法

Number.bitwiseNot()

案例

/**
 * Unsigned 8-bit type example.
 *
 * 25 as binary:    00011001
 * Flip each digit: 11100110
 *
 * 11100110 is signed 8-bit binary for -26.
 * (binary interpreted using smallest signed integer type containing the input).
 */

print(ee.Number(25).bitwiseNot()); // 26
  • 按位或ee.Number.bitwiseOr
    只要有1都留下

用法

Number.bitwiseOr(right)

案例

/**
 * Unsigned 8-bit type example.
 *
 * 25 as binary:    00011001
 * 21 as binary:    00010101
 * Either digit 1?: 00011101
 *
 * 00011101 is unsigned 8-bit binary for 29.
 */

print(ee.Number(25).bitwiseOr(21)); // 29
  • 按位异或ee.Number.bitwiseXor
    只留下同位置不同01值的,并在新数值中指定为1

用法

Number.bitwiseXor(right)

案例

/**
 * Unsigned 8-bit type example.
 *
 * 25 as binary:         00011001
 * 21 as binary:         00010101
 * Only one digit is 1?: 00001100
 *
 * 00001100 is unsigned 8-bit binary for 12.
 */

print(ee.Number(25).bitwiseXor(21)); // 12

14. 移位运算

  • 左移ee.Number.leftShift

用法

Number.leftShift(right)

案例

/**
 * Unsigned 8-bit type example.
 *
 * 20 as binary:  00010100
 * Left shift 2:  01010000
 *
 * 01010000 is binary for 80.
 */

print(ee.Number(20).leftShift(2));  // 80
  • 右移ee.Number.rightShift

用法

Number.rightShift(right)

案例

/**
 * Unsigned 8-bit type example.
 *
 * 20 as binary:   00010100
 * Right shift 2:  00000101
 *
 * 00000101 is binary for 5.
 */

print(ee.Number(20).rightShift(2));  // 5

15. Gamma函数

  • ee.Number.trigamma

用法

Number.trigamma()

案例

print('Trigamma for -100', ee.Number(-100).trigamma());  // Infinity
print('Trigamma for 0.001', ee.Number(0.001).trigamma());  // 1000001.642533195
print('Trigamma for 0.5', ee.Number(0.5).trigamma());  // 4.934802200
print('Trigamma for 1', ee.Number(1).trigamma());  // 1.644934066
print('Trigamma for 100', ee.Number(100).trigamma());  // 0.010050166
print('Trigamma for 200', ee.Number(200).trigamma());  // 0.005012520
  • ee.Number.gamma

用法

Number.gamma()

案例

// Values less than or equal to 0 are invalid.
print('Gamma for 0.001', ee.Number(0.001).gamma());  // 999.423772484
print('Gamma for 0.5', ee.Number(0.5).gamma());  // 1.772453850
print('Gamma for 1', ee.Number(1).gamma());  // 1
print('Gamma for 100', ee.Number(100).gamma());  // 9.332621544e+155
print('Gamma for 200', ee.Number(200).gamma());  // Infinity
  • ee.Number.gammainc

用法

Number.gammainc(right)

案例

print('Lower incomplete gamma function for x = 0, a = 1',
      ee.Number(0).gammainc(1));  // 0

print('Lower incomplete gamma function for x = 1, a = 1',
      ee.Number(1).gammainc(1));  // 0.632120558

print('Lower incomplete gamma function for x = 10, a = 1',
      ee.Number(10).gammainc(1));  // 0.999954600

print('Lower incomplete gamma function for x = -1, a = 1',
      ee.Number(-1).gammainc(1));  // NaN

print('Lower incomplete gamma function for x = 10, a = -1',
      ee.Number(10).gammainc(-1));  // NaN
  • ee.Number.digamma

用法

Number.digamma()

案例

print('Digamma for -1.5', ee.Number(-1.5).digamma());  // 0.703156637
print('Digamma for -1', ee.Number(-1).digamma());  // -Infinity
print('Digamma for 0', ee.Number(0).digamma());  // -Infinity
print('Digamma for 0.5', ee.Number(0.5).digamma());  // -1.963510028
print('Digamma for 1', ee.Number(1).digamma());  // -0.577215667
print('Digamma for 100', ee.Number(100).digamma());  // 4.600161852
print('Digamma for 1e13', ee.Number(1e13).digamma());  // 29.933606208
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vigo*GIS_RS

来瓶可乐~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值