AI-generated Key Takeaways
-
The
short()
function casts a given Earth Engine Number to a signed 16-bit integer, effectively converting it to a value within the range of -32768 to 32767. -
When applied to floating-point numbers, the
short()
function truncates the decimal portion, resulting in a loss of precision. -
If the input number exceeds the maximum value of a signed 16-bit integer (32767), the function returns the maximum value; conversely, if the input falls below the minimum value (-32768), the function returns the minimum value.
-
This function is useful for ensuring that numerical data conforms to the constraints of a 16-bit integer representation, which can be important for memory management and compatibility with certain data formats.
Usage | Returns |
---|---|
Number.short() | Number |
Argument | Type | Details |
---|---|---|
this: input | Number | The input value. |
Examples
Code Editor (JavaScript)
// 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);
import ee import geemap.core as geemap
Colab (Python)
# Cast a number to signed 16-bit integer: [-32768, 32767]. number = ee.Number(100) print('Number:', number.getInfo()) short_number = number.short() print('Number cast to short:', short_number.getInfo()) """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. float_number = ee.Number(1.7) print('Floating point value:', float_number.getInfo()) float_to_short = float_number.short() print('Floating point value cast to short:', float_to_short.getInfo()) # A number greater than short range max cast to short becomes short range max. SHORT_MAX = 32767 out_of_range_hi = ee.Number(SHORT_MAX + 12345) print('Greater than short max:', out_of_range_hi.getInfo()) out_of_range_hi_to_short = out_of_range_hi.short() print('Greater than short max cast to short becomes short max:', out_of_range_hi_to_short.getInfo()) # A number greater than short range min cast to short becomes short range min. SHORT_MIN = -32768 out_of_range_lo = ee.Number(SHORT_MIN - 12345) print('Less than short min:', out_of_range_lo.getInfo()) out_of_range_lo_to_short = out_of_range_lo.short() print('Less than short min cast to short becomes short min:', out_of_range_lo_to_short.getInfo())