Gửi ý kiến phản hồi
ee.Image.arrayReduce
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Giảm các phần tử của từng pixel mảng.
Cách sử dụng Giá trị trả về Image. arrayReduce (reducer, axes, fieldAxis )
Hình ảnh
Đối số Loại Thông tin chi tiết this: input
Hình ảnh Hình ảnh đầu vào. reducer
Bộ giảm tốc Hàm rút gọn cần áp dụng. axes
Danh sách Danh sách các trục mảng cần giảm trong mỗi pixel. Đầu ra sẽ có độ dài là 1 trên tất cả các trục này. fieldAxis
Số nguyên, mặc định: null Trục cho các trường đầu vào và đầu ra của bộ giảm. Chỉ bắt buộc nếu trình giảm có nhiều đầu vào hoặc đầu ra.
Ví dụ
Trình soạn thảo mã (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]]]
Thiết lập Python
Hãy xem trang
Môi trường Python để biết thông tin về API Python và cách sử dụng geemap
cho quá trình phát triển tương tác.
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]]]
Gửi ý kiến phản hồi
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0 . Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers . Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-26 UTC.
Bạn muốn chia sẻ thêm với chúng tôi?
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-26 UTC."],[[["`Image.arrayReduce()` reduces elements of each array pixel along the specified axes using a provided reducer."],["It 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."],["The output image has a length of 1 in all reduced axes."],["For reducers with multiple outputs, you may need to add dimensions to the input array to store the results."],["Examples show reducing 1D and 2D array images using `ee.Reducer.sum()` and `ee.Reducer.minMax()`."]]],["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"]]