ee.Image.arraySlice
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
สร้างอาร์เรย์ย่อยโดยการแบ่งแต่ละตำแหน่งตามแกนที่กำหนดจาก "start" (รวม) ไปยัง "end" (ไม่รวม) โดยเพิ่มทีละ "step" ผลลัพธ์จะมีมิติข้อมูลเท่ากับอินพุต และมีความยาวเท่ากันในทุกทิศทาง ยกเว้นแกนการแบ่ง ซึ่งความยาวจะเป็นจำนวนตำแหน่งจาก "start" ถึง "end" ตาม "step" ที่อยู่ในช่วงความยาวของอาร์เรย์อินพุตตาม "axis" ซึ่งหมายความว่าผลลัพธ์อาจมีความยาวเป็น 0 ตามแกนที่กำหนด หาก start=end หรือหากค่าเริ่มต้นหรือค่าสิ้นสุดอยู่นอกช่วงทั้งหมด
การใช้งาน | การคืนสินค้า |
---|
Image.arraySlice(axis, start, end, step) | รูปภาพ |
อาร์กิวเมนต์ | ประเภท | รายละเอียด |
---|
ดังนี้ input | รูปภาพ | รูปภาพอาร์เรย์อินพุต |
axis | จำนวนเต็ม ค่าเริ่มต้น: 0 | แกนที่จะสร้างชุดข้อมูลย่อย |
start | รูปภาพ (ค่าเริ่มต้น): null | พิกัดของ Slice แรก (รวม) ตาม "แกน" ระบบจะใช้ตัวเลขติดลบเพื่อจัดตำแหน่งจุดเริ่มต้นของการแบ่งส่วนเทียบกับจุดสิ้นสุดของอาร์เรย์ โดย -1 จะเริ่มต้นที่ตำแหน่งสุดท้ายในแกน, -2 จะเริ่มต้นที่ตำแหน่งรองสุดท้าย เป็นต้น ต้องมีแถบสำหรับดัชนีเริ่มต้น 1 แถบ หรือ 1 แถบต่อแถบ "อินพุต" หากไม่ได้ตั้งค่าอาร์กิวเมนต์นี้หรือมาสก์ที่พิกเซลใดพิกเซลหนึ่ง สไลซ์ที่พิกเซลนั้นจะเริ่มต้นที่ดัชนี 0 |
end | รูปภาพ (ค่าเริ่มต้น): null | พิกัด (เฉพาะ) ที่จะหยุดการแบ่ง โดยค่าเริ่มต้น ความยาวนี้จะเป็นความยาวของแกนที่ระบุ ตัวเลขติดลบใช้เพื่อกำหนดตำแหน่งจุดสิ้นสุดของการแบ่งส่วนเทียบกับจุดสิ้นสุดของอาร์เรย์ โดย -1 จะยกเว้นตำแหน่งสุดท้าย, -2 จะยกเว้น 2 ตำแหน่งสุดท้าย เป็นต้น ต้องมีแถบดัชนีสิ้นสุด 1 แถบ หรือ 1 แถบต่อแถบ "อินพุต" หากไม่ได้ตั้งค่าหรือมาสก์อาร์กิวเมนต์นี้ที่พิกเซลใด พิกเซลนั้นจะสิ้นสุดหลังจากดัชนีสุดท้าย |
step | จำนวนเต็ม ค่าเริ่มต้น: 1 | การแยกส่วนระหว่างชิ้นตาม "แกน" โดยจะมีการนำชิ้นที่แต่ละจำนวนเต็มของ "ขั้นตอน" จาก "เริ่มต้น" (รวม) ไปยัง "สิ้นสุด" (ไม่รวม) ต้องเป็นค่าบวก |
ตัวอย่าง
โปรแกรมแก้ไขโค้ด (JavaScript)
// A function to print arrays for a selected pixel in the following examples.
function sampArrImg(arrImg) {
var point = ee.Geometry.Point([-121, 42]);
return arrImg.sample(point, 500).first().get('array');
}
// Create a 1D array image with length 12.
var arrayImg1D = ee.Image([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]).toArray();
print('1D array image (pixel)', sampArrImg(arrayImg1D));
// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
// Get the first 3 elements.
print('1D array image first 3 elements (pixel)',
sampArrImg(arrayImg1D.arraySlice(0, 0, 3)));
// [0, 1, 2]
// Get the last 3 elements.
print('1D array image last 3 elements (pixel)',
sampArrImg(arrayImg1D.arraySlice(0, -3)));
// [9, 10, 11]
// Get elements at index positions 3 through 5 (0-based).
print('1D array image elements at index positions 3 through 5 (pixel)',
sampArrImg(arrayImg1D.arraySlice(0, 3, 6)));
// [3, 4, 5]
// Get elements at index positions 4 through end (0-based).
print('1D array image elements at index positions 4 through end (pixel)',
sampArrImg(arrayImg1D.arraySlice(0, 4)));
// [4, 5, 6, 7, 8, 9, 10, 11]
// Get elements using a step of 3.
print('1D array image elements at a step of 3 (pixel)',
sampArrImg(arrayImg1D.arraySlice(0, 0, null, 3)));
// [0, 3, 6, 9]
// Create a 2D array image with 3 rows and 4 columns.
var arrayImg2D = arrayImg1D.arrayReshape(ee.Image([3, 4]).toArray(), 2);
print('2D array image (pixel)', sampArrImg(arrayImg2D));
// [[0, 1, 2, 3],
// [4, 5, 6, 7],
// [8, 9, 10, 11]]
// Get the second row.
print('2D array image second row (pixel)',
sampArrImg(arrayImg2D.arraySlice(0, 1, 2)));
// [[4, 5, 6, 7]
// Get the second column.
print('2D array image second column (pixel)',
sampArrImg(arrayImg2D.arraySlice(1, 1, 2)));
// [[1],
// [5],
// [9]]
// Get all columns except the last.
print('2D array image all columns except last (pixel)',
sampArrImg(arrayImg2D.arraySlice(1, 0, -1)));
// [[0, 1, 2],
// [4, 5, 6],
// [8, 9, 10]]
การตั้งค่า Python
ดูข้อมูลเกี่ยวกับ Python API และการใช้ geemap
เพื่อการพัฒนาแบบอินเทอร์แอกทีฟได้ที่หน้า
สภาพแวดล้อม Python
import ee
import geemap.core as geemap
Colab (Python)
# A function to print arrays for a selected pixel in the following examples.
def samp_arr_img(arr_img):
point = ee.Geometry.Point([-121, 42])
return arr_img.sample(point, 500).first().get('array')
# Create a 1D array image with length 12.
array_img_1d = ee.Image([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]).toArray()
print('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
# Get the first 3 elements.
print('1D array image first 3 elements (pixel):',
samp_arr_img(array_img_1d.arraySlice(0, 0, 3)).getInfo())
# [0, 1, 2]
# Get the last 3 elements.
print('1D array image last 3 elements (pixel):',
samp_arr_img(array_img_1d.arraySlice(0, -3)).getInfo())
# [9, 10, 11]
# Get elements at index positions 3 through 5 (0-based).
print('1D array image elements at index positions 3 through 5 (pixel):',
samp_arr_img(array_img_1d.arraySlice(0, 3, 6)).getInfo())
# [3, 4, 5]
# Get elements at index positions 4 through end (0-based).
print('1D array image elements at index positions 4 through end (pixel)',
samp_arr_img(array_img_1d.arraySlice(0, 4)).getInfo())
# [4, 5, 6, 7, 8, 9, 10, 11]
# Get elements using a step of 3.
print('1D array image elements at a step of 3 (pixel)',
samp_arr_img(array_img_1d.arraySlice(0, 0, None, 3)).getInfo())
# [0, 3, 6, 9]
# Create a 2D array image with 3 rows and 4 columns.
array_img_2d = array_img_1d.arrayReshape(ee.Image([3, 4]).toArray(), 2)
print('2D array image (pixel)', samp_arr_img(array_img_2d).getInfo())
# [[0, 1, 2, 3],
# [4, 5, 6, 7],
# [8, 9, 10, 11]]
# Get the second row.
print('2D array image second row (pixel):',
samp_arr_img(array_img_2d.arraySlice(0, 1, 2)).getInfo())
# [[4, 5, 6, 7]
# Get the second column.
print('2D array image second column (pixel):',
samp_arr_img(array_img_2d.arraySlice(1, 1, 2)).getInfo())
# [[1],
# [5],
# [9]]
# Get all columns except the last.
print('2D array image all columns except last (pixel):',
samp_arr_img(array_img_2d.arraySlice(1, 0, -1)).getInfo())
# [[0, 1, 2],
# [4, 5, 6],
# [8, 9, 10]]
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-26 UTC
[null,null,["อัปเดตล่าสุด 2025-07-26 UTC"],[[["\u003cp\u003e\u003ccode\u003eImage.arraySlice()\u003c/code\u003e extracts a subarray from an image by specifying the axis, start, end, and step.\u003c/p\u003e\n"],["\u003cp\u003eIt allows you to select portions of an array image along a given axis, similar to slicing in Python.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003estart\u003c/code\u003e and \u003ccode\u003eend\u003c/code\u003e parameters can be negative to index from the end of the array.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003estep\u003c/code\u003e parameter controls the interval between selected elements.\u003c/p\u003e\n"],["\u003cp\u003eThe resulting image has the same dimensions as the input except along the sliced axis, where the length depends on the slicing parameters.\u003c/p\u003e\n"]]],[],null,["# ee.Image.arraySlice\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| Image.arraySlice`(`*axis* `, `*start* `, `*end* `, `*step*`)` | Image |\n\n| Argument | Type | Details |\n|---------------|----------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `input` | Image | Input array image. |\n| `axis` | Integer, default: 0 | Axis to subset. |\n| `start` | Image, default: null | 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. There must one band for start indices, or one band per 'input' band. If this argument is not set or masked at some pixel, then the slice at that pixel will start at index 0. |\n| `end` | Image, 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. There must be one band for end indices, or one band per 'input' band. If this argument is not set or masked at some pixel, then the slice at that pixel will end just after the last index. |\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\n// A function to print arrays for a selected pixel in the following examples.\nfunction sampArrImg(arrImg) {\n var point = ee.Geometry.Point([-121, 42]);\n return arrImg.sample(point, 500).first().get('array');\n}\n\n// Create a 1D array image with length 12.\nvar arrayImg1D = ee.Image([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]).toArray();\nprint('1D array image (pixel)', sampArrImg(arrayImg1D));\n// [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n\n// Get the first 3 elements.\nprint('1D array image first 3 elements (pixel)',\n sampArrImg(arrayImg1D.arraySlice(0, 0, 3)));\n// [0, 1, 2]\n\n// Get the last 3 elements.\nprint('1D array image last 3 elements (pixel)',\n sampArrImg(arrayImg1D.arraySlice(0, -3)));\n// [9, 10, 11]\n\n// Get elements at index positions 3 through 5 (0-based).\nprint('1D array image elements at index positions 3 through 5 (pixel)',\n sampArrImg(arrayImg1D.arraySlice(0, 3, 6)));\n// [3, 4, 5]\n\n// Get elements at index positions 4 through end (0-based).\nprint('1D array image elements at index positions 4 through end (pixel)',\n sampArrImg(arrayImg1D.arraySlice(0, 4)));\n// [4, 5, 6, 7, 8, 9, 10, 11]\n\n// Get elements using a step of 3.\nprint('1D array image elements at a step of 3 (pixel)',\n sampArrImg(arrayImg1D.arraySlice(0, 0, null, 3)));\n// [0, 3, 6, 9]\n\n// Create a 2D array image with 3 rows and 4 columns.\nvar arrayImg2D = arrayImg1D.arrayReshape(ee.Image([3, 4]).toArray(), 2);\nprint('2D array image (pixel)', sampArrImg(arrayImg2D));\n// [[0, 1, 2, 3],\n// [4, 5, 6, 7],\n// [8, 9, 10, 11]]\n\n// Get the second row.\nprint('2D array image second row (pixel)',\n sampArrImg(arrayImg2D.arraySlice(0, 1, 2)));\n// [[4, 5, 6, 7]\n\n// Get the second column.\nprint('2D array image second column (pixel)',\n sampArrImg(arrayImg2D.arraySlice(1, 1, 2)));\n// [[1],\n// [5],\n// [9]]\n\n// Get all columns except the last.\nprint('2D array image all columns except last (pixel)',\n sampArrImg(arrayImg2D.arraySlice(1, 0, -1)));\n// [[0, 1, 2],\n// [4, 5, 6],\n// [8, 9, 10]]\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\n# A function to print arrays for a selected pixel in the following examples.\ndef samp_arr_img(arr_img):\n point = ee.Geometry.Point([-121, 42])\n return arr_img.sample(point, 500).first().get('array')\n\n# Create a 1D array image with length 12.\narray_img_1d = ee.Image([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]).toArray()\nprint('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())\n# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]\n\n# Get the first 3 elements.\nprint('1D array image first 3 elements (pixel):',\n samp_arr_img(array_img_1d.arraySlice(0, 0, 3)).getInfo())\n# [0, 1, 2]\n\n# Get the last 3 elements.\nprint('1D array image last 3 elements (pixel):',\n samp_arr_img(array_img_1d.arraySlice(0, -3)).getInfo())\n# [9, 10, 11]\n\n# Get elements at index positions 3 through 5 (0-based).\nprint('1D array image elements at index positions 3 through 5 (pixel):',\n samp_arr_img(array_img_1d.arraySlice(0, 3, 6)).getInfo())\n# [3, 4, 5]\n\n# Get elements at index positions 4 through end (0-based).\nprint('1D array image elements at index positions 4 through end (pixel)',\n samp_arr_img(array_img_1d.arraySlice(0, 4)).getInfo())\n# [4, 5, 6, 7, 8, 9, 10, 11]\n\n# Get elements using a step of 3.\nprint('1D array image elements at a step of 3 (pixel)',\n samp_arr_img(array_img_1d.arraySlice(0, 0, None, 3)).getInfo())\n# [0, 3, 6, 9]\n\n# Create a 2D array image with 3 rows and 4 columns.\narray_img_2d = array_img_1d.arrayReshape(ee.Image([3, 4]).toArray(), 2)\nprint('2D array image (pixel)', samp_arr_img(array_img_2d).getInfo())\n# [[0, 1, 2, 3],\n# [4, 5, 6, 7],\n# [8, 9, 10, 11]]\n\n# Get the second row.\nprint('2D array image second row (pixel):',\n samp_arr_img(array_img_2d.arraySlice(0, 1, 2)).getInfo())\n# [[4, 5, 6, 7]\n\n# Get the second column.\nprint('2D array image second column (pixel):',\n samp_arr_img(array_img_2d.arraySlice(1, 1, 2)).getInfo())\n# [[1],\n# [5],\n# [9]]\n\n# Get all columns except the last.\nprint('2D array image all columns except last (pixel):',\n samp_arr_img(array_img_2d.arraySlice(1, 0, -1)).getInfo())\n# [[0, 1, 2],\n# [4, 5, 6],\n# [8, 9, 10]]\n```"]]