Объявление : Все некоммерческие проекты, зарегистрированные для использования Earth Engine до
15 апреля 2025 года, должны
подтвердить некоммерческое право на сохранение доступа к Earth Engine.
ee.Array.slice
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
Создаёт подмассив, разрезая каждую позицию вдоль заданной оси от «начала» (включительно) до «конца» (не включая) с шагом «шаг». Результат будет иметь столько же измерений, сколько и входные данные, и одинаковую длину во всех направлениях, кроме оси разреза, где длина будет равна количеству позиций от «начала» до «конца» на «шаг», которые попадают в диапазон длины входного массива вдоль «оси». Это означает, что длина результата может быть равна 0 вдоль заданной оси, если start=end или если начальное или конечное значения полностью выходят за пределы диапазона.
Использование | Возврат | Array. slice ( axis , start , end , step ) | Множество |
Аргумент | Тип | Подробности | это: array | Множество | Массив для разрезания. |
axis | Целое число, по умолчанию: 0 | Ось, по которой будет производиться разрез. |
start | Целое число, по умолчанию: 0 | Координата первого среза (включительно) вдоль оси. Отрицательные числа используются для позиционирования начала среза относительно конца массива, где -1 начинается с последней позиции на оси, -2 начинается с предпоследней позиции и т. д. |
end | Целое число, по умолчанию: null | Координата (исключая начальную), на которой следует прекратить создание срезов. По умолчанию это длина заданной оси. Отрицательные числа используются для позиционирования конца среза относительно конца массива, где -1 исключает последнюю позицию, -2 исключает последние две позиции и т. д. |
step | Целое число, по умолчанию: 1 | Расстояние между срезами вдоль «оси»; срез будет взят на каждом целом значении, кратном «шагу» от «начала» (включительно) до «конца» (не включая). Должно быть положительным. |
Примеры
Редактор кода (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)); // []
Настройка Python
Информацию об API Python и использовании geemap
для интерактивной разработки см. на странице «Среда Python» .
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)) # []
Если не указано иное, контент на этой странице предоставляется по лицензии Creative Commons "С указанием авторства 4.0", а примеры кода – по лицензии Apache 2.0. Подробнее об этом написано в правилах сайта. Java – это зарегистрированный товарный знак корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-07-24 UTC.
[null,null,["Последнее обновление: 2025-07-24 UTC."],[[["\u003cp\u003e\u003ccode\u003eArray.slice()\u003c/code\u003e extracts a subarray from an input array along a specified axis, similar to slicing in Python.\u003c/p\u003e\n"],["\u003cp\u003eIt uses \u003ccode\u003estart\u003c/code\u003e, \u003ccode\u003eend\u003c/code\u003e, and \u003ccode\u003estep\u003c/code\u003e parameters to define the portion of the array to extract, with negative indices referencing from the end.\u003c/p\u003e\n"],["\u003cp\u003eThe resulting subarray retains the original dimensions except along the sliced axis, where its length depends on the slice parameters.\u003c/p\u003e\n"],["\u003cp\u003eIf the slice parameters result in no elements being selected, an empty array is returned.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eArray.slice()\u003c/code\u003e can be used on multi-dimensional arrays by specifying the axis to slice along.\u003c/p\u003e\n"]]],[],null,["# ee.Array.slice\n\nCreates a subarray by slicing out each position along the given axis from the 'start' (inclusive) to 'end' (exclusive) by increments of 'step'. The result will have as many dimensions as the input, and the same length in all directions except the slicing axis, where the length will be the number of positions from 'start' to 'end' by 'step' that are in range of the input array's length along 'axis'. This means the result can be length 0 along the given axis if start=end, or if the start or end values are entirely out of range.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|----------------------------------------------------------|---------|\n| Array.slice`(`*axis* `, `*start* `, `*end* `, `*step*`)` | Array |\n\n| Argument | Type | Details |\n|---------------|------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `array` | Array | Array to slice. |\n| `axis` | Integer, default: 0 | The axis to slice on. |\n| `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. |\n| `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. |\n| `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. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\nvar array1x6 = ee.Array([1, 2, 3, 4, 5, 6]);\nprint(array1x6.slice()); // [1,2,3,4,5,6]\nprint(array1x6.slice(0)); // [1,2,3,4,5,6]\nprint(array1x6.slice(0, 0, 6, 1)); // [1,2,3,4,5,6]\nprint(array1x6.slice(0, 0, 10, 1)); // [1,2,3,4,5,6]\n\nprint(array1x6.slice(0, 2)); // [3,4,5,6]\nprint(array1x6.slice(0, 5)); // [6]\nprint(array1x6.slice(0, 6)); // []\nprint(array1x6.slice(0, 0, 2)); // [1,2]\nprint(array1x6.slice(0, 0, 0)); // []\n\n// Negative start and end.\nprint(array1x6.slice(0, 0, -3)); // [1,2,3]\nprint(array1x6.slice(0, -2, 6)); // [5,6]\n\nprint(array1x6.slice(0, 0, 6, 2)); // [1,3,5]\nprint(array1x6.slice(0, 0, 6, 3)); // [1,4]\nprint(array1x6.slice(0, 0, 6, 4)); // [1,5]\nprint(array1x6.slice(0, 0, 6, 6)); // [1]\n\nprint(array1x6.slice(0, 2, 6, 2)); // [3,5]\n\nvar array3x2 = ee.Array([[1, 2], [3, 4], [5, 6]]);\nprint(array3x2.slice()); // [[1,2],[3,4],[5,6]]\nprint(array3x2.slice(0)); // [[1,2],[3,4],[5,6]]\nprint(array3x2.slice(0, 0)); // [[1,2],[3,4],[5,6]]\nprint(array3x2.slice(0, 0, 1)); // [[1,2]]\nprint(array3x2.slice(0, 0, 2)); // [[1,2],[3,4]]\nprint(array3x2.slice(0, 0, 3, 1)); // [[1,2],[3,4],[5,6]]\nprint(array3x2.slice(0, 0, 3, 2)); // [[1,2],[5,6]]\nprint(array3x2.slice(0, 1, 3, 2)); // [[3,4]]\nprint(array3x2.slice(0, 0, 3, 3)); // [[1,2]]\n\nprint(array3x2.slice(1)); // [[1,2],[3,4],[5,6]]\nprint(array3x2.slice(1, 1)); // [[2],[4],[6]]\nprint(array3x2.slice(1, 0, 1)); // [[1],[3],[5]]\n\nvar empty = ee.Array([], ee.PixelType.int8());\nprint(empty.slice()); // []\nprint(empty.slice(0)); // []\nprint(empty.slice(0, 0, 0, 1)); // []\n```\nPython setup\n\nSee the [Python Environment](/earth-engine/guides/python_install) page for information on the Python API and using\n`geemap` for interactive development. \n\n```python\nimport ee\nimport geemap.core as geemap\n```\n\n### Colab (Python)\n\n```python\narray1x6 = ee.Array([1, 2, 3, 4, 5, 6])\ndisplay(array1x6.slice()) # [1, 2, 3, 4, 5, 6]\ndisplay(array1x6.slice(0)) # [1, 2, 3, 4, 5, 6]\ndisplay(array1x6.slice(0, 0, 6, 1)) # [1, 2, 3, 4, 5, 6]\ndisplay(array1x6.slice(0, 0, 10, 1)) # [1, 2, 3, 4, 5, 6]\n\ndisplay(array1x6.slice(0, 2)) # [3, 4, 5, 6]\ndisplay(array1x6.slice(0, 5)) # [6]\ndisplay(array1x6.slice(0, 6)) # []\ndisplay(array1x6.slice(0, 0, 2)) # [1, 2]\ndisplay(array1x6.slice(0, 0, 0)) # []\n\n# Negative start and end.\ndisplay(array1x6.slice(0, 0, -3)) # [1, 2, 3]\ndisplay(array1x6.slice(0, -2, 6)) # [5, 6]\n\ndisplay(array1x6.slice(0, 0, 6, 2)) # [1, 3, 5]\ndisplay(array1x6.slice(0, 0, 6, 3)) # [1, 4]\ndisplay(array1x6.slice(0, 0, 6, 4)) # [1, 5]\ndisplay(array1x6.slice(0, 0, 6, 6)) # [1]\n\ndisplay(array1x6.slice(0, 2, 6, 2)) # [3, 5]\n\narray3x2 = ee.Array([[1, 2], [3, 4], [5, 6]])\ndisplay(array3x2.slice()) # [[1, 2], [3, 4], [5, 6]]\ndisplay(array3x2.slice(0)) # [[1, 2], [3, 4], [5, 6]]\ndisplay(array3x2.slice(0, 0)) # [[1, 2],[3, 4],[5, 6]]\ndisplay(array3x2.slice(0, 0, 1)) # [[1, 2]]\ndisplay(array3x2.slice(0, 0, 2)) # [[1, 2], [3, 4]]\ndisplay(array3x2.slice(0, 0, 3, 1)) # [[1, 2], [3, 4], [5, 6]]\ndisplay(array3x2.slice(0, 0, 3, 2)) # [[1, 2], [5, 6]]\ndisplay(array3x2.slice(0, 1, 3, 2)) # [[3, 4]]\ndisplay(array3x2.slice(0, 0, 3, 3)) # [[1, 2]]\n\ndisplay(array3x2.slice(1)) # [[1, 2], [3, 4], [5, 6]]\ndisplay(array3x2.slice(1, 1)) # [[2], [4], [6]]\ndisplay(array3x2.slice(1, 0, 1)) # [[1], [3], [5]]\n\nempty = ee.Array([], ee.PixelType.int8())\ndisplay(empty.slice()) # []\ndisplay(empty.slice(0)) # []\ndisplay(empty.slice(0, 0, 0, 1)) # []\n```"]]