ee.Image.arrayReshape
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Chuyển đổi các dải mảng của một hình ảnh có các pixel có hình dạng bằng nhau (có thể là đa chiều) thành một hình ảnh của các mảng có hình dạng mới.
Cách sử dụng | Giá trị trả về |
---|
Image.arrayReshape(lengths, dimensions) | Hình ảnh |
Đối số | Loại | Thông tin chi tiết |
---|
this: image | Hình ảnh | Hình ảnh của các mảng cần định hình lại. |
lengths | Hình ảnh | Hình ảnh 1 băng tần chỉ định độ dài mới của từng trục của hình ảnh đầu vào được chỉ định dưới dạng một mảng 1 chiều cho mỗi pixel. Phải có các giá trị chiều dài "dimensions" trong mỗi mảng hình dạng. Nếu một trong các chiều dài là -1, thì chiều dài tương ứng cho trục đó sẽ được tính sao cho tổng kích thước không đổi. Cụ thể, một hình dạng [-1] sẽ được làm phẳng thành 1 chiều. Tối đa một thành phần của hình dạng có thể là -1. |
dimensions | Số nguyên | Số lượng phương diện được chia sẻ bởi tất cả các pixel mảng đầu ra. |
Ví dụ
Trình soạn thảo mã (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 6.
var arrayImg1D = ee.Image([0, 1, 2, 3, 4, 5]).toArray();
print('1D array image (pixel)', sampArrImg(arrayImg1D));
// [0, 1, 2, 3, 4, 5]
// Reshape the 1D 6-element array to a 2D 2 (row) x 3 (column) array. Notice
// that elements are filled row by row in the reshaped result.
var reshape2x3 = arrayImg1D.arrayReshape(ee.Image([2, 3]).toArray(), 2);
print('2D 2x3 array image (pixel)', sampArrImg(reshape2x3));
// [[0, 1, 2],
// [3, 4, 5]]
// Use -1 to auto-determine a dimension length. For example, here we set
// 3 rows and let Earth Engine determine the number of columns needed.
var reshape3x_ = arrayImg1D.arrayReshape(ee.Image([3, -1]).toArray(), 2);
print('2D 3x? array image (pixel)', sampArrImg(reshape3x_));
// [[0, 1],
// [2, 3],
// [4, 5]]
// Flatten a 2D 2x3 array to 1D 6-element array.
var flattened = reshape2x3.arrayReshape(ee.Image([-1]).toArray(), 1);
print('2D array flattened to 1D', sampArrImg(flattened));
// [0, 1, 2, 3, 4, 5]
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)
# 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 6.
array_img_1d = ee.Image([0, 1, 2, 3, 4, 5]).toArray()
print('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())
# [0, 1, 2, 3, 4, 5]
# Reshape the 1D 6-element array to a 2D 2 (row) x 3 (column) array. Notice
# that elements are filled row by row in the reshaped result.
reshape2x3 = array_img_1d.arrayReshape(ee.Image([2, 3]).toArray(), 2)
print('2D 2x3 array image (pixel):', samp_arr_img(reshape2x3).getInfo())
# [[0, 1, 2],
# [3, 4, 5]]
# Use -1 to auto-determine a dimension length. For example, here we set
# 3 rows and let Earth Engine determine the number of columns needed.
reshape3x_ = array_img_1d.arrayReshape(ee.Image([3, -1]).toArray(), 2)
print('2D 3x? array image (pixel):', samp_arr_img(reshape3x_).getInfo())
# [[0, 1],
# [2, 3],
# [4, 5]]
# Flatten a 2D 2x3 array to 1D 6-element array.
flattened = reshape2x3.arrayReshape(ee.Image([-1]).toArray(), 1)
print('2D array flattened to 1D:', samp_arr_img(flattened).getInfo())
# [0, 1, 2, 3, 4, 5]
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[[["\u003cp\u003e\u003ccode\u003eImage.arrayReshape()\u003c/code\u003e transforms images with array-shaped pixels into images with a new array shape, potentially changing the dimensionality of the pixels.\u003c/p\u003e\n"],["\u003cp\u003eIt takes the original image, desired lengths for each axis of the new shape, and the total number of dimensions as input.\u003c/p\u003e\n"],["\u003cp\u003eYou can specify \u003ccode\u003e-1\u003c/code\u003e for a dimension length to have Earth Engine automatically calculate it, ensuring the total number of elements remains constant.\u003c/p\u003e\n"],["\u003cp\u003eThis function is useful for tasks like converting between 1D, 2D, or higher-dimensional array representations of data within an image.\u003c/p\u003e\n"],["\u003cp\u003eExamples demonstrate reshaping a 1D array into a 2D array, using \u003ccode\u003e-1\u003c/code\u003e for automatic dimension calculation, and flattening a 2D array back to 1D.\u003c/p\u003e\n"]]],[],null,["# ee.Image.arrayReshape\n\nConverts array bands of an image with equally-shaped, possibly multidimensional pixels to an image of arrays with a new shape.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|-------------------------------------------|---------|\n| Image.arrayReshape`(lengths, dimensions)` | Image |\n\n| Argument | Type | Details |\n|---------------|---------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `image` | Image | The image of arrays to reshape. |\n| `lengths` | Image | A 1-band image specifying the new lengths of each axis of the input image specified as a 1-D array per pixel. There should be 'dimensions' lengths values in each shape' array. If one of the lengths is -1, then the corresponding length for that axis will be computed such that the total size remains constant. In particular, a shape of \\[-1\\] flattens into 1-D. At most one component of shape can be -1. |\n| `dimensions` | Integer | The number of dimensions shared by all output array pixels. |\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 6.\nvar arrayImg1D = ee.Image([0, 1, 2, 3, 4, 5]).toArray();\nprint('1D array image (pixel)', sampArrImg(arrayImg1D));\n// [0, 1, 2, 3, 4, 5]\n\n// Reshape the 1D 6-element array to a 2D 2 (row) x 3 (column) array. Notice\n// that elements are filled row by row in the reshaped result.\nvar reshape2x3 = arrayImg1D.arrayReshape(ee.Image([2, 3]).toArray(), 2);\nprint('2D 2x3 array image (pixel)', sampArrImg(reshape2x3));\n// [[0, 1, 2],\n// [3, 4, 5]]\n\n// Use -1 to auto-determine a dimension length. For example, here we set\n// 3 rows and let Earth Engine determine the number of columns needed.\nvar reshape3x_ = arrayImg1D.arrayReshape(ee.Image([3, -1]).toArray(), 2);\nprint('2D 3x? array image (pixel)', sampArrImg(reshape3x_));\n// [[0, 1],\n// [2, 3],\n// [4, 5]]\n\n// Flatten a 2D 2x3 array to 1D 6-element array.\nvar flattened = reshape2x3.arrayReshape(ee.Image([-1]).toArray(), 1);\nprint('2D array flattened to 1D', sampArrImg(flattened));\n// [0, 1, 2, 3, 4, 5]\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 6.\narray_img_1d = ee.Image([0, 1, 2, 3, 4, 5]).toArray()\nprint('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())\n# [0, 1, 2, 3, 4, 5]\n\n# Reshape the 1D 6-element array to a 2D 2 (row) x 3 (column) array. Notice\n# that elements are filled row by row in the reshaped result.\nreshape2x3 = array_img_1d.arrayReshape(ee.Image([2, 3]).toArray(), 2)\nprint('2D 2x3 array image (pixel):', samp_arr_img(reshape2x3).getInfo())\n# [[0, 1, 2],\n# [3, 4, 5]]\n\n# Use -1 to auto-determine a dimension length. For example, here we set\n# 3 rows and let Earth Engine determine the number of columns needed.\nreshape3x_ = array_img_1d.arrayReshape(ee.Image([3, -1]).toArray(), 2)\nprint('2D 3x? array image (pixel):', samp_arr_img(reshape3x_).getInfo())\n# [[0, 1],\n# [2, 3],\n# [4, 5]]\n\n# Flatten a 2D 2x3 array to 1D 6-element array.\nflattened = reshape2x3.arrayReshape(ee.Image([-1]).toArray(), 1)\nprint('2D array flattened to 1D:', samp_arr_img(flattened).getInfo())\n# [0, 1, 2, 3, 4, 5]\n```"]]