AI-generated Key Takeaways
-
The
Array.slice()method creates a subarray by extracting elements along a specified axis based on start, end, and step parameters. -
The resulting subarray retains the same dimensions as the original array, with the length along the sliced axis determined by the slicing parameters.
-
Negative values for
startandendcan be used to specify positions relative to the end of the array. -
The
stepparameter defines the interval between selected slices along the axis and must be a positive integer.
| 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)) # []