Google Earth Engine(GEE)——用10米分辨率土地分类数据进行土地面积计算出现错误

简介: Google Earth Engine(GEE)——用10米分辨率土地分类数据进行土地面积计算出现错误

错误:

FeatureCollection (Error)

Error in map(ID=0): Feature, argument 'geometry': Invalid type. Expected type: Geometry. Actual type: Feature.

image.png

 

原始代码:

var boten = ee.FeatureCollection("projects/ee-suraj7-28/assets/Boten");
var boten_shp = boten.geometry()
var Lunagprabang = ee.FeatureCollection("projects/ee-suraj7-28/assets/Luangprabang");
var Lunagprabang_shp = Lunagprabang.geometry()
var Vientiana = ee.FeatureCollection("projects/ee-suraj7-28/assets/Vientiana");
var Vientiana_shp = Vientiana.geometry()
// Buffer//
var boten_buffer=boten_shp.buffer(20000)
var Lunagprabang_buffer=Lunagprabang_shp.buffer(20000)
var Vientiana_buffer=Vientiana_shp.buffer(20000)
var features = ee.FeatureCollection([
  ee.Feature(boten_buffer, {label: 'Boten'}),
  ee.Feature(Lunagprabang_buffer, {label: 'Lunagprabang'}),
  ee.Feature(Vientiana_buffer, {label: 'vientiana'}),
])
print(features)
var years = ee.List.sequence(2021,2022)
var calculateClassAreaByYear = features.map(function(feature){
  var dw2=years.map(function(year){
  var dw1= ee.ImageCollection('GOOGLE/DYNAMICWORLD/V1')
              .filterDate(ee.Date.fromYMD(year, 1, 1), ee.Date.fromYMD(year, 12, 1)).filter(ee.Filter.bounds(feature)).select('label').reduce(ee.Reducer.mode()).eq(6);
              return dw1
              })
              return ee.FeatureCollection(dw2)
    })
print(calculateClassAreaByYear.flatten())

我们这里可以看到提示期待的类型不对,需求的类型是几何图形,但是这里给的确实矢量,所以我们需要再后面加一个.geometry()

修改后的代码:

var years = ee.List.sequence(2021,2022)
var calculateClassAreaByYear = features.map(function(feature){
  var dw2=years.map(function(year){
  var dw1= ee.ImageCollection('GOOGLE/DYNAMICWORLD/V1')
              .filterDate(ee.Date.fromYMD(year, 1, 1), ee.Date.fromYMD(year, 12, 31)).filter(ee.Filter.bounds(feature.geometry())).select('label').reduce(ee.Reducer.mode()).eq(6);
  var areaImage = dw1.multiply(ee.Image.pixelArea())    
  var area = areaImage.reduceRegion({
  reducer: ee.Reducer.sum(),
  geometry: feature.geometry(),
  scale: 10,
  maxPixels: 1e10
  })

image.png

这里有一个矢量面积的计算函数:

ee.Image.pixelArea()

Generate an image in which the value of each pixel is the area of that pixel in square meters. The returned image has a single band called "area."

ee.Image.pixelArea()

生成一个图像,其中每个像素的值是该像素的面积,单位是平方米。返回的图像有一个称为 "面积 "的单带。


相关文章
|
6月前
|
数据可视化 定位技术 Sentinel
如何用Google Earth Engine快速、大量下载遥感影像数据?
【2月更文挑战第9天】本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间范围、空间范围的遥感影像数据(包括Landsat、Sentinel等)的方法~
2476 1
如何用Google Earth Engine快速、大量下载遥感影像数据?
|
6月前
|
机器学习/深度学习 算法 数据可视化
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
基于Google Earth Engine云平台构建的多源遥感数据森林地上生物量AGB估算模型含生物量模型应用APP
222 0
|
6月前
|
数据可视化 数据挖掘 数据建模
R语言指数平滑法holt-winters分析谷歌Google Analytics博客用户访问时间序列数据
R语言指数平滑法holt-winters分析谷歌Google Analytics博客用户访问时间序列数据
|
6月前
|
编解码 人工智能 算法
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
Google Earth Engine——促进森林温室气体报告的全球时间序列数据集
88 0
|
6月前
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
143 0
|
6月前
|
编解码
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
Open Google Earth Engine(OEEL)——matrixUnit(...)中产生常量影像
76 0
|
6月前
Google Earth Engine(GEE)——导出指定区域的河流和流域范围
Google Earth Engine(GEE)——导出指定区域的河流和流域范围
262 0
|
6月前
|
传感器 编解码 数据处理
Open Google Earth Engine(OEEL)——哨兵1号数据的黑边去除功能附链接和代码
Open Google Earth Engine(OEEL)——哨兵1号数据的黑边去除功能附链接和代码
127 0
|
6月前
Google Earth Engine(GEE)——当加载图表的时候出现错误No features contain non-null values of “system:time_start“.
Google Earth Engine(GEE)——当加载图表的时候出现错误No features contain non-null values of “system:time_start“.
124 0
|
6月前
|
编解码 定位技术
Google Earth Engine(GEE)——导出后的影像像素不同于原始Landsat影像的分辨率(投影差异)
Google Earth Engine(GEE)——导出后的影像像素不同于原始Landsat影像的分辨率(投影差异)
161 0

热门文章

最新文章