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.unitScaleee.Number.absee.Number.roundee.Number.ceilee.Number.flooree.Number.exp ee.Number.asideee.Number.sqrtee.Number.cbrtee.Number.powee.Number.logee.Number.log10ee.Number.maxee.Number.minee.Number.hypotee.Number.firstee.Number.firstNonZeroee.Number.andee.Number.oree.Number.notee.Number.addee.Number.subtractee.Number.multiplyee.Number.divideee.Number.modee.Number.sinee.Number.cosee.Number.tanee.Number.asinee.Number.acosee.Number.atanee.Number.sinhee.Number.coshee.Number.tanhee.Number.signumee.Number.bitwiseAndee.Number.bitwiseNotee.Number.bitwiseOree.Number.bitwiseXoree.Number.leftShiftee.Number.rightShiftee.Number.trigammaee.Number.gammaee.Number.gammaincee.Number.digammaee.Number.atan2ee.Number.clampee.Number.parseee.Number.formatee.Number.int / ee.Number.toIntee.Number.long / ee.Number.toLong ee.Number.short / ee.Number.toShort ee.Number.byte / ee.Number.toByteee.Number.double / ee.Number.toDoubleee.Number.float / ee.Number.toFloat 同系列文章请阅读
【GEE笔记8】数值Number(常见指令方法1)
【GEE笔记10】数值Number(常见指令方法3)
【GEE笔记11】数值Number(常见指令方法4)
ee.Number.exp 用法
Number.exp()
案例
print('e^-1', ee.Number(-1).exp()); // 0.367879441
print('e^0', ee.Number(0).exp()); // 1
print('e^1', ee.Number(1).exp()); // 2.718281828
print('e^2', ee.Number(2).exp()); // 7.389056098
ee.Number.asideCalls a function passing this object as the first argument, and returning itself. Convenient e.g. when debugging:
var c = ee.ImageCollection(‘foo’).aside(print)
.filterDate(‘2001-01-01’, ‘2002-01-01’).aside(print, ‘In 2001’)
.filterBounds(geom).aside(print, ‘In region’)
.aside(Map.addLayer, {min: 0, max: 142}, ‘Filtered’)
.select(‘a’, ‘b’);
Returns the same object, for chaining.
调用一个函数,将此对象作为第一个参数传递,并返回自身。方便例如调试时: var c = ee.ImageCollection(‘foo’).aside(print) .filterDate(‘2001-01-01’, ‘2002-01-01’).aside(打印, ‘2001’) .filterBounds(geom).aside(print, ‘在区域内’) .aside(Map.addLayer, {min: 0, max: 142}, ‘Filtered’) .select(‘a’, ‘b’); 返回相同的对象,用于链接。
用法
Number.aside(func, var_args)
案例
// Print a message when constructing an ee.Number.
var eeNum = ee.Number(10).aside(print, 'An ee.Number was defined');
ee.Number.sqrt用法
Number.sqrt()
案例
// Values less than 0 are invalid. 数值必须大于等于0
print('Square root of 25', ee.Number(25).sqrt()); // 5
ee.Number.cbrt用法
Number.cbrt()
案例
print('Cubic root of 27', ee.Number(27).cbrt()); // 3
ee.Number.pow这里需要注意的是两个ee.Number( ),左边的是底数,右边的是指数。
用法
Number.pow(right)
案例
print('5 ** 2', ee.Number(5).pow(ee.Number(2))); // 25
print('-5 ** 2', ee.Number(-5).pow(ee.Number(2))); // 25
print('5 ** -2', ee.Number(5).pow(ee.Number(-2))); // 0.04
print('5 ** 2.2', ee.Number(5).pow(ee.Number(2.2))); // 34.493241536
print('5.2 ** 2', ee.Number(5.2).pow(ee.Number(2))); // 27.040000000
ee.Number.log用法
Number.log()
案例
print(ee.Number(Math.pow(Math.E, -1)).log()); // -1
print(ee.Number(1).log()); // 0
print(ee.Number(Math.E).log()); // 1
ee.Number.log10用法
Number.log10()
案例
print(ee.Number(0.1).log10()); // -1
print(ee.Number(1).log10()); // 0
print(ee.Number(10).log10()); // 1
print(ee.Number(100).log10()); // 2
ee.Number.max用法
Number.max(right)
案例
print('Given 5 and 10, max is 10', ee.Number(5).max(ee.Number(10))); // 10
ee.Number.min用法
Number.min(right)
案例
print('Given 5 and 10, min is 5', ee.Number(5).min(ee.Number(10))); // 5
ee.Number.hypot用法
Number.hypot(right)
案例
// Left input is x and right input is y, representing point (x,y).
print('Length from origin to point (0,0)', ee.Number(0).hypot(0)); // 0
print('Length from origin to point (3,0)', ee.Number(3).hypot(0)); // 3
print('Length from origin to point (3,4)', ee.Number(3).hypot(4)); // 5
print('Length from origin to point (-3,4)', ee.Number(-3).hypot(4)); // 5
print('Length from origin to point (-3,-4)', ee.Number(-3).hypot(-4)); // 5
ee.Number.first用法
Number.first(right)
案例
print(ee.Number(1).first(ee.Number(2))); // 1
ee.Number.firstNonZero用法
Number.firstNonZero(right)
案例
print('First non-zero: 0, 5', ee.Number(0).firstNonZero(ee.Number(5))); // 5
print('First non-zero: 5, 0', ee.Number(5).firstNonZero(ee.Number(0))); // 5
ee.Number.and用法
Number.and(right)
案例
print('Both 5 and 10 are not 0?', ee.Number(5).and(ee.Number(10))); // 1
print('Both 5 and 0 are not 0?', ee.Number(5).and(ee.Number(0))); // 0
ee.Number.or用法
Number.or(right)
案例
print('Either 0 or 5 non-zero?', ee.Number(0).or(ee.Number(5))); // 1
print('Either 0 or 0 non-zero?', ee.Number(0).or(ee.Number(0))); // 0
ee.Number.not用法
Number.not()
案例
print('Value is not 0', ee.Number(5).not()); // 0
print('Value is 0', ee.Number(0).not()); // 1
ee.Number.add用法
Number.add(right)
案例
print('5 + 10', ee.Number(5).add(ee.Number(10))); // 15
print('5 + 10.2', ee.Number(5).add(ee.Number(10.2))); // 15.2
print('5 + -10.2', ee.Number(5).add(ee.Number(-10.2))); // -5.199999999
ee.Number.subtract用法
Number.subtract(right)
案例
print('5 - 10', ee.Number(5).subtract(ee.Number(10))); // -5
print('10 - 5', ee.Number(10).subtract(ee.Number(5))); // 5
print('5 - 10.2', ee.Number(5).subtract(ee.Number(10.2))); // -5.199999999
print('5 - -10.2', ee.Number(5).subtract(ee.Number(-10.2))); // 15.2
ee.Number.multiply用法
Number.multiply(right)
案例
print('5 * 10', ee.Number(5).multiply(ee.Number(10))); // 50
print('-5 * -10', ee.Number(-5).multiply(ee.Number(-10))); // 50
print('5 * 10.5', ee.Number(5).multiply(ee.Number(10.5))); // 52.5
print('5 * -10.5', ee.Number(5).multiply(ee.Number(-10.5))); // -52.5
print('0 * 10', ee.Number(0).multiply(ee.Number(10))); // 0
ee.Number.divide用法
Number.divide(right)
案例
print('5 / 10', ee.Number(5).divide(ee.Number(10))); // 0.5
print('5 / 10.2', ee.Number(5).divide(ee.Number(10.2))); // 0.490196078
print('5 / -10.2', ee.Number(5).divide(ee.Number(-10.2))); // -0.490196078
print('-10.2 / 5', ee.Number(-10.2).divide(ee.Number(5))); // -2.04
print('-10.2 / -5', ee.Number(-10.2).divide(ee.Number(-5))); // 2.04
print('0 / 10', ee.Number(0).divide(ee.Number(10))); // 0
print('10 / 0', ee.Number(10).divide(ee.Number(0))); // 0
ee.Number.mod用法
Number.mod(right)
案例
// Remainder with positive dividend.
print('Remainder of 12/5', ee.Number(12).mod(ee.Number(5))); // 2
print('Remainder of 1/-2', ee.Number(1).mod(ee.Number(-2))); // 1
print('Remainder of 1/2', ee.Number(1).mod(ee.Number(2))); // 1
print('Remainder of 2/3', ee.Number(2).mod(ee.Number(3))); // 2
print('Remainder of 5.5/2', ee.Number(5.5).mod(ee.Number(2))); // 1.5
// Remainder with negative dividend.
print('Remainder of -12/5', ee.Number(-12).mod(ee.Number(5))); // -2
print('Remainder of -1/2', ee.Number(-1).mod(ee.Number(2))); // -1
print('Remainder of -4/2', ee.Number(-4).mod(ee.Number(2))); // 0
由于篇幅过长,剩下的10个小节另请阅读: