Stay organized with collectionsSave and categorize content based on your preferences.
Concatenates pixels from each band into a single array per pixel. The result will be masked if any input bands are masked.
Usage
Returns
Image.toArray(axis)
Image
Argument
Type
Details
this:image
Image
Image of bands to convert to an array per pixel. Bands must have scalar pixels, or array pixels with equal dimensionality.
axis
Integer, default: 0
Axis to concatenate along; must be at least 0 and at most the dimension of the inputs. If the axis equals the dimension of the inputs, the result will have 1 more dimension than the inputs.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2023-10-06 UTC."],[[["\u003cp\u003e\u003ccode\u003eImage.toArray()\u003c/code\u003e converts an image's band values into an array for each pixel, creating an "array image".\u003c/p\u003e\n"],["\u003cp\u003eThe optional \u003ccode\u003eaxis\u003c/code\u003e argument controls the dimension along which the bands are concatenated in the array image.\u003c/p\u003e\n"],["\u003cp\u003eArray images can be displayed and inspected, with the first element of the array represented visually.\u003c/p\u003e\n"],["\u003cp\u003eThis function enables analysis and manipulation of multi-band images by treating pixel values as arrays.\u003c/p\u003e\n"]]],["The `toArray()` method concatenates pixel values from an image's bands into a single array per pixel. It takes an optional `axis` argument to specify the concatenation direction; the default is 0. The method converts the multi-band image to an array image, resulting in a single \"array\" band. If any input band has masked pixels, the resulting array will also be masked. You can use `toArray(1)` to create 2D array image or `toArray(2)` to create 3D array.\n"],null,["# ee.Image.toArray\n\nConcatenates pixels from each band into a single array per pixel. The result will be masked if any input bands are masked.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|---------------------------|---------|\n| Image.toArray`(`*axis*`)` | Image |\n\n| Argument | Type | Details |\n|---------------|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| this: `image` | Image | Image of bands to convert to an array per pixel. Bands must have scalar pixels, or array pixels with equal dimensionality. |\n| `axis` | Integer, default: 0 | Axis to concatenate along; must be at least 0 and at most the dimension of the inputs. If the axis equals the dimension of the inputs, the result will have 1 more dimension than the inputs. |\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 3-band image of constants.\nvar img = ee.Image([0, 1, 2]);\nprint('3-band image', img);\n\n// Convert the 3-band image to an array image. The resulting array image has a\n// single band named \"array\". The \"array\" band stores the per-pixel band values\n// from the input ee.Image as a 1D array.\nvar arrayImg1D = img.toArray();\nprint('1D array image', arrayImg1D);\n\n// Sample a single pixel to see its 1D array using the `sampArrImg` function\n// defined above. Similar arrays are present for all pixels in a given array\n// image; looking at just one helps conceptualize the structure.\nprint('1D array image (pixel)', sampArrImg(arrayImg1D));\n// [0, 1, 2]\n\n// Array images can be displayed to the Code Editor map and queried with the\n// inspector tool. Per-pixel, the first element in the array is shown.\n// Single-band grayscale is used to represent the data. Style parameters `min`\n// and `max` are valid. Styling the layer with the Code Editor's layer\n// visualization tool is invalid.\nMap.addLayer(arrayImg1D, {min: 0, max: 2}, 'Image array');\n\n// Create a 2D array image by concatenating the values in a 1D array image\n// along the 1-axis using `toArray(1)`. For a 3D array, apply `toArray(2)` to\n// the result.\nvar arrayImg2D = arrayImg1D.toArray(1);\nprint('2D array image (pixel)', sampArrImg(arrayImg2D));\n// [[0],\n// [1],\n// [2]]\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\n# A 3-band image of constants.\nimg = ee.Image([0, 1, 2])\ndisplay('3-band image', img)\n\n# Convert the 3-band image to an array image. The resulting array image has a\n# single band named \"array\". The \"array\" band stores the per-pixel band values\n# from the input ee.Image as a 1D array.\narray_img_1_d = img.toArray()\ndisplay('1D array image', array_img_1_d)\n\n# Sample a single pixel to see its 1D array using the `samp_arr_img` function\n# defined above. Similar arrays are present for all pixels in a given array\n# image looking at just one helps conceptualize the structure.\ndisplay('1D array image (pixel)', samp_arr_img(array_img_1_d))\n# [0, 1, 2]\n\n# Array images can be displayed to the Code Editor map and queried with the\n# inspector tool. Per-pixel, the first element in the array is shown.\n# Single-band grayscale is used to represent the data. Style parameters `min`\n# and `max` are valid. Styling the layer with the Code Editor's layer\n# visualization tool is invalid.\nm = geemap.Map()\nm.add_layer(array_img_1_d, {'min': 0, 'max': 2}, 'Image array')\ndisplay(m)\n\n# Create a 2D array image by concatenating the values in a 1D array image\n# along the 1-axis using `toArray(1)`. For a 3D array, apply `toArray(2)` to\n# the result.\narray_img_2_d = array_img_1_d.toArray(1)\ndisplay('2D array image (pixel)', samp_arr_img(array_img_2_d))\n# [[0],\n# [1],\n# [2]]\n```"]]