公告:所有在
2025 年 4 月 15 日之前注册使用 Earth Engine 的非商业项目都必须
验证是否符合非商业性质的资格条件,才能继续使用 Earth Engine。
ee.Image.arrayAccum
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
通过将结果数组像素的每个元素设置为相应像素中沿指定轴的元素(包括轴上的当前位置)的缩减值,沿指定轴累积每个数组像素的元素。可用于生成累计和、单调递增序列等。
用法 | 返回 |
---|
Image.arrayAccum(axis, reducer) | 图片 |
参数 | 类型 | 详细信息 |
---|
此:input | 图片 | 输入图片。 |
axis | 整数 | 执行累计总和运算的轴。 |
reducer | 缩减器,默认值:null | 用于累积值的 reducer。默认值为 SUM,用于生成每个向量沿指定轴的累计和。 |
示例
代码编辑器 (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([1, 2, 3]).toArray();
print('1D array image (pixel)', sampArrImg(arrayImg1D));
// [1, 2, 3]
// Perform accumulation procedures along axes using ee.Reducer functions.
// Here we calculate the cumulative sum along the 0-axis for a 1D array.
var accumSum1DAx0 = arrayImg1D.arrayAccum(0, ee.Reducer.sum());
print('Cumulative sum along 0-axis', sampArrImg(accumSum1DAx0));
// [1, 3, 6]
// Create a 2D 3x3 array image.
var arrayImg2D = ee.Image([1, 2, 3, 4, 5, 6, 7, 8, 9]).toArray()
.arrayReshape(ee.Image([3, 3]).toArray(), 2);
print('2D 3x3 array image (pixel)', sampArrImg(arrayImg2D));
// [[1, 2, 3],
// [4, 5, 6],
// [7, 8, 9]]
// Calculate the cumulative sum along the 0-axis for a 2D array.
var accumSum2DAx0 = arrayImg2D.arrayAccum(0, ee.Reducer.sum());
print('Cumulative sum along 0-axis', sampArrImg(accumSum2DAx0));
// [[ 1, 2, 3],
// [ 5, 7, 9],
// [12, 15, 18]]
// Calculate the cumulative sum along the 1-axis for a 2D array.
var accumSum2DAx1 = arrayImg2D.arrayAccum(1, ee.Reducer.sum());
print('Cumulative sum along 1-axis', sampArrImg(accumSum2DAx1));
// [[1, 3, 6],
// [4, 9, 15],
// [7, 15, 24]]
Python 设置
如需了解 Python API 和如何使用 geemap
进行交互式开发,请参阅
Python 环境页面。
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([1, 2, 3]).toArray()
print('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())
# [1, 2, 3]
# Perform accumulation procedures along axes using ee.Reducer functions.
# Here we calculate the cumulative sum along the 0-axis for a 1D array.
accum_sum_1d_ax0 = array_img_1d.arrayAccum(0, ee.Reducer.sum())
print('Cumulative sum along 0-axis:', samp_arr_img(accum_sum_1d_ax0).getInfo())
# [1, 3, 6]
# Create a 2D 3x3 array image.
array_img_2d = ee.Image([1, 2, 3, 4, 5, 6, 7, 8, 9]).toArray().arrayReshape(
ee.Image([3, 3]).toArray(),
2)
print('2D 3x3 array image (pixel):', samp_arr_img(array_img_2d).getInfo())
# [[1, 2, 3],
# [4, 5, 6],
# [7, 8, 9]]
# Calculate the cumulative sum along the 0-axis for a 2D array.
accum_sum_2d_ax0 = array_img_2d.arrayAccum(0, ee.Reducer.sum())
print('Cumulative sum along 0-axis:', samp_arr_img(accum_sum_2d_ax0).getInfo())
# [[ 1, 2, 3],
# [ 5, 7, 9],
# [12, 15, 18]]
# Calculate the cumulative sum along the 1-axis for a 2D array.
accum_sum_2d_ax1 = array_img_2d.arrayAccum(1, ee.Reducer.sum())
print('Cumulative sum along 1-axis:', samp_arr_img(accum_sum_2d_ax1).getInfo())
# [[1, 3, 6],
# [4, 9, 15],
# [7, 15, 24]]
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-26。
[null,null,["最后更新时间 (UTC):2025-07-26。"],[[["\u003cp\u003e\u003ccode\u003eImage.arrayAccum()\u003c/code\u003e calculates the cumulative reduction of elements within each pixel of an array image along a specified axis.\u003c/p\u003e\n"],["\u003cp\u003eIt uses a reducer (defaulting to sum) to determine how elements are accumulated, producing a new array image.\u003c/p\u003e\n"],["\u003cp\u003eThe axis argument specifies the direction of accumulation (0 for rows, 1 for columns in 2D arrays).\u003c/p\u003e\n"],["\u003cp\u003eThis function is useful for generating cumulative sums, monotonically increasing sequences, and other cumulative calculations within array images.\u003c/p\u003e\n"],["\u003cp\u003eIt's applicable to both 1D and multidimensional array images in Earth Engine.\u003c/p\u003e\n"]]],[],null,["# ee.Image.arrayAccum\n\nAccumulates elements of each array pixel along the given axis, by setting each element of the result array pixel to the reduction of elements in that pixel along the given axis, up to and including the current position on the axis. May be used to make a cumulative sum, a monotonically increasing sequence, etc.\n\n\u003cbr /\u003e\n\n| Usage | Returns |\n|---------------------------------------|---------|\n| Image.arrayAccum`(axis, `*reducer*`)` | Image |\n\n| Argument | Type | Details |\n|---------------|------------------------|------------------------------------------------------------------------------------------------------------------|\n| this: `input` | Image | Input image. |\n| `axis` | Integer | Axis along which to perform the cumulative sum. |\n| `reducer` | Reducer, default: null | Reducer to accumulate values. Default is SUM, to produce the cumulative sum of each vector along the given axis. |\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([1, 2, 3]).toArray();\nprint('1D array image (pixel)', sampArrImg(arrayImg1D));\n// [1, 2, 3]\n\n// Perform accumulation procedures along axes using ee.Reducer functions.\n// Here we calculate the cumulative sum along the 0-axis for a 1D array.\nvar accumSum1DAx0 = arrayImg1D.arrayAccum(0, ee.Reducer.sum());\nprint('Cumulative sum along 0-axis', sampArrImg(accumSum1DAx0));\n// [1, 3, 6]\n\n// Create a 2D 3x3 array image.\nvar arrayImg2D = ee.Image([1, 2, 3, 4, 5, 6, 7, 8, 9]).toArray()\n .arrayReshape(ee.Image([3, 3]).toArray(), 2);\nprint('2D 3x3 array image (pixel)', sampArrImg(arrayImg2D));\n// [[1, 2, 3],\n// [4, 5, 6],\n// [7, 8, 9]]\n\n// Calculate the cumulative sum along the 0-axis for a 2D array.\nvar accumSum2DAx0 = arrayImg2D.arrayAccum(0, ee.Reducer.sum());\nprint('Cumulative sum along 0-axis', sampArrImg(accumSum2DAx0));\n// [[ 1, 2, 3],\n// [ 5, 7, 9],\n// [12, 15, 18]]\n\n// Calculate the cumulative sum along the 1-axis for a 2D array.\nvar accumSum2DAx1 = arrayImg2D.arrayAccum(1, ee.Reducer.sum());\nprint('Cumulative sum along 1-axis', sampArrImg(accumSum2DAx1));\n// [[1, 3, 6],\n// [4, 9, 15],\n// [7, 15, 24]]\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([1, 2, 3]).toArray()\nprint('1D array image (pixel):', samp_arr_img(array_img_1d).getInfo())\n# [1, 2, 3]\n\n# Perform accumulation procedures along axes using ee.Reducer functions.\n# Here we calculate the cumulative sum along the 0-axis for a 1D array.\naccum_sum_1d_ax0 = array_img_1d.arrayAccum(0, ee.Reducer.sum())\nprint('Cumulative sum along 0-axis:', samp_arr_img(accum_sum_1d_ax0).getInfo())\n# [1, 3, 6]\n\n# Create a 2D 3x3 array image.\narray_img_2d = ee.Image([1, 2, 3, 4, 5, 6, 7, 8, 9]).toArray().arrayReshape(\n ee.Image([3, 3]).toArray(),\n 2)\nprint('2D 3x3 array image (pixel):', samp_arr_img(array_img_2d).getInfo())\n# [[1, 2, 3],\n# [4, 5, 6],\n# [7, 8, 9]]\n\n# Calculate the cumulative sum along the 0-axis for a 2D array.\naccum_sum_2d_ax0 = array_img_2d.arrayAccum(0, ee.Reducer.sum())\nprint('Cumulative sum along 0-axis:', samp_arr_img(accum_sum_2d_ax0).getInfo())\n# [[ 1, 2, 3],\n# [ 5, 7, 9],\n# [12, 15, 18]]\n\n# Calculate the cumulative sum along the 1-axis for a 2D array.\naccum_sum_2d_ax1 = array_img_2d.arrayAccum(1, ee.Reducer.sum())\nprint('Cumulative sum along 1-axis:', samp_arr_img(accum_sum_2d_ax1).getInfo())\n# [[1, 3, 6],\n# [4, 9, 15],\n# [7, 15, 24]]\n```"]]