Google Earth Engine (GEE)——如何统计指定区域的像素数量和总量

很多时候我们想统计研究区的像素数量,但是用错了函数,本来用ee.reducer.sum(), ee.reducer.count()混淆使用,我们发现有很多人要统计像素数量,但却统计成了总量,所以我们首先要看下两个函数如何使用:

ee.Reducer.sum()

Returns a Reducer that computes the (weighted) sum of its inputs.

No arguments.

Returns: Reducer

ee.Reducer.count()

Returns a Reducer that computes the number of non-null inputs.

No arguments.

Returns: Reducer

reduceRegion(reducer, geometryscalecrscrsTransformbestEffortmaxPixelstileScale)

Apply a reducer to all the pixels in a specific region.

Either the reducer must have the same number of inputs as the input image has bands, or it must have a single input and will be repeated for each band.

Returns a dictionary of the reducer's outputs.

Arguments:

this:image (Image):

The image to reduce.

reducer (Reducer):

The reducer to apply.

geometry (Geometry, default: null):

The region over which to reduce data. Defaults to the footprint of the image's first band.

scale (Float, default: null):

A nominal scale in meters of the projection to work in.

crs (Projection, default: null):

The projection to work in. If unspecified, the projection of the image's first band is used. If specified in addition to scale, rescaled to the specified scale.

crsTransform (List, default: null):

The list of CRS transform values. This is a row-major ordering of the 3x2 transform matrix. This option is mutually exclusive with 'scale', and replaces any transform already set on the projection.

bestEffort (Boolean, default: false):

If the polygon would contain too many pixels at the given scale, compute and use a larger scale which would allow the operation to succeed.

maxPixels (Long, default: 10000000):

The maximum number of pixels to reduce.

tileScale (Float, default: 1):

A scaling factor between 0.1 and 16 used to adjust aggregation tile size; setting a larger tileScale (e.g. 2 or 4) uses smaller tiles and may enable computations that run out of memory with the default.

Returns: Dictionary

代码:

var image = ee.Image("projects/ee-cananhamzaolu/assets/Sr_connect0");

Map.addLayer(image,{}, 'Grayscale_Otsu')
Map.centerObject(image);
var s=image.selfMask().reduceRegion({
            reducer: ee.Reducer.sum(),
            scale:100
    })
print(s)


var s = image.selfMask().reduceRegion({
  reducer: ee.Reducer.count(),
  maxPixels: 1e16,
});
print(s);

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此星光明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值