Announcement: All noncommercial projects registered to use Earth Engine before
April 15, 2025 must
verify noncommercial eligibility to maintain Earth Engine access.
ee.Image.arrayArgmax
Stay organized with collections
Save and categorize content based on your preferences.
Computes the positional indices of the maximum value in image of array values. If there are multiple occurrences of the maximum, the indices reflect the first.
Usage | Returns | Image.arrayArgmax() | Image |
Argument | Type | Details | this: image | Image | The input image. |
Examples
Code Editor (JavaScript)
// A function to print the array 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.
var arrayImg1D = ee.Image([0, 1, 5, 2, 3, 4]).toArray();
print('1D array image (pixel)', sampArrImg(arrayImg1D));
// [0, 1, 5, 2, 3, 4]
// Get the position of the maximum value in a 1D array.
var maxValue1D = arrayImg1D.arrayArgmax();
print('Position of the maximum 1D array value', sampArrImg(maxValue1D));
// [2]
// Create a 2D 2x3 array image (reshape the 1D array image).
var arrayImg2D = arrayImg1D.arrayReshape(ee.Image([2, 3]).toArray(), 2);
print('2D 2x3 array image (pixel)', sampArrImg(arrayImg2D));
// [[0, 1, 5],
// [2, 3, 4]]
// Get the position of the maximum value in a 2D array.
var maxValue2D = arrayImg2D.arrayArgmax();
print('Position of the maximum 2D array value', sampArrImg(maxValue2D));
// [0, 2]
Python setup
See the
Python Environment page for information on the Python API and using
geemap
for interactive development.
import ee
import geemap.core as geemap
Colab (Python)
# A function to print the array 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.
array_img_1d = ee.Image([0, 1, 5, 2, 3, 4]).toArray()
print('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())
# [0, 1, 5, 2, 3, 4]
# Get the position of the maximum value in a 1D array.
max_value_1d = array_img_1d.arrayArgmax()
print(
'Position of the maximum 1D array value:',
samp_arr_img(max_value_1d).getInfo()
)
# [2]
# Create a 2D 2x3 array image (reshape the 1D array image).
array_img_2d = array_img_1d.arrayReshape(ee.Image([2, 3]).toArray(), 2)
print('2D 2x3 array image (pixel):', samp_arr_img(array_img_2d).getInfo())
# [[0, 1, 5],
# [2, 3, 4]]
# Get the position of the maximum value in a 2D array.
max_value_2d = array_img_2d.arrayArgmax()
print(
'Position of the maximum 2D array value:',
samp_arr_img(max_value_2d).getInfo()
)
# [0, 2]
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2023-10-06 UTC.
[null,null,["Last updated 2023-10-06 UTC."],[[["\u003cp\u003e\u003ccode\u003eImage.arrayArgmax()\u003c/code\u003e identifies the positional index of the maximum value within an image's array of values.\u003c/p\u003e\n"],["\u003cp\u003eIn cases where the maximum value appears multiple times, the function returns the index of the first occurrence.\u003c/p\u003e\n"],["\u003cp\u003eThe function works with both 1D and multidimensional arrays, providing the index or indices corresponding to the maximum value's location.\u003c/p\u003e\n"],["\u003cp\u003eThis method returns a new Image where each pixel represents the index or indices of the maximum value in the input image's corresponding pixel array.\u003c/p\u003e\n"]]],[],null,["# ee.Image.arrayArgmax\n\nComputes the positional indices of the maximum value in image of array values. If there are multiple occurrences of the maximum, the indices reflect the first.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|-----------------------|---------|\n| Image.arrayArgmax`()` | Image |\n\n| Argument | Type | Details |\n|---------------|-------|------------------|\n| this: `image` | Image | The input image. |\n\nExamples\n--------\n\n### Code Editor (JavaScript)\n\n```javascript\n// A function to print the array 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.\nvar arrayImg1D = ee.Image([0, 1, 5, 2, 3, 4]).toArray();\nprint('1D array image (pixel)', sampArrImg(arrayImg1D));\n// [0, 1, 5, 2, 3, 4]\n\n// Get the position of the maximum value in a 1D array.\nvar maxValue1D = arrayImg1D.arrayArgmax();\nprint('Position of the maximum 1D array value', sampArrImg(maxValue1D));\n// [2]\n\n// Create a 2D 2x3 array image (reshape the 1D array image).\nvar arrayImg2D = arrayImg1D.arrayReshape(ee.Image([2, 3]).toArray(), 2);\nprint('2D 2x3 array image (pixel)', sampArrImg(arrayImg2D));\n// [[0, 1, 5],\n// [2, 3, 4]]\n\n// Get the position of the maximum value in a 2D array.\nvar maxValue2D = arrayImg2D.arrayArgmax();\nprint('Position of the maximum 2D array value', sampArrImg(maxValue2D));\n// [0, 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 the array 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.\narray_img_1d = ee.Image([0, 1, 5, 2, 3, 4]).toArray()\nprint('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())\n# [0, 1, 5, 2, 3, 4]\n\n# Get the position of the maximum value in a 1D array.\nmax_value_1d = array_img_1d.arrayArgmax()\nprint(\n 'Position of the maximum 1D array value:',\n samp_arr_img(max_value_1d).getInfo()\n )\n# [2]\n\n# Create a 2D 2x3 array image (reshape the 1D array image).\narray_img_2d = array_img_1d.arrayReshape(ee.Image([2, 3]).toArray(), 2)\nprint('2D 2x3 array image (pixel):', samp_arr_img(array_img_2d).getInfo())\n# [[0, 1, 5],\n# [2, 3, 4]]\n\n# Get the position of the maximum value in a 2D array.\nmax_value_2d = array_img_2d.arrayArgmax()\nprint(\n 'Position of the maximum 2D array value:',\n samp_arr_img(max_value_2d).getInfo()\n)\n# [0, 2]\n```"]]