Pengumuman: Semua project nonkomersial yang terdaftar untuk menggunakan Earth Engine sebelum
15 April 2025 harus
memverifikasi kelayakan nonkomersial untuk mempertahankan akses Earth Engine.
ee.Image.arrayFlatten
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Mengonversi gambar satu band dengan piksel multidimensi berbentuk sama menjadi gambar piksel skalar, dengan satu band untuk setiap elemen array.
Penggunaan | Hasil |
---|
Image.arrayFlatten(coordinateLabels, separator) | Gambar |
Argumen | Jenis | Detail |
---|
ini: image | Gambar | Gambar piksel multidimensi yang akan diratakan. |
coordinateLabels | Daftar | Nama setiap posisi di sepanjang setiap sumbu. Misalnya, array 2x2 dengan sumbu yang berarti 'day' dan 'color' dapat memiliki label seperti [['monday', 'tuesday'], ['red', 'green']], sehingga menghasilkan nama band'monday_red', 'monday_green', 'tuesday_red', dan 'tuesday_green'. |
separator | String, default: "_" | Pemisah antara label array di setiap nama band. |
Contoh
Code Editor (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);
Penyiapan Python
Lihat halaman
Lingkungan Python untuk mengetahui informasi tentang Python API dan penggunaan
geemap
untuk pengembangan interaktif.
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())
Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-07-26 UTC.
[null,null,["Terakhir diperbarui pada 2025-07-26 UTC."],[[["\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```"]]