ee.Image.arrayAccum

Mengakumulasi elemen setiap piksel array di sepanjang sumbu yang diberikan, dengan menyetel setiap elemen piksel array hasil ke pengurangan elemen dalam piksel tersebut di sepanjang sumbu yang diberikan, hingga dan termasuk posisi saat ini pada sumbu. Dapat digunakan untuk membuat jumlah kumulatif, urutan yang meningkat secara monoton, dll.

PenggunaanHasil
Image.arrayAccum(axis, reducer)Gambar
ArgumenJenisDetail
ini: inputGambarGambar input.
axisBilangan BulatSumbu yang digunakan untuk melakukan jumlah kumulatif.
reducerPengurang, default: nullPengurangan untuk mengakumulasi nilai. Defaultnya adalah SUM, untuk menghasilkan jumlah kumulatif setiap vektor di sepanjang sumbu yang diberikan.

Contoh

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([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]]

Penyiapan Python

Lihat halaman Lingkungan Python untuk mengetahui informasi tentang Python API dan penggunaan geemap untuk pengembangan interaktif.

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]]