ee.Image.arraySlice

Crea un subarray segmentando cada posición a lo largo del eje determinado desde "start" (inclusive) hasta "end" (exclusive) en incrementos de "step".

El resultado tendrá tantas dimensiones como la entrada y la misma longitud en todas las direcciones, excepto el eje de segmentación, en el que la longitud será la cantidad de posiciones desde "start" hasta "end" en "step" que se encuentren dentro del rango de la longitud del array de entrada a lo largo de "axis". Esto significa que el resultado puede tener una longitud de 0 a lo largo del eje determinado si start=end o si los valores de inicio o finalización están completamente fuera del rango.

UsoMuestra
Image.arraySlice(axis, start, end, step)Imagen
ArgumentoTipoDetalles
este: inputImagenImagen del array de entrada.
axisNúmero entero, valor predeterminado: 0Eje para el subconjunto.
startImagen, valor predeterminado: nullLa coordenada de la primera porción (inclusive) a lo largo de "axis". Los números negativos se usan para posicionar el inicio de la segmentación en relación con el final del array, en el que -1 comienza en la última posición del eje, -2 comienza en la penúltima posición, etcétera. Debe haber una banda para los índices de inicio o una banda por banda de "input". Si este argumento no se establece o se enmascara en algún píxel, la porción en ese píxel comenzará en el índice 0.
endImagen, valor predeterminado: nullLa coordenada (exclusiva) en la que se detendrá la toma de porciones. De forma predeterminada, esta será la longitud del eje determinado. Los números negativos se usan para posicionar el final de la segmentación en relación con el final del array, en el que -1 excluirá la última posición, -2 excluirá las dos últimas posiciones, etcétera. Debe haber una banda para los índices de finalización o una banda por banda de "input". Si este argumento no se establece o se enmascara en algún píxel, la porción en ese píxel finalizará justo después del último índice.
stepNúmero entero, valor predeterminado: 1La separación entre las porciones a lo largo de "axis"; se tomará una porción en cada múltiplo entero de "step" desde "start" (inclusive) hasta "end" (exclusive). Debe ser positivo.

Ejemplos

Editor de código (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');
}

// Create a 1D array image with length 12.
var arrayImg1D = ee.Image([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]).toArray();
print('1D array image (pixel)', sampArrImg(arrayImg1D));
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

// Get the first 3 elements.
print('1D array image first 3 elements (pixel)',
      sampArrImg(arrayImg1D.arraySlice(0, 0, 3)));
// [0, 1, 2]

// Get the last 3 elements.
print('1D array image last 3 elements (pixel)',
      sampArrImg(arrayImg1D.arraySlice(0, -3)));
// [9, 10, 11]

// Get elements at index positions 3 through 5 (0-based).
print('1D array image elements at index positions 3 through 5 (pixel)',
      sampArrImg(arrayImg1D.arraySlice(0, 3, 6)));
// [3, 4, 5]

// Get elements at index positions 4 through end (0-based).
print('1D array image elements at index positions 4 through end (pixel)',
      sampArrImg(arrayImg1D.arraySlice(0, 4)));
// [4, 5, 6, 7, 8, 9, 10, 11]

// Get elements using a step of 3.
print('1D array image elements at a step of 3 (pixel)',
      sampArrImg(arrayImg1D.arraySlice(0, 0, null, 3)));
// [0, 3, 6, 9]

// Create a 2D array image with 3 rows and 4 columns.
var arrayImg2D = arrayImg1D.arrayReshape(ee.Image([3, 4]).toArray(), 2);
print('2D array image (pixel)', sampArrImg(arrayImg2D));
// [[0, 1,  2,  3],
//  [4, 5,  6,  7],
//  [8, 9, 10, 11]]

// Get the second row.
print('2D array image second row (pixel)',
      sampArrImg(arrayImg2D.arraySlice(0, 1, 2)));
// [[4, 5, 6, 7]

// Get the second column.
print('2D array image second column (pixel)',
      sampArrImg(arrayImg2D.arraySlice(1, 1, 2)));
// [[1],
//  [5],
//  [9]]

// Get all columns except the last.
print('2D array image all columns except last (pixel)',
      sampArrImg(arrayImg2D.arraySlice(1, 0, -1)));
// [[0, 1,  2],
//  [4, 5,  6],
//  [8, 9, 10]]

Configuración de Python

Consulta la página Entorno de Python para obtener información sobre la API de Python y el uso de geemap para el desarrollo interactivo.

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')

# Create a 1D array image with length 12.
array_img_1d = ee.Image([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]).toArray()
display('1D array image (pixel):', samp_arr_img(array_img_1d))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]

# Get the first 3 elements.
display('1D array image first 3 elements (pixel):',
        samp_arr_img(array_img_1d.arraySlice(0, 0, 3)))
# [0, 1, 2]

# Get the last 3 elements.
display('1D array image last 3 elements (pixel):',
        samp_arr_img(array_img_1d.arraySlice(0, -3)))
# [9, 10, 11]

# Get elements at index positions 3 through 5 (0-based).
display('1D array image elements at index positions 3 through 5 (pixel):',
        samp_arr_img(array_img_1d.arraySlice(0, 3, 6)))
# [3, 4, 5]

# Get elements at index positions 4 through end (0-based).
display('1D array image elements at index positions 4 through end (pixel)',
        samp_arr_img(array_img_1d.arraySlice(0, 4)))
# [4, 5, 6, 7, 8, 9, 10, 11]

# Get elements using a step of 3.
display('1D array image elements at a step of 3 (pixel)',
        samp_arr_img(array_img_1d.arraySlice(0, 0, None, 3)))
# [0, 3, 6, 9]

# Create a 2D array image with 3 rows and 4 columns.
array_img_2d = array_img_1d.arrayReshape(ee.Image([3, 4]).toArray(), 2)
display('2D array image (pixel)', samp_arr_img(array_img_2d))
# [[0, 1,  2,  3],
#  [4, 5,  6,  7],
#  [8, 9, 10, 11]]

# Get the second row.
display('2D array image second row (pixel):',
        samp_arr_img(array_img_2d.arraySlice(0, 1, 2)))
# [[4, 5, 6, 7]

# Get the second column.
display('2D array image second column (pixel):',
        samp_arr_img(array_img_2d.arraySlice(1, 1, 2)))
# [[1],
#  [5],
#  [9]]

# Get all columns except the last.
display('2D array image all columns except last (pixel):',
        samp_arr_img(array_img_2d.arraySlice(1, 0, -1)))
# [[0, 1,  2],
#  [4, 5,  6],
#  [8, 9, 10]]