ee.Image.arrayLength

  • arrayLength() returns the length of each pixel's array along a specified axis in an image.

  • It's used to get the size of array dimensions within images that have been converted to array format.

  • This function is crucial for understanding the structure and dimensions of array-based images in Earth Engine.

  • By providing the axis as an argument, you can get the length for specific dimensions (like rows or columns) of the array.

Returns the length of each pixel's array along the given axis.

UsageReturns
Image.arrayLength(axis)Image
ArgumentTypeDetails
this: inputImageInput image.
axisIntegerThe axis along which to take the length.

Examples

Code Editor (JavaScript)

// A function to print arrays for a selected pixel in the following examples.
function sampArrImg(arrImg) {
  var point = ee.Geometry.Point([-121, 42]);
  return arrImg.sample(point, 500).first().get('array');
}

// A 3-band image of constants.
var img = ee.Image([0, 1, 2]);
print('3-band image', img);

// Convert the 3-band image to a 2D array image.
var arrayImg2D = img.toArray().toArray(1);
print('2D array image (pixel)', sampArrImg(arrayImg2D));
// [[0],
//  [1],
//  [2]]

// Get the number of dimensions in each pixel's array.
var arrayImg2Ddim = arrayImg2D.arrayDimensions();
print('N dimensions in array', sampArrImg(arrayImg2Ddim));
// 2

// Get the array length per dimension per pixel.
var arrayImg2DdimLen = arrayImg2D.arrayLengths();
print('Array length per dimension', sampArrImg(arrayImg2DdimLen));
// [3, 1]

// Get the array length for 0-axis (rows).
var arrayImg2Daxis0Len = arrayImg2D.arrayLength(0);
print('Array length 0-axis (rows)', sampArrImg(arrayImg2Daxis0Len));
// 3

// Get the array length for 1-axis (columns).
var arrayImg2Daxis1Len = arrayImg2D.arrayLength(1);
print('Array length 1-axis (columns)', sampArrImg(arrayImg2Daxis1Len));
// 1

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)

# A function to print arrays for a selected pixel in the following examples.
def samp_arr_img(arr_img):
  point = ee.Geometry.Point([-121, 42])
  return arr_img.sample(point, 500).first().get('array')

# A 3-band image of constants.
img = ee.Image([0, 1, 2])
print('3-band image:', img.getInfo())

# Convert the 3-band image to a 2D array image.
array_img_2d = img.toArray().toArray(1)
print('2D array image (pixel):', samp_arr_img(array_img_2d).getInfo())
# [[0],
#  [1],
#  [2]]

# Get the number of dimensions in each pixel's array.
array_img2d_dim = array_img_2d.arrayDimensions()
print('N dimensions in array:', samp_arr_img(array_img2d_dim).getInfo())
# 2

# Get the array length per dimension per pixel.
array_img_2d_dim_len = array_img_2d.arrayLengths()
print(
    'Array length per dimension:',
    samp_arr_img(array_img_2d_dim_len).getInfo()
)
# [3, 1]

# Get the array length for 0-axis (rows).
array_img2d_axis0_len = array_img_2d.arrayLength(0)
print(
    'Array length 0-axis (rows):',
    samp_arr_img(array_img2d_axis0_len).getInfo()
)
# 3

# Get the array length for 1-axis (columns).
array_img_2d_axis1_len = array_img_2d.arrayLength(1)
print(
    'Array length 1-axis (columns):',
    samp_arr_img(array_img_2d_axis1_len).getInfo()
)
# 1