ee.Image.arrayReduce
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Reduziert Elemente jedes Array-Pixels.
Nutzung | Ausgabe |
---|
Image.arrayReduce(reducer, axes, fieldAxis) | Bild |
Argument | Typ | Details |
---|
So gehts: input | Bild | Eingabebild. |
reducer | Reducer | Der anzuwendende Reducer. |
axes | Liste | Die Liste der Array-Achsen, die in jedem Pixel reduziert werden sollen. Die Ausgabe hat in allen diesen Achsen die Länge 1. |
fieldAxis | Ganzzahl, Standard: null | Die Achse für die Ein- und Ausgabefelder des Reducer. Nur erforderlich, wenn der Reducer mehrere Ein- oder Ausgaben hat. |
Beispiele
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');
}
// Create a 1D array image with length 6.
var arrayImg1D = ee.Image([0, 1, 2, 3, 4, 5]).toArray();
print('1D array image (pixel)', sampArrImg(arrayImg1D));
// [0, 1, 2, 3, 4, 5]
// Sum the elements in the 1D array image.
var arrayImg1Dsum = arrayImg1D.arrayReduce(ee.Reducer.sum(), [0]);
print('1D array image sum (pixel)', sampArrImg(arrayImg1Dsum));
// [15]
// Create a 2D array image with 2 rows and 3 columns.
var arrayImg2D = arrayImg1D.arrayReshape(ee.Image([2, 3]).toArray(), 2);
print('2D array image (pixel)', sampArrImg(arrayImg2D));
// [[0, 1, 2],
// [3, 4, 5]]
// Sum 2D array image along 0-axis.
var arrayImg2DsumRow = arrayImg2D.arrayReduce(ee.Reducer.sum(), [0]);
print('2D array image sum rows (pixel)', sampArrImg(arrayImg2DsumRow));
// [[3, 5, 7]]
// Sum 2D array image along 1-axis.
var arrayImg2DsumCol = arrayImg2D.arrayReduce(ee.Reducer.sum(), [1]);
print('2D array image sum columns (pixel)', sampArrImg(arrayImg2DsumCol));
// [[3],
// [12]]
// Sum 2D array image 0-axis and 1-axis.
var arrayImg2DsumRowCol = arrayImg2D.arrayReduce(ee.Reducer.sum(), [0, 1]);
print('2D array image sum columns (pixel)', sampArrImg(arrayImg2DsumRowCol));
// [[15]]
// For reducers that provide several outputs (like minMax and percentile),
// you need to ensure you have a dimension to hold the results. For instance,
// if you want minMax for a 1D array, add a second dimension.
var arrayImg1Dto2D = arrayImg1D.toArray(1);
print('1D array image to 2D', sampArrImg(arrayImg1Dto2D));
// [[0],
// [1],
// [2],
// [3],
// [4],
// [5]]
// Calculate min and max for 2D array, use the fieldAxis parameter.
var minMax1D = arrayImg1Dto2D.arrayReduce(ee.Reducer.minMax(), [0], 1);
print('1D array image minMax (pixel)', sampArrImg(minMax1D));
// [[0, 5]]
// If your array image is 2D and you want min and max, add a third dimension.
var arrayImg2Dto3D = arrayImg2D.toArray(2);
print('2D array image to 3D', sampArrImg(arrayImg2Dto3D));
// [[[0], [1], [2]],
// [[3], [4], [5]]]
// Calculate min and max along the 0-axis, store results in 2-axis.
var minMax2D = arrayImg2Dto3D.arrayReduce(ee.Reducer.minMax(), [0], 2);
print('2D array image minMax (pixel)', sampArrImg(minMax2D));
// [[[0, 3],
// [1, 4],
// [2, 5]]]
Python einrichten
Informationen zur Python API und zur Verwendung von geemap
für die interaktive Entwicklung finden Sie auf der Seite
Python-Umgebung.
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')
# Create a 1D array image with length 6.
array_img_1d = ee.Image([0, 1, 2, 3, 4, 5]).toArray()
print('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())
# [0, 1, 2, 3, 4, 5]
# Sum the elements in the 1D array image.
array_img_1d_sum = array_img_1d.arrayReduce(ee.Reducer.sum(), [0])
print('1D array image sum (pixel):', samp_arr_img(array_img_1d_sum).getInfo())
# [15]
# Create a 2D array image with 2 rows and 3 columns.
array_img_2d = array_img_1d.arrayReshape(ee.Image([2, 3]).toArray(), 2)
print('2D array image (pixel):', samp_arr_img(array_img_2d).getInfo())
# [[0, 1, 2],
# [3, 4, 5]]
# Sum 2D array image along 0-axis.
array_img_2d_sum_row = array_img_2d.arrayReduce(ee.Reducer.sum(), [0])
print(
'2D array image sum rows (pixel):',
samp_arr_img(array_img_2d_sum_row).getInfo()
)
# [[3, 5, 7]]
# Sum 2D array image along 1-axis.
array_img_2d_sum_col = array_img_2d.arrayReduce(ee.Reducer.sum(), [1])
print(
'2D array image sum columns (pixel):',
samp_arr_img(array_img_2d_sum_col).getInfo()
)
# [[3],
# [12]]
# Sum 2D array image 0-axis and 1-axis.
array_img_2d_sum_row_col = array_img_2d.arrayReduce(ee.Reducer.sum(), [0, 1])
print(
'2D array image sum columns (pixel):',
samp_arr_img(array_img_2d_sum_row_col).getInfo()
)
# [[15]]
# For reducers that provide several outputs (like minMax and percentile),
# you need to ensure you have a dimension to hold the results. For instance,
# if you want minMax for a 1D array, add a second dimension.
array_img_1d_to_2d = array_img_1d.toArray(1)
print('1D array image to 2D:', samp_arr_img(array_img_1d_to_2d).getInfo())
# [[0],
# [1],
# [2],
# [3],
# [4],
# [5]]
# Calculate min and max for 2D array, use the fieldAxis parameter.
min_max_1d = array_img_1d_to_2d.arrayReduce(ee.Reducer.minMax(), [0], 1)
print('1D array image minMax (pixel):', samp_arr_img(min_max_1d).getInfo())
# [[0, 5]]
# If your array image is 2D and you want min and max, add a third dimension.
array_img_2d_to_3d = array_img_2d.toArray(2)
print('2D array image to 3D:', samp_arr_img(array_img_2d_to_3d).getInfo())
# [[[0], [1], [2]],
# [[3], [4], [5]]]
# Calculate min and max along the 0-axis, store results in 2-axis.
min_max_2d = array_img_2d_to_3d.arrayReduce(ee.Reducer.minMax(), [0], 2)
print('2D array image minMax (pixel):', samp_arr_img(min_max_2d).getInfo())
# [[[0, 3],
# [1, 4],
# [2, 5]]]
Sofern nicht anders angegeben, sind die Inhalte dieser Seite unter der Creative Commons Attribution 4.0 License und Codebeispiele unter der Apache 2.0 License lizenziert. Weitere Informationen finden Sie in den Websiterichtlinien von Google Developers. Java ist eine eingetragene Marke von Oracle und/oder seinen Partnern.
Zuletzt aktualisiert: 2025-07-26 (UTC).
[null,null,["Zuletzt aktualisiert: 2025-07-26 (UTC)."],[[["\u003cp\u003e\u003ccode\u003eImage.arrayReduce()\u003c/code\u003e reduces elements of each array pixel along the specified axes using a provided reducer.\u003c/p\u003e\n"],["\u003cp\u003eIt takes an input image, a reducer function, a list of axes to reduce, and an optional field axis for reducers with multiple inputs or outputs.\u003c/p\u003e\n"],["\u003cp\u003eThe output image has a length of 1 in all reduced axes.\u003c/p\u003e\n"],["\u003cp\u003eFor reducers with multiple outputs, you may need to add dimensions to the input array to store the results.\u003c/p\u003e\n"],["\u003cp\u003eExamples show reducing 1D and 2D array images using \u003ccode\u003eee.Reducer.sum()\u003c/code\u003e and \u003ccode\u003eee.Reducer.minMax()\u003c/code\u003e.\u003c/p\u003e\n"]]],["The `arrayReduce` method reduces elements within each array pixel of an image. It takes a `reducer`, a list of `axes` to reduce, and optionally, a `fieldAxis` for reducers with multiple inputs or outputs. The method collapses the specified axes to a length of 1. Example operations include summing elements in 1D or 2D arrays along specified axes or calculating the min/max with multiple outputs, requiring adjusted dimensions. The results are displayed as array pixels.\n"],null,["# ee.Image.arrayReduce\n\nReduces elements of each array pixel.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|---------------------------------------------------|---------|\n| Image.arrayReduce`(reducer, axes, `*fieldAxis*`)` | Image |\n\n| Argument | Type | Details |\n|---------------|------------------------|------------------------------------------------------------------------------------------------------------------|\n| this: `input` | Image | Input image. |\n| `reducer` | Reducer | The reducer to apply. |\n| `axes` | List | The list of array axes to reduce in each pixel. The output will have a length of 1 in all these axes. |\n| `fieldAxis` | Integer, default: null | The axis for the reducer's input and output fields. Only required if the reducer has multiple inputs or outputs. |\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// Create a 1D array image with length 6.\nvar arrayImg1D = ee.Image([0, 1, 2, 3, 4, 5]).toArray();\nprint('1D array image (pixel)', sampArrImg(arrayImg1D));\n// [0, 1, 2, 3, 4, 5]\n\n// Sum the elements in the 1D array image.\nvar arrayImg1Dsum = arrayImg1D.arrayReduce(ee.Reducer.sum(), [0]);\nprint('1D array image sum (pixel)', sampArrImg(arrayImg1Dsum));\n// [15]\n\n// Create a 2D array image with 2 rows and 3 columns.\nvar arrayImg2D = arrayImg1D.arrayReshape(ee.Image([2, 3]).toArray(), 2);\nprint('2D array image (pixel)', sampArrImg(arrayImg2D));\n// [[0, 1, 2],\n// [3, 4, 5]]\n\n// Sum 2D array image along 0-axis.\nvar arrayImg2DsumRow = arrayImg2D.arrayReduce(ee.Reducer.sum(), [0]);\nprint('2D array image sum rows (pixel)', sampArrImg(arrayImg2DsumRow));\n// [[3, 5, 7]]\n\n// Sum 2D array image along 1-axis.\nvar arrayImg2DsumCol = arrayImg2D.arrayReduce(ee.Reducer.sum(), [1]);\nprint('2D array image sum columns (pixel)', sampArrImg(arrayImg2DsumCol));\n// [[3],\n// [12]]\n\n// Sum 2D array image 0-axis and 1-axis.\nvar arrayImg2DsumRowCol = arrayImg2D.arrayReduce(ee.Reducer.sum(), [0, 1]);\nprint('2D array image sum columns (pixel)', sampArrImg(arrayImg2DsumRowCol));\n// [[15]]\n\n// For reducers that provide several outputs (like minMax and percentile),\n// you need to ensure you have a dimension to hold the results. For instance,\n// if you want minMax for a 1D array, add a second dimension.\nvar arrayImg1Dto2D = arrayImg1D.toArray(1);\nprint('1D array image to 2D', sampArrImg(arrayImg1Dto2D));\n// [[0],\n// [1],\n// [2],\n// [3],\n// [4],\n// [5]]\n\n// Calculate min and max for 2D array, use the fieldAxis parameter.\nvar minMax1D = arrayImg1Dto2D.arrayReduce(ee.Reducer.minMax(), [0], 1);\nprint('1D array image minMax (pixel)', sampArrImg(minMax1D));\n// [[0, 5]]\n\n// If your array image is 2D and you want min and max, add a third dimension.\nvar arrayImg2Dto3D = arrayImg2D.toArray(2);\nprint('2D array image to 3D', sampArrImg(arrayImg2Dto3D));\n// [[[0], [1], [2]],\n// [[3], [4], [5]]]\n\n// Calculate min and max along the 0-axis, store results in 2-axis.\nvar minMax2D = arrayImg2Dto3D.arrayReduce(ee.Reducer.minMax(), [0], 2);\nprint('2D array image minMax (pixel)', sampArrImg(minMax2D));\n// [[[0, 3],\n// [1, 4],\n// [2, 5]]]\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# Create a 1D array image with length 6.\narray_img_1d = ee.Image([0, 1, 2, 3, 4, 5]).toArray()\nprint('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())\n# [0, 1, 2, 3, 4, 5]\n\n# Sum the elements in the 1D array image.\narray_img_1d_sum = array_img_1d.arrayReduce(ee.Reducer.sum(), [0])\nprint('1D array image sum (pixel):', samp_arr_img(array_img_1d_sum).getInfo())\n# [15]\n\n# Create a 2D array image with 2 rows and 3 columns.\narray_img_2d = array_img_1d.arrayReshape(ee.Image([2, 3]).toArray(), 2)\nprint('2D array image (pixel):', samp_arr_img(array_img_2d).getInfo())\n# [[0, 1, 2],\n# [3, 4, 5]]\n\n# Sum 2D array image along 0-axis.\narray_img_2d_sum_row = array_img_2d.arrayReduce(ee.Reducer.sum(), [0])\nprint(\n '2D array image sum rows (pixel):',\n samp_arr_img(array_img_2d_sum_row).getInfo()\n)\n# [[3, 5, 7]]\n\n# Sum 2D array image along 1-axis.\narray_img_2d_sum_col = array_img_2d.arrayReduce(ee.Reducer.sum(), [1])\nprint(\n '2D array image sum columns (pixel):',\n samp_arr_img(array_img_2d_sum_col).getInfo()\n)\n# [[3],\n# [12]]\n\n# Sum 2D array image 0-axis and 1-axis.\narray_img_2d_sum_row_col = array_img_2d.arrayReduce(ee.Reducer.sum(), [0, 1])\nprint(\n '2D array image sum columns (pixel):',\n samp_arr_img(array_img_2d_sum_row_col).getInfo()\n)\n# [[15]]\n\n# For reducers that provide several outputs (like minMax and percentile),\n# you need to ensure you have a dimension to hold the results. For instance,\n# if you want minMax for a 1D array, add a second dimension.\narray_img_1d_to_2d = array_img_1d.toArray(1)\nprint('1D array image to 2D:', samp_arr_img(array_img_1d_to_2d).getInfo())\n# [[0],\n# [1],\n# [2],\n# [3],\n# [4],\n# [5]]\n\n# Calculate min and max for 2D array, use the fieldAxis parameter.\nmin_max_1d = array_img_1d_to_2d.arrayReduce(ee.Reducer.minMax(), [0], 1)\nprint('1D array image minMax (pixel):', samp_arr_img(min_max_1d).getInfo())\n# [[0, 5]]\n\n# If your array image is 2D and you want min and max, add a third dimension.\narray_img_2d_to_3d = array_img_2d.toArray(2)\nprint('2D array image to 3D:', samp_arr_img(array_img_2d_to_3d).getInfo())\n# [[[0], [1], [2]],\n# [[3], [4], [5]]]\n\n# Calculate min and max along the 0-axis, store results in 2-axis.\nmin_max_2d = array_img_2d_to_3d.arrayReduce(ee.Reducer.minMax(), [0], 2)\nprint('2D array image minMax (pixel):', samp_arr_img(min_max_2d).getInfo())\n# [[[0, 3],\n# [1, 4],\n# [2, 5]]]\n```"]]