You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Google Earth Engine中获取栅格统计表格(类似R的freq(raster)功能)

Google Earth Engine 分类栅格像素值频次统计方案

GEE 没有直接对应 R 中freq(raster)的封装函数,可以通过ee.Image.reduceRegion结合频率直方图 reducer 实现,核心调用ee.Reducer.frequencyHistogram()即可返回每个唯一像素值对应的计数,完全匹配freq的功能需求。

实现代码示例

// 示例:统计MODIS土地覆盖产品的分类值频次,可替换为自定义分类栅格
var classifiedImg = ee.Image('MODIS/061/MCD12Q1/2021_01_01').select('LC_Type1');
// 定义统计区域,这里用栅格自身地理范围做示例,可替换为自定义ROI
var statsRegion = classifiedImg.geometry();

// 执行频次统计
var freqStats = classifiedImg.reduceRegion({
  reducer: ee.Reducer.frequencyHistogram(),
  geometry: statsRegion,
  scale: 500, // 对应栅格原生分辨率,可按需调整
  maxPixels: 1e13 // 数值根据统计范围大小调整,避免像素超限报错
});

// 打印统计结果
print('分类值频次统计结果', freqStats.get('LC_Type1'));

结果说明

  • 输出为字典格式,键为分类像素值,值为对应像素出现的总次数,和R中freq(raster)返回的结果结构完全匹配
  • 如果需要统计多波段的频次,可对每个波段单独调用该方法,或者使用ee.Reducer.frequencyHistogram().repeat()适配多波段输入

常见问题处理

  • 若出现像素超限报错:适当调大scale参数降低统计分辨率,或者拆分统计区域分批计算后再合并结果
  • 若栅格是浮点型分类值:可先通过ee.Image.round()转为整型后再统计,避免浮点精度问题导致同一分类被拆分为多个值

内容的提问来源于stack exchange,提问作者Ezra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 10:09:03