ee.Image.arrayPad
Pads the array values in each pixel to be a fixed length. The pad value will be appended to each array to extend it to given length along each axis. All bands of the image must be array-valued and have the same dimensions.
Usage | Returns | Image.arrayPad(lengths, pad) | Image |
Argument | Type | Details | this: image | Image | Array image to pad. |
lengths | List | A list of desired lengths for each axis in the output arrays. Arrays are already as large or larger than the given length will be unchanged along that axis. |
pad | Number, default: 0 | The value to pad with. |
Examples
Code Editor (JavaScript)
// A function to print the array 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');
}
// Create a 1D array image.
var arrayImg1D = ee.Image([0, 1, 2]).toArray();
print('1D array image (pixel)', sampArrImg(arrayImg1D));
// [0, 1, 2]
// Pad 1D array to length of 5 with value 9.
var arrayImg1Dpad = arrayImg1D.arrayPad([5], 9);
print('1D array image padded', sampArrImg(arrayImg1Dpad));
// [0, 1, 2, 9, 9]
// Create a 2D array image.
var arrayImg2D = ee.Image([0, 1, 2, 3, 4, 5]).toArray()
.arrayReshape(ee.Image([2, 3]).toArray(), 2);
print('2D 2x3 array image (pixel)', sampArrImg(arrayImg2D));
// [[0, 1, 2],
// [3, 4, 5]]
// Pad 2D array to 0-axis length 3 and 1-axis length 5 with value 9.
var arrayImg2Dpad = arrayImg2D.arrayPad([3, 5], 9);
print('2D array image padded', sampArrImg(arrayImg2Dpad));
// [[0, 1, 2, 9, 9],
// [3, 4, 5, 9, 9],
// [9, 9, 9, 9, 9]]
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 the array 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')
# Create a 1D array image.
array_img_1d = ee.Image([0, 1, 2]).toArray()
print('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())
# [0, 1, 2]
# Pad 1D array to length of 5 with value 9.
array_img_1d_pad = array_img_1d.arrayPad([5], 9)
print('1D array image padded:', samp_arr_img(array_img_1d_pad).getInfo())
# [0, 1, 2, 9, 9]
# Create a 2D array image.
array_img_2d = ee.Image([0, 1, 2, 3, 4, 5]).toArray().arrayReshape(
ee.Image([2, 3]).toArray(),
2
)
print('2D 2x3 array image (pixel):', samp_arr_img(array_img_2d).getInfo())
# [[0, 1, 2],
# [3, 4, 5]]
# Pad 2D array to 0-axis length 3 and 1-axis length 5 with value 9.
array_img_2d_pad = array_img_2d.arrayPad([3, 5], 9)
print('2D array image padded:', samp_arr_img(array_img_2d_pad).getInfo())
# [[0, 1, 2, 9, 9],
# [3, 4, 5, 9, 9],
# [9, 9, 9, 9, 9]]
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 2024-07-13 UTC.
[null,null,["Last updated 2024-07-13 UTC."],[[["`arrayPad` extends the array values in each image pixel to a specified length using a provided pad value."],["It accepts an array image, a list of desired lengths for each axis, and an optional pad value (defaulting to 0)."],["If an array is already at or beyond the desired length, it remains unchanged along that axis."],["All bands in the image must be array-valued and share the same dimensions for the function to work correctly."],["This function is useful for standardizing array lengths in images for further processing."]]],[]]