公告:凡是在
2025 年 4 月 15 日前註冊使用 Earth Engine 的非商業專案,都必須
驗證非商業用途資格,才能繼續存取 Earth Engine。
ee.Image.arrayFlatten
透過集合功能整理內容
你可以依據偏好儲存及分類內容。
將形狀相同的多維度像素單一波段圖像,轉換為純量像素圖像,陣列的每個元素都有一個波段。
用量 | 傳回 |
---|
Image.arrayFlatten(coordinateLabels, separator) | 圖片 |
引數 | 類型 | 詳細資料 |
---|
這個:image | 圖片 | 要平坦化的多維度像素圖片。 |
coordinateLabels | 清單 | 每個軸向的每個位置名稱。舉例來說,如果 2x2 陣列的軸代表「day」和「color」,則標籤可能為 [['monday', 'tuesday'], ['red', 'green']],產生「monday_red」、「monday_green」、「tuesday_red」和「tuesday_green」等波段名稱。 |
separator | 字串,預設值為「_」 | 每個樂團名稱中陣列標籤之間的分隔符號。 |
範例
程式碼編輯器 (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');
}
// A 1D array image.
var arrayImg1D = ee.Image([0, 1, 2]).toArray();
print('1D array image (pixel)', sampArrImg(arrayImg1D));
// [0, 1, 2]
// Define image band names for a 1D array image with 3 rows. You are labeling
// all rows and columns using a list of lists; the 1st sub list defines labels
// for array rows and the 2nd (if applicable) defines labels for array columns.
var bandNames1D = [['row0', 'row1', 'row2']];
// Flatten the 1D array image into an image with n bands equal to all
// combinations of rows and columns. Here, we have 3 rows and 0 columns,
// so the result will be a 3-band image.
var imgFrom1Darray = arrayImg1D.arrayFlatten(bandNames1D);
print('Image from 1D array', imgFrom1Darray);
// Make a 2D array image by repeating the 1D array on 2-axis.
var arrayImg2D = arrayImg1D.arrayRepeat(1, 2);
print('2D array image (pixel)', sampArrImg(arrayImg2D));
// [[0, 0],
// [1, 1],
// [2, 2]]
// Define image band names for a 2D array image with 3 rows and 2 columns.
// Recall that you are labeling all rows and columns using a list of lists;
// The 1st sub list defines labels for array rows and the 2nd (if applicable)
// defines labels for array columns.
var bandNames2D = [['row0', 'row1', 'row2'], ['col0', 'col1']];
// Flatten the 2D array image into an image with n bands equal to all
// combinations of rows and columns. Here, we have 3 rows and 2 columns,
// so the result will be a 6-band image.
var imgFrom2Darray = arrayImg2D.arrayFlatten(bandNames2D);
print('Image from 2D array', imgFrom2Darray);
Python 設定
請參閱
Python 環境頁面,瞭解 Python API 和如何使用 geemap
進行互動式開發。
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')
# A 1D array image.
array_img_1d = ee.Image([0, 1, 2]).toArray()
print('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())
# [0, 1, 2]
# Define image band names for a 1D array image with 3 rows. You are labeling
# all rows and columns using a list of lists; the 1st sub list defines labels
# for array rows and the 2nd (if applicable) defines labels for array columns.
band_names_1d = [['row0', 'row1', 'row2']]
# Flatten the 1D array image into an image with n bands equal to all
# combinations of rows and columns. Here, we have 3 rows and 0 columns,
# so the result will be a 3-band image.
img_from_1d_array = array_img_1d.arrayFlatten(band_names_1d)
print('Image from 1D array:', img_from_1d_array.getInfo())
# Make a 2D array image by repeating the 1D array on 2-axis.
array_img_2d = array_img_1d.arrayRepeat(1, 2)
print('2D array image (pixel):', samp_arr_img(array_img_2d).getInfo())
# [[0, 0],
# [1, 1],
# [2, 2]]
# Define image band names for a 2D array image with 3 rows and 2 columns.
# Recall that you are labeling all rows and columns using a list of lists;
# The 1st sub list defines labels for array rows and the 2nd (if applicable)
# defines labels for array columns.
band_names_2d = [['row0', 'row1', 'row2'], ['col0', 'col1']]
# Flatten the 2D array image into an image with n bands equal to all
# combinations of rows and columns. Here, we have 3 rows and 2 columns,
# so the result will be a 6-band image.
img_from_2d_array = array_img_2d.arrayFlatten(band_names_2d)
print('Image from 2D array:', img_from_2d_array.getInfo())
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-26 (世界標準時間)。
[null,null,["上次更新時間:2025-07-26 (世界標準時間)。"],[[["\u003cp\u003e\u003ccode\u003eImage.arrayFlatten\u003c/code\u003e transforms an image containing multidimensional pixel arrays into a multi-band image with scalar pixel values.\u003c/p\u003e\n"],["\u003cp\u003eEach element of the input array becomes a separate band in the output image.\u003c/p\u003e\n"],["\u003cp\u003eUsers can specify custom names for the output bands using the \u003ccode\u003ecoordinateLabels\u003c/code\u003e parameter.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eseparator\u003c/code\u003e parameter allows for customization of the delimiter used in band names derived from array indices.\u003c/p\u003e\n"],["\u003cp\u003eThis function is useful for working with data structured as arrays within an image, such as time series or multi-spectral data organized in matrices.\u003c/p\u003e\n"]]],[],null,["# ee.Image.arrayFlatten\n\nConverts a single-band image of equal-shape multidimensional pixels to an image of scalar pixels, with one band for each element of the array.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|-------------------------------------------------------|---------|\n| Image.arrayFlatten`(coordinateLabels, `*separator*`)` | Image |\n\n| Argument | Type | Details |\n|--------------------|----------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `image` | Image | Image of multidimensional pixels to flatten. |\n| `coordinateLabels` | List | Name of each position along each axis. For example, 2x2 arrays with axes meaning 'day' and 'color' could have labels like \\[\\['monday', 'tuesday'\\], \\['red', 'green'\\]\\], resulting in band names'monday_red', 'monday_green', 'tuesday_red', and 'tuesday_green'. |\n| `separator` | String, default: \"_\" | Separator between array labels in each band name. |\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// A 1D array image.\nvar arrayImg1D = ee.Image([0, 1, 2]).toArray();\nprint('1D array image (pixel)', sampArrImg(arrayImg1D));\n// [0, 1, 2]\n\n// Define image band names for a 1D array image with 3 rows. You are labeling\n// all rows and columns using a list of lists; the 1st sub list defines labels\n// for array rows and the 2nd (if applicable) defines labels for array columns.\nvar bandNames1D = [['row0', 'row1', 'row2']];\n\n// Flatten the 1D array image into an image with n bands equal to all\n// combinations of rows and columns. Here, we have 3 rows and 0 columns,\n// so the result will be a 3-band image.\nvar imgFrom1Darray = arrayImg1D.arrayFlatten(bandNames1D);\nprint('Image from 1D array', imgFrom1Darray);\n\n// Make a 2D array image by repeating the 1D array on 2-axis.\nvar arrayImg2D = arrayImg1D.arrayRepeat(1, 2);\nprint('2D array image (pixel)', sampArrImg(arrayImg2D));\n// [[0, 0],\n// [1, 1],\n// [2, 2]]\n\n// Define image band names for a 2D array image with 3 rows and 2 columns.\n// Recall that you are labeling all rows and columns using a list of lists;\n// The 1st sub list defines labels for array rows and the 2nd (if applicable)\n// defines labels for array columns.\nvar bandNames2D = [['row0', 'row1', 'row2'], ['col0', 'col1']];\n\n// Flatten the 2D array image into an image with n bands equal to all\n// combinations of rows and columns. Here, we have 3 rows and 2 columns,\n// so the result will be a 6-band image.\nvar imgFrom2Darray = arrayImg2D.arrayFlatten(bandNames2D);\nprint('Image from 2D array', imgFrom2Darray);\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# A 1D array image.\narray_img_1d = ee.Image([0, 1, 2]).toArray()\nprint('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())\n# [0, 1, 2]\n\n# Define image band names for a 1D array image with 3 rows. You are labeling\n# all rows and columns using a list of lists; the 1st sub list defines labels\n# for array rows and the 2nd (if applicable) defines labels for array columns.\nband_names_1d = [['row0', 'row1', 'row2']]\n\n# Flatten the 1D array image into an image with n bands equal to all\n# combinations of rows and columns. Here, we have 3 rows and 0 columns,\n# so the result will be a 3-band image.\nimg_from_1d_array = array_img_1d.arrayFlatten(band_names_1d)\nprint('Image from 1D array:', img_from_1d_array.getInfo())\n\n# Make a 2D array image by repeating the 1D array on 2-axis.\narray_img_2d = array_img_1d.arrayRepeat(1, 2)\nprint('2D array image (pixel):', samp_arr_img(array_img_2d).getInfo())\n# [[0, 0],\n# [1, 1],\n# [2, 2]]\n\n# Define image band names for a 2D array image with 3 rows and 2 columns.\n# Recall that you are labeling all rows and columns using a list of lists;\n# The 1st sub list defines labels for array rows and the 2nd (if applicable)\n# defines labels for array columns.\nband_names_2d = [['row0', 'row1', 'row2'], ['col0', 'col1']]\n\n# Flatten the 2D array image into an image with n bands equal to all\n# combinations of rows and columns. Here, we have 3 rows and 2 columns,\n# so the result will be a 6-band image.\nimg_from_2d_array = array_img_2d.arrayFlatten(band_names_2d)\nprint('Image from 2D array:', img_from_2d_array.getInfo())\n```"]]