Announcement: All noncommercial projects registered to use Earth Engine beforeApril 15, 2025 mustverify noncommercial eligibility to maintain access. If you have not verified by September 26, 2025, your access may be on hold.
ee.Image.toArray Stay organized with collections Save and categorize content based on your preferences.
Page Summary
The
toArray()method concatenates pixels from each band into a single array per pixel.The result of
toArray()will be masked if any input bands are masked.The
axisargument determines the axis along which concatenation occurs, affecting the dimensionality of the output array.
| 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. |
Examples
Code Editor (JavaScript)
// A function to print arrays for a selected pixel in the following examples.functionsampArrImg(arrImg){varpoint=ee.Geometry.Point([-121,42]);returnarrImg.sample(point,500).first().get('array');}// A 3-band image of constants.varimg=ee.Image([0,1,2]);print('3-band image',img);// Convert the 3-band image to an array image. The resulting array image has a// single band named "array". The "array" band stores the per-pixel band values// from the input ee.Image as a 1D array.vararrayImg1D=img.toArray();print('1D array image',arrayImg1D);// Sample a single pixel to see its 1D array using the `sampArrImg` function// defined above. Similar arrays are present for all pixels in a given array// image; looking at just one helps conceptualize the structure.print('1D array image (pixel)',sampArrImg(arrayImg1D));// [0, 1, 2]// Array images can be displayed to the Code Editor map and queried with the// inspector tool. Per-pixel, the first element in the array is shown.// Single-band grayscale is used to represent the data. Style parameters `min`// and `max` are valid. Styling the layer with the Code Editor's layer// visualization tool is invalid.Map.addLayer(arrayImg1D,{min:0,max:2},'Image array');// Create a 2D array image by concatenating the values in a 1D array image// along the 1-axis using `toArray(1)`. For a 3D array, apply `toArray(2)` to// the result.vararrayImg2D=arrayImg1D.toArray(1);print('2D array image (pixel)',sampArrImg(arrayImg2D));// [[0],// [1],// [2]]
Python setup
See the Python Environment page for information on the Python API and usinggeemap for interactive development.
importeeimportgeemap.coreasgeemap
Colab (Python)
# A function to print arrays for a selected pixel in the following examples.defsamp_arr_img(arr_img):point=ee.Geometry.Point([-121,42])returnarr_img.sample(point,500).first().get('array')# A 3-band image of constants.img=ee.Image([0,1,2])display('3-band image',img)# Convert the 3-band image to an array image. The resulting array image has a# single band named "array". The "array" band stores the per-pixel band values# from the input ee.Image as a 1D array.array_img_1_d=img.toArray()display('1D array image',array_img_1_d)# Sample a single pixel to see its 1D array using the `samp_arr_img` function# defined above. Similar arrays are present for all pixels in a given array# image looking at just one helps conceptualize the structure.display('1D array image (pixel)',samp_arr_img(array_img_1_d))# [0, 1, 2]# Array images can be displayed to the Code Editor map and queried with the# inspector tool. Per-pixel, the first element in the array is shown.# Single-band grayscale is used to represent the data. Style parameters `min`# and `max` are valid. Styling the layer with the Code Editor's layer# visualization tool is invalid.m=geemap.Map()m.add_layer(array_img_1_d,{'min':0,'max':2},'Image array')display(m)# Create a 2D array image by concatenating the values in a 1D array image# along the 1-axis using `toArray(1)`. For a 3D array, apply `toArray(2)` to# the result.array_img_2_d=array_img_1_d.toArray(1)display('2D array image (pixel)',samp_arr_img(array_img_2_d))# [[0],# [1],# [2]]
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-10-06 UTC.