ee.Array.slice

Tạo một mảng con bằng cách cắt từng vị trí dọc theo trục đã cho từ "start" (bao gồm) đến "end" (không bao gồm) theo các bước tăng của "step". Kết quả sẽ có số chiều bằng với số chiều của dữ liệu đầu vào và có cùng độ dài theo mọi hướng, ngoại trừ trục phân đoạn. Tại trục này, độ dài sẽ là số vị trí từ "start" đến "end" theo "step" nằm trong phạm vi độ dài của mảng đầu vào dọc theo "axis". Điều này có nghĩa là kết quả có thể có độ dài bằng 0 dọc theo trục đã cho nếu start=end hoặc nếu các giá trị bắt đầu hoặc kết thúc hoàn toàn nằm ngoài phạm vi.

Cách sử dụngGiá trị trả về
Array.slice(axis, start, end, step)Mảng
Đối sốLoạiThông tin chi tiết
this: arrayMảngMảng cần phân đoạn.
axisSố nguyên, mặc định: 0Trục cần phân đoạn.
startSố nguyên, mặc định: 0Toạ độ của lát đầu tiên (bao gồm) dọc theo "trục". Các số âm được dùng để định vị điểm bắt đầu của việc phân đoạn tương ứng với điểm cuối của mảng, trong đó -1 bắt đầu ở vị trí cuối cùng trên trục, -2 bắt đầu ở vị trí áp chót, v.v.
endSố nguyên, mặc định: nullToạ độ (loại trừ) tại đó ngừng lấy các lát. Theo mặc định, đây sẽ là chiều dài của trục đã cho. Số âm được dùng để định vị điểm cuối của việc phân đoạn tương ứng với điểm cuối của mảng, trong đó -1 sẽ loại trừ vị trí cuối cùng, -2 sẽ loại trừ 2 vị trí cuối cùng, v.v.
stepSố nguyên, mặc định: 1Khoảng cách giữa các lát cắt dọc theo "trục"; một lát cắt sẽ được lấy tại mỗi bội số nguyên của "bước" từ "bắt đầu" (bao gồm) đến "kết thúc" (không bao gồm). Phải là số dương.

Ví dụ

Trình soạn thảo mã (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));  // []

Thiết lập Python

Hãy xem trang Môi trường Python để biết thông tin về API Python và cách sử dụng geemap cho quá trình phát triển tương tác.

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))  # []