Google Earth Engine中Feature与Geometry类型错误问题求助
修复Google Earth Engine中Landsat影像叠加的类型错误
错误原因是clip()方法要求传入Geometry类型参数,但你传入的Cent_Amsterdam是ee.Feature对象,类型不匹配导致报错。filterBounds()方法支持Feature对象,所以这部分无需修改,只需要调整clip()的参数即可。
修复方案一:直接使用Geometry对象(不需要Feature属性时)
如果不需要保留Feature的属性信息,直接将Cent_Amsterdam定义为Geometry类型:
// 直接使用原始geometry(假设geometry是Geometry类型) var Cent_Amsterdam = geometry; Map.addLayer(Cent_Amsterdam, {}, 'Cent_Amsterdam'); Map.centerObject(Cent_Amsterdam, 10); var first = ee.ImageCollection('LANDSAT/LC08/CO2/T1_L2') .filterDate('2019-01-01', '2019-12-31') .filterBounds(Cent_Amsterdam) .sort('CLOUD_COVER') .first(); // 传入Geometry类型参数到clip Map.addLayer(first.clip(Cent_Amsterdam), {bands: ['SR_B4', 'SR_B3', 'SR_B2'], min: 7000, max: 15000});
修复方案二:保留Feature对象,提取其Geometry(需要Feature属性时)
如果需要保留Cent_Amsterdam作为Feature对象,在调用clip()时通过.geometry()方法提取其几何信息:
var Cent_Amsterdam = ee.Feature(geometry); Map.addLayer(Cent_Amsterdam, {}, 'Cent_Amsterdam'); Map.centerObject(Cent_Amsterdam, 10); var first = ee.ImageCollection('LANDSAT/LC08/CO2/T1_L2') .filterDate('2019-01-01', '2019-12-31') .filterBounds(Cent_Amsterdam) .sort('CLOUD_COVER') .first(); // 提取Feature的Geometry传入clip Map.addLayer(first.clip(Cent_Amsterdam.geometry()), {bands: ['SR_B4', 'SR_B3', 'SR_B2'], min: 7000, max: 15000});
内容的提问来源于stack exchange,提问作者relayyyyy
相关产品推荐
相关产品推荐

