ee.Array.slice

Crea un subarreglo cortando 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 en el eje de segmentación, en el que la longitud será la cantidad de posiciones desde "start" hasta "end" con un incremento de "step" que se encuentren dentro del rango de la longitud del array de entrada a lo largo del "eje". 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
Array.slice(axis, start, end, step)Array
ArgumentoTipoDetalles
esta: arrayArrayEs el array que se segmentará.
axisNúmero entero, valor predeterminado: 0Es el eje en el que se realizará el corte.
startNúmero entero, valor predeterminado: 0Coordenada de la primera división (inclusive) a lo largo del "eje". Los números negativos se usan para posicionar el inicio del corte en relación con el final del array, donde -1 comienza en la última posición del eje, -2 comienza en la penúltima posición, etcétera.
endNúmero entero, valor predeterminado: nuloCoordenada (exclusiva) en la que se detiene la toma de segmentos. De forma predeterminada, esta será la longitud del eje determinado. Los números negativos se usan para posicionar el final del segmento en relación con el final del array, donde -1 excluirá la última posición, -2 excluirá las últimas dos posiciones, etcétera.
stepNúmero entero, valor predeterminado: 1Es la separación entre las segmentaciones a lo largo del "eje"; se tomará una segmentación en cada múltiplo entero de "paso" desde "inicio" (inclusive) hasta "final" (exclusive). Debe ser positivo.

Ejemplos

Editor de código (JavaScript)

var array1x6 = ee.Array([1, 2, 3, 4, 5, 6]);
print(array1x6.slice());  // [1,2,3,4,5,6]
print(array1x6.slice(0));  // [1,2,3,4,5,6]
print(array1x6.slice(0, 0, 6, 1));  // [1,2,3,4,5,6]
print(array1x6.slice(0, 0, 10, 1));  // [1,2,3,4,5,6]

print(array1x6.slice(0, 2));  // [3,4,5,6]
print(array1x6.slice(0, 5));  // [6]
print(array1x6.slice(0, 6));  // []
print(array1x6.slice(0, 0, 2));  // [1,2]
print(array1x6.slice(0, 0, 0));  // []

// Negative start and end.
print(array1x6.slice(0, 0, -3));  // [1,2,3]
print(array1x6.slice(0, -2, 6));  // [5,6]

print(array1x6.slice(0, 0, 6, 2));  // [1,3,5]
print(array1x6.slice(0, 0, 6, 3));  // [1,4]
print(array1x6.slice(0, 0, 6, 4));  // [1,5]
print(array1x6.slice(0, 0, 6, 6));  // [1]

print(array1x6.slice(0, 2, 6, 2));  // [3,5]

var array3x2 = ee.Array([[1, 2], [3, 4], [5, 6]]);
print(array3x2.slice());  // [[1,2],[3,4],[5,6]]
print(array3x2.slice(0));  // [[1,2],[3,4],[5,6]]
print(array3x2.slice(0, 0));  // [[1,2],[3,4],[5,6]]
print(array3x2.slice(0, 0, 1));  // [[1,2]]
print(array3x2.slice(0, 0, 2));  // [[1,2],[3,4]]
print(array3x2.slice(0, 0, 3, 1));  // [[1,2],[3,4],[5,6]]
print(array3x2.slice(0, 0, 3, 2));  // [[1,2],[5,6]]
print(array3x2.slice(0, 1, 3, 2));  // [[3,4]]
print(array3x2.slice(0, 0, 3, 3));  // [[1,2]]

print(array3x2.slice(1));  // [[1,2],[3,4],[5,6]]
print(array3x2.slice(1, 1));  // [[2],[4],[6]]
print(array3x2.slice(1, 0, 1));  // [[1],[3],[5]]

var empty = ee.Array([], ee.PixelType.int8());
print(empty.slice());  // []
print(empty.slice(0));  // []
print(empty.slice(0, 0, 0, 1));  // []

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)

array1x6 = ee.Array([1, 2, 3, 4, 5, 6])
display(array1x6.slice())  # [1, 2, 3, 4, 5, 6]
display(array1x6.slice(0))  # [1, 2, 3, 4, 5, 6]
display(array1x6.slice(0, 0, 6, 1))  # [1, 2, 3, 4, 5, 6]
display(array1x6.slice(0, 0, 10, 1))  # [1, 2, 3, 4, 5, 6]

display(array1x6.slice(0, 2))  # [3, 4, 5, 6]
display(array1x6.slice(0, 5))  # [6]
display(array1x6.slice(0, 6))  # []
display(array1x6.slice(0, 0, 2))  # [1, 2]
display(array1x6.slice(0, 0, 0))  # []

# Negative start and end.
display(array1x6.slice(0, 0, -3))  # [1, 2, 3]
display(array1x6.slice(0, -2, 6))  # [5, 6]

display(array1x6.slice(0, 0, 6, 2))  # [1, 3, 5]
display(array1x6.slice(0, 0, 6, 3))  # [1, 4]
display(array1x6.slice(0, 0, 6, 4))  # [1, 5]
display(array1x6.slice(0, 0, 6, 6))  # [1]

display(array1x6.slice(0, 2, 6, 2))  # [3, 5]

array3x2 = ee.Array([[1, 2], [3, 4], [5, 6]])
display(array3x2.slice())  # [[1, 2], [3, 4], [5, 6]]
display(array3x2.slice(0))  # [[1, 2], [3, 4], [5, 6]]
display(array3x2.slice(0, 0))  # [[1, 2],[3, 4],[5, 6]]
display(array3x2.slice(0, 0, 1))  # [[1, 2]]
display(array3x2.slice(0, 0, 2))  # [[1, 2], [3, 4]]
display(array3x2.slice(0, 0, 3, 1))  # [[1, 2], [3, 4], [5, 6]]
display(array3x2.slice(0, 0, 3, 2))  # [[1, 2], [5, 6]]
display(array3x2.slice(0, 1, 3, 2))  # [[3, 4]]
display(array3x2.slice(0, 0, 3, 3))  # [[1, 2]]

display(array3x2.slice(1))  # [[1, 2], [3, 4], [5, 6]]
display(array3x2.slice(1, 1))  # [[2], [4], [6]]
display(array3x2.slice(1, 0, 1))  # [[1], [3], [5]]

empty = ee.Array([], ee.PixelType.int8())
display(empty.slice())  # []
display(empty.slice(0))  # []
display(empty.slice(0, 0, 0, 1))  # []