ee.Array.slice

สร้างอาร์เรย์ย่อยโดยการแบ่งแต่ละตำแหน่งตามแกนที่กำหนดจาก "start" (รวม) ไปยัง "end" (ไม่รวม) โดยเพิ่มทีละ "step" ผลลัพธ์จะมีมิติข้อมูลเท่ากับอินพุต และมีความยาวเท่ากันในทุกทิศทาง ยกเว้นแกนการแบ่ง ซึ่งความยาวจะเป็นจำนวนตำแหน่งจาก "start" ถึง "end" ตาม "step" ที่อยู่ในช่วงความยาวของอาร์เรย์อินพุตตาม "axis" ซึ่งหมายความว่าผลลัพธ์อาจมีความยาวเป็น 0 ตามแกนที่กำหนด หาก start=end หรือหากค่าเริ่มต้นหรือค่าสิ้นสุดอยู่นอกช่วงทั้งหมด

การใช้งานการคืนสินค้า
Array.slice(axis, start, end, step)อาร์เรย์
อาร์กิวเมนต์ประเภทรายละเอียด
ดังนี้ arrayอาร์เรย์อาร์เรย์ที่จะแบ่ง
axisจำนวนเต็ม ค่าเริ่มต้น: 0แกนที่จะแบ่ง
startจำนวนเต็ม ค่าเริ่มต้น: 0พิกัดของ Slice แรก (รวม) ตาม "แกน" ใช้ตัวเลขติดลบเพื่อกำหนดตำแหน่งเริ่มต้นของการแบ่งส่วนเทียบกับจุดสิ้นสุดของอาร์เรย์ โดย -1 จะเริ่มที่ตำแหน่งสุดท้ายในแกน, -2 จะเริ่มที่ตำแหน่งรองสุดท้าย เป็นต้น
endจำนวนเต็ม ค่าเริ่มต้น: nullพิกัด (เฉพาะ) ที่จะหยุดการแบ่ง โดยค่าเริ่มต้น ความยาวนี้จะเป็นความยาวของแกนที่ระบุ ใช้ตัวเลขติดลบเพื่อกำหนดตำแหน่งสิ้นสุดของการแบ่งส่วนเทียบกับจุดสิ้นสุดของอาร์เรย์ โดย -1 จะยกเว้นตำแหน่งสุดท้าย, -2 จะยกเว้น 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

ดูข้อมูลเกี่ยวกับ Python API และการใช้ 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))  # []