AI-generated Key Takeaways
-
Array.slice()
extracts a subarray from an input array along a specified axis, similar to slicing in Python. -
It uses
start
,end
, andstep
parameters to define the portion of the array to extract, with negative indices referencing from the end. -
The resulting subarray retains the original dimensions except along the sliced axis, where its length depends on the slice parameters.
-
If the slice parameters result in no elements being selected, an empty array is returned.
-
Array.slice()
can be used on multi-dimensional arrays by specifying the axis to slice along.
Usage | Returns |
---|---|
Array.slice(axis, start, end, step) | Array |
Argument | Type | Details |
---|---|---|
this: array | Array | Array to slice. |
axis | Integer, default: 0 | The axis to slice on. |
start | Integer, default: 0 | The coordinate of the first slice (inclusive) along 'axis'. Negative numbers are used to position the start of slicing relative to the end of the array, where -1 starts at the last position on the axis, -2 starts at the next to last position, etc. |
end | Integer, default: null | The coordinate (exclusive) at which to stop taking slices. By default this will be the length of the given axis. Negative numbers are used to position the end of slicing relative to the end of the array, where -1 will exclude the last position, -2 will exclude the last two positions, etc. |
step | Integer, default: 1 | The separation between slices along 'axis'; a slice will be taken at each whole multiple of 'step' from 'start' (inclusive) to 'end' (exclusive). Must be positive. |
Examples
Code Editor (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)); // []
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)) # []