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)) # []
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-26 UTC
[null,null,["อัปเดตล่าสุด 2025-07-26 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```"]]