إشعار: يجب
إثبات أهلية جميع المشاريع غير التجارية المسجّلة لاستخدام Earth Engine قبل
15 أبريل 2025 من أجل الحفاظ على إمكانية الوصول إلى Earth Engine.
ee.Image.arrayAccum
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
تجمع عناصر كل بكسل في المصفوفة على طول المحور المحدّد، وذلك من خلال ضبط كل عنصر من عناصر بكسل مصفوفة النتائج على قيمة العناصر المخفَّضة في هذا البكسل على طول المحور المحدّد، وصولاً إلى الموضع الحالي على المحور، بما في ذلك هذا الموضع. يمكن استخدامها لإنشاء مجموع تراكمي أو تسلسل يتزايد بشكل منتظم أو غير ذلك.
الاستخدام | المرتجعات |
---|
Image.arrayAccum(axis, reducer) | صورة |
الوسيطة | النوع | التفاصيل |
---|
هذا: input | صورة | الصورة المدخَلة |
axis | عدد صحيح | المحور الذي سيتم إجراء عملية الجمع التراكمي على طوله. |
reducer | Reducer, default: null | دالة تقليل لتجميع القيم القيمة التلقائية هي 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 للحصول على معلومات حول واجهة برمجة التطبيقات Python واستخدام
geemap
للتطوير التفاعلي.
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]]
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 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```"]]