一、背景
最近需要提取青藏高原的遥感影像,师姐建议用GEE,遂开始学习。
二、参考文献
《GEE基础学习——影像集合裁剪》
《【GEE笔记2】数据整合Reducer/遍历循环.map》
《GEE 使用矢量裁剪影像》
三、代码
//这里的table是我上传的矢量范围文件,关于如何上传自己的矢量文件,上一篇有说明
//按掩膜提取的函数
function ExtractByMask(Image)
{
return Image.clip(roi)
}
//乘以factor的函数
function Multiply(Image)
{
return Image.multiply(0.02)
}
var roi=table.geometry() //获取矢量变量
Map.centerObject(roi,5) //设置地图的显示中心和显示图层级别
var LST_dataset=ee.ImageCollection("MODIS/061/MOD11A1") //获取MOD11A1产品合集
.filterDate('2002-01-01','2003-01-01') //筛选时间
.select('LST_Day_1km') //选择图层
.filterBounds(roi); //按矢量范围筛选
print(LST_dataset)
var LST_Multiply=LST_dataset.map(Multiply) //遍历影像,乘以0.02的转换参数
print(LST_Multiply)
var LST_ExtractByMask=LST_Multiply.map(ExtractByMask) //遍历影像,按掩膜提取
print('OK')
//设置显示图像的颜色,“RRGGBB”16进制
var color={
min:200,
max:350,
palette:[
'FFFFFF','CE7E45','DF923D','F1B555','FCD163','99B718','74A901',
'66A000','529400','3E8601','207401','056201','004C00','023B01',
'012E01','011D01','011301'
],
};
Map.addLayer(LST_ExtractByMask,color,'LST') //添加裁剪好的图层进行显示
结果图
四、注意事项
1、使用一个影像集合的数据,而且有想按照自己的研究区域进行裁剪,但发现很多时候直接再后面.clip()无法进行裁剪,那么很大程度上是应为影像集合的裁剪对应的是矢量集合的裁剪,而不是单张影像,所以会出现错误
2、可以这么说,我的需求是每张都要裁剪,而大多数博文的处理是选取集合中的最大值或中位数来组成一张影像,因此为了实现我的需求,可以进行迭代:先设计好函数,再用.map(函数)进行遍历