Earth Engine 将推出
非商业配额层级 ,以保护共享计算资源并确保为所有人提供可靠的性能。所有非商业项目都需要在
2026 年 4 月 27 日 之前选择配额层级,否则系统会默认使用 Community 层级。层级配额将于
2026 年 4 月 27 日 对所有项目生效(无论层级选择日期如何)。
了解详情。
Google uses AI technology to translate content into your preferred language. AI translations can contain errors.
发送反馈
ee.Image.arrayReduce
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
减少每个数组像素的元素。
用法 返回 Image. arrayReduce (reducer, axes, fieldAxis )图片
参数 类型 详细信息 此:input 图片 输入图片。 reducer缩减器 要应用的缩减器。 axes列表 要在每个像素中缩减的数组轴的列表。输出在所有这些轴上的长度都为 1。 fieldAxis整数,默认值:null reducer 的输入和输出字段的轴。仅当 reducer 有多个输入或输出时才需要。
示例
代码编辑器 (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 设置
如需了解 Python API 和如何使用 geemap 进行交互式开发,请参阅
Python 环境 页面。
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 ()
display ( '1D array image (pixel):' , samp_arr_img ( array_img_1d ))
# [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 ])
display ( '1D array image sum (pixel):' , samp_arr_img ( array_img_1d_sum ))
# [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 )
display ( '2D array image (pixel):' , samp_arr_img ( array_img_2d ))
# [[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 ])
display (
'2D array image sum rows (pixel):' ,
samp_arr_img ( array_img_2d_sum_row )
)
# [[3, 5, 7]]
# Sum 2D array image along 1-axis.
array_img_2d_sum_col = array_img_2d . arrayReduce ( ee . Reducer . sum (), [ 1 ])
display (
'2D array image sum columns (pixel):' ,
samp_arr_img ( array_img_2d_sum_col )
)
# [[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 ])
display (
'2D array image sum columns (pixel):' ,
samp_arr_img ( array_img_2d_sum_row_col )
)
# [[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 )
display ( '1D array image to 2D:' , samp_arr_img ( array_img_1d_to_2d ))
# [[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 )
display ( '1D array image minMax (pixel):' , samp_arr_img ( min_max_1d ))
# [[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 )
display ( '2D array image to 3D:' , samp_arr_img ( array_img_2d_to_3d ))
# [[[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 )
display ( '2D array image minMax (pixel):' , samp_arr_img ( min_max_2d ))
# [[[0, 3],
# [1, 4],
# [2, 5]]]
发送反馈
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可 获得了许可,并且代码示例已根据 Apache 2.0 许可 获得了许可。有关详情,请参阅 Google 开发者网站政策 。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-10-30。
需要向我们提供更多信息?
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["没有我需要的信息","missingTheInformationINeed","thumb-down"],["太复杂/步骤太多","tooComplicatedTooManySteps","thumb-down"],["内容需要更新","outOfDate","thumb-down"],["翻译问题","translationIssue","thumb-down"],["示例/代码问题","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2025-10-30。"],[],["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"]]