ee.Number.short
Casts the input value to a signed 16-bit integer.
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);
Python setup
See the
Python Environment page for information on the Python API and using
geemap
for interactive development.
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())
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-10-06 UTC.
[null,null,["Last updated 2023-10-06 UTC."],[[["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."]]],[]]