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


    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()
    
    • 1

    案例

    // 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • cosee.Number.cos

    用法

    Number.cos()
    
    • 1

    案例

    // 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • tanee.Number.tan

    用法

    Number.tan()
    
    • 1

    案例

    // 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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • asinee.Number.asin

    用法

    Number.asin()
    
    • 1

    案例

    // 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)
    
    • 1
    • 2
    • 3
    • 4
    • acosee.Number.acos

    用法

    Number.acos()
    
    • 1

    案例

    // 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
    
    • 1
    • 2
    • 3
    • 4
    • atanee.Number.atan

    用法

    Number.atan()
    
    • 1

    案例

    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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • sinhee.Number.sinh

    用法

    Number.sinh()
    
    • 1

    案例

    // 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • coshee.Number.cosh

    用法

    Number.cosh()
    
    • 1

    案例

    // 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • tanhee.Number.tanh

    用法

    Number.tanh()
    
    • 1

    案例

    // 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    12. sign函数ee.Number.signum

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

    用法

    Number.signum()
    
    • 1

    案例

    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
    
    • 1
    • 2
    • 3

    13. 按位运算

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

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

    用法

    Number.bitwiseAnd(right)
    
    • 1

    案例

    /**
     * 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

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

    用法

    Number.bitwiseNot()
    
    • 1

    案例

    /**
     * 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 按位或ee.Number.bitwiseOr
      只要有1都留下

    用法

    Number.bitwiseOr(right)
    
    • 1

    案例

    /**
     * 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 按位异或ee.Number.bitwiseXor
      只留下同位置不同01值的,并在新数值中指定为1

    用法

    Number.bitwiseXor(right)
    
    • 1

    案例

    /**
     * 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    14. 移位运算

    • 左移ee.Number.leftShift

    用法

    Number.leftShift(right)
    
    • 1

    案例

    /**
     * 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 右移ee.Number.rightShift

    用法

    Number.rightShift(right)
    
    • 1

    案例

    /**
     * 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    15. Gamma函数

    • ee.Number.trigamma

    用法

    Number.trigamma()
    
    • 1

    案例

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • ee.Number.gamma

    用法

    Number.gamma()
    
    • 1

    案例

    // 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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • ee.Number.gammainc

    用法

    Number.gammainc(right)
    
    • 1

    案例

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • ee.Number.digamma

    用法

    Number.digamma()
    
    • 1

    案例

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
  • 相关阅读:
    软考架构设计师知识点
    计算机毕业设计(附源码)python-在线作业管理系统
    Spring5应用之JDK动态代理
    API 系列讲解之常见测试
    蓝牙查看接收到GIF格式的图片报错问题
    CMS垃圾收集
    C++程序员入门怎么学?
    22-08-01 西安 尚医通(01)跨域配置、Swagger2、R类、统一异常处理和自定义异常、Logback日志
    人工智能TensorFlow PyTorch物体分类和目标检测合集【持续更新】
    你还不会用数据库吗?一篇文章带你入门!!!#sql #Mysql
  • 原文地址:https://blog.csdn.net/qq_41159191/article/details/126701036