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笔记9】数值Number(常见指令方法2)
【GEE笔记10】数值Number(常见指令方法3)
ee.Number.atan2输入一个点的二维坐标,计算这个点和坐标轴连线形成的角度(弧度制)
用法
Number.atan2(right)
案例
// Left input is x and right input is y, representing point (x,y).
print('Atan2 of point (0,0)', ee.Number(0).atan2(0)); // 0
print('Atan2 of point (1,0)', ee.Number(1).atan2(0)); // 0
print('Atan2 of point (0,1)', ee.Number(0).atan2(1)); // 1.570796326 (π/2)
print('Atan2 of point (-1,0)', ee.Number(-1).atan2(0)); // 3.141592653 (π)
print('Atan2 of point (0,-1)', ee.Number(0).atan2(-1)); // -1.570796326 (-π/2)
ee.Number.clamp用法
Number.clamp(min, max)
案例
// Numbers within range are unaffected.
print('100 clamped to range [0,255]', ee.Number(100).clamp(0, 255)); // 100
// Numbers greater than max in range are set to max.
print('259 clamped to range [0,255]', ee.Number(259).clamp(0, 255)); // 255
// Numbers less than min in range are set to min.
print('-259 clamped to range [0,255]', ee.Number(-259).clamp(0, 255)); // 0
ee.Number.parse用法
ee.Number.parse(input, radix)
案例
print('Client-side string converted to ee.Number',
ee.Number.parse('10')); // 10
print('ee.String converted to ee.Number',
ee.Number.parse(ee.String('100'))); // 100
print('Ambiguous string object converted to ee.Number',
ee.Number.parse(ee.Feature(null, {id: '1000'}).get('id'))); // 1000
print('Ambiguous number object converted to ee.Number',
ee.Number.parse(ee.Feature(null, {id: 1000}).get('id'))); // 1000
print('Leading zeros are removed',
ee.Number.parse('0001')); // 1
ee.Number.format用法
Number.format(pattern)
pattern
一个 printf 样式的格式字符串。
例如,“%.2f”生成格式为“3.14”的数字,“%05d”生成格式为“00042”的数字。
格式字符串必须满足以下条件: 1. 零个或多个前缀字符。 2. 正好是一个 ‘%’。 3. 集合 [#-+ 0,(.\d] 中的零个或多个修饰符。 4. 集合 [sdoxXeEfgGaA] 中的恰好一个转换字符。 5. 零个或多个后缀字符。
有关格式字符串的更多信息,请参阅https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html
案例
print('Zero-fill to length of 3',
ee.Number(1).format('%03d')); // 001
print('Include 1 decimal place in 1.2347',
ee.Number(1.23476).format('%.1f')); // 1.2
print('Include 3 decimal places in 1.2347',
ee.Number(1.23476).format('%.3f')); // 1.235 (rounds up)
print('Scientific notation with 3 decimal places shown',
ee.Number(123476).format('%.3e')); // 1.235e+05 (rounds up)
print('Integer with 2 decimal places of precision',
ee.Number(123476).format('%.2f')); // 123476.00
int:singed integer(有符号整数)
uint:unsigned integer(无符号整数)
ee.Number.int / ee.Number.toIntint的用法,如果用toInt,就是把int改成toInt。用法
Number.int()
案例
// Cast a number to signed 32-bit integer: [-2147483648, 2147483647].
var number = ee.Number(100);
print('Number:', number);
var intNumber = number.int();
print('Number cast to int:', intNumber);
/**
* Casting numbers to int that are outside of its range and precision can
* modify the resulting value, note the behavior of the following scenarios.
*/
// A floating point number cast to int loses decimal precision.
var float = ee.Number(1.7);
print('Floating point value:', float);
var floatToInt = float.int();
print('Floating point value cast to int:', floatToInt);
// A number greater than int range max cast to int becomes int range max.
var INT_MAX = 2147483647;
var outOfRangeHi = ee.Number(INT_MAX + 12345);
print('Greater than int max:', outOfRangeHi);
var outOfRangeHiToInt = outOfRangeHi.int();
print('Greater than int max cast to int becomes int max:', outOfRangeHiToInt);
// A number greater than int range min cast to int becomes int range min.
var INT_MIN = -2147483648;
var outOfRangeLo = ee.Number(INT_MIN - 12345);
print('Less than int min:', outOfRangeLo);
var outOfRangeLoToInt = outOfRangeLo.int();
print('Less than int min cast to int becomes int min:', outOfRangeLoToInt);
用法
Number.int8()
案例
// Cast a number to signed 8-bit integer: [-128, 127].
var number = ee.Number(100);
print('Number:', number);
var int8Number = number.int8();
print('Number cast to int8:', int8Number);
/**
* Casting numbers to int8 that are outside of its range and precision can
* modify the resulting value, note the behavior of the following scenarios.
*/
// A floating point number cast to int8 loses decimal precision.
var float = ee.Number(1.7);
print('Floating point value:', float);
var floatToInt8 = float.int8();
print('Floating point value cast to int8:', floatToInt8);
// A number greater than int8 range max cast to int8 becomes int8 range max.
var INT8_MAX = 127;
var outOfRangeHi = ee.Number(INT8_MAX + 12345);
print('Greater than int8 max:', outOfRangeHi);
var outOfRangeHiToInt8 = outOfRangeHi.int8();
print('Greater than int8 max cast to int8 becomes int8 max:', outOfRangeHiToInt8);
// A number greater than int8 range min cast to int8 becomes int8 range min.
var INT8_MIN = -128;
var outOfRangeLo = ee.Number(INT8_MIN - 12345);
print('Less than int8 min:', outOfRangeLo);
var outOfRangeLoToInt8 = outOfRangeLo.int8();
print('Less than int8 min cast to int8 becomes int8 min:', outOfRangeLoToInt8);
ee.Number.long / ee.Number.toLong 用法
Number.long()
案例
// Declare an ee.Number.
var number = ee.Number(100);
print('ee.Number:', number);
// Cast a number to signed 64-bit integer.
var longNumber = number.long();
print('ee.Number cast to long:', longNumber);
/**
* Casting numbers to long that are outside of its range and precision can
* modify the resulting value, note the behavior of the following scenarios.
*/
// A floating point number cast to long loses decimal precision.
var float = ee.Number(1.7);
print('Floating point value:', float);
var floatToLong = float.long();
print('Floating point value cast to long:', floatToLong);
ee.Number.short / ee.Number.toShort 用法
Number.short()
案例
// Cast a number to signed 16-bit integer: [-32768, 32767].
var number = ee.Number(100);
print('Number:', number);
var shortNumber = number.short();
print('Number cast to short:', shortNumber);
/**
* Casting numbers to short that are outside of its range and precision can
* modify the resulting value, note the behavior of the following scenarios.
*/
// A floating point number cast to short loses decimal precision.
var float = ee.Number(1.7);
print('Floating point value:', float);
var floatToShort = float.short();
print('Floating point value cast to short:', floatToShort);
// A number greater than short range max cast to short becomes short range max.
var SHORT_MAX = 32767;
var outOfRangeHi = ee.Number(SHORT_MAX + 12345);
print('Greater than short max:', outOfRangeHi);
var outOfRangeHiToShort = outOfRangeHi.short();
print('Greater than short max cast to short becomes short max:', outOfRangeHiToShort);
// A number greater than short range min cast to short becomes short range min.
var SHORT_MIN = -32768;
var outOfRangeLo = ee.Number(SHORT_MIN - 12345);
print('Less than short min:', outOfRangeLo);
var outOfRangeLoToShort = outOfRangeLo.short();
print('Less than short min cast to short becomes short min:', outOfRangeLoToShort);
ee.Number.byte / ee.Number.toByte用法
Number.byte()
案例
// Cast a number to unsigned 8-bit integer: [0, 255].
var number = ee.Number(100);
print('Number:', number);
var byteNumber = number.byte();
print('Number cast to byte:', byteNumber);
/**
* Casting numbers to byte that are outside of its range and precision can
* modify the resulting value, note the behavior of the following scenarios.
*/
// A floating point number cast to byte loses decimal precision.
var float = ee.Number(1.7);
print('Floating point value:', float);
var floatToByte = float.byte();
print('Floating point value cast to byte:', floatToByte);
// A number greater than byte range max cast to byte becomes byte range max.
var BYTE_MAX = 255;
var outOfRangeHi = ee.Number(BYTE_MAX + 12345);
print('Greater than byte max:', outOfRangeHi);
var outOfRangeHiToByte = outOfRangeHi.byte();
print('Greater than byte max cast to byte becomes byte max:', outOfRangeHiToByte);
// A number greater than byte range min cast to byte becomes byte range min.
var BYTE_MIN = 0;
var outOfRangeLo = ee.Number(BYTE_MIN - 12345);
print('Less than byte min:', outOfRangeLo);
var outOfRangeLoToByte = outOfRangeLo.byte();
print('Less than byte min cast to byte becomes byte min:', outOfRangeLoToByte);
ee.Number.double / ee.Number.toDouble用法
Number.double()
案例
// Declare an ee.Number.
var number = ee.Number(100);
print('ee.Number:', number);
// Cast a number to signed 64-bit floating point.
var doubleNumber = number.double();
print('ee.Number cast to double:', doubleNumber);
ee.Number.float / ee.Number.toFloat 用法
Number.float()
案例
// Declare an ee.Number.
var number = ee.Number(100);
print('ee.Number:', number);
// Cast a number to signed 32-bit floating point.
var floatNumber = number.float();
print('ee.Number cast to float:', floatNumber);
用法
Number.uint8()
案例
// Cast a number to unsigned 8-bit integer: [0, 255].
var number = ee.Number(100);
print('Number:', number);
var uint8Number = number.uint8();
print('Number cast to uint8:', uint8Number);
/**
* Casting numbers to uint8 that are outside of its range and precision can
* modify the resulting value, note the behavior of the following scenarios.
*/
// A floating point number cast to uint8 loses decimal precision.
var float = ee.Number(1.7);
print('Floating point value:', float);
var floatToUint8 = float.uint8();
print('Floating point value cast to uint8:', floatToUint8);
// A number greater than uint8 range max cast to uint8 becomes uint8 range max.
var UINT8_MAX = 255;
var outOfRangeHi = ee.Number(UINT8_MAX + 12345);
print('Greater than uint8 max:', outOfRangeHi);
var outOfRangeHiToUint8 = outOfRangeHi.uint8();
print('Greater than uint8 max cast to uint8 becomes uint8 max:', outOfRangeHiToUint8);
// A number greater than uint8 range min cast to uint8 becomes uint8 range min.
var UINT8_MIN = 0;
var outOfRangeLo = ee.Number(UINT8_MIN - 12345);
print('Less than uint8 min:', outOfRangeLo);
var outOfRangeLoToUint8 = outOfRangeLo.uint8();
print('Less than uint8 min cast to uint8 becomes uint8 min:', outOfRangeLoToUint8);