GEE使用

【GEE】Google Earth Engine(GEE)注册详细教程&无需教育邮箱-CSDN博客

数据下载代码

// Map the function over 3 months of data and take the median.
// Load Landsat-8 surface reflectance data.

var landsat8 = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2")
              .filterBounds(table)
              .filterDate('2023-10-1','2024-1-15')
              // Pre-filter to get less cloudy granules.
              .filter(ee.Filter.lte('CLOUD_COVER',10))
              .median()
              .clip(table);

print(landsat8);// visualize the datasets
var rgbVis = {
  min: 8400,
  max: 15000,
  gamma:1.5,
  bands: ['SR_B4', 'SR_B3', 'SR_B2'],
};

Map.addLayer(landsat8,rgbVis,'landsat8');
var imgselect = landsat8.select('SR_B2','SR_B3','SR_B4','SR_B5', 'ST_B10');
//Export image to google drive and then download

Export.image.toDrive({
  image:imgselect,
  description:'s4',
  scale:30,
  region:table,
  folder:"result",
  crs: "EPSG:4326",
  maxPixels: 1e13
});


GEE使用_第1张图片

摄影时间代码

Map.setCenter(113.07676218077592, 34.04984227876722, 6)
//选泽河南省一个点为地图显示中心
var bounds = Map.getBounds(true)
var scale = Map.getScale()
var images = ee.ImageCollection("LANDSAT/LC08/C02/T1_L2")
.select([5,4,2])
.filterBounds(table)
.filterDate('2023-12-1','2024-1-1')
var text = require('users/gena/packages:text')
// 呈现带注释的图像
function annotate(images) {
  
  return images.map(function(i) {
    var geom = i.select(0).geometry()
    var center = ee.List(geom.centroid().coordinates())
 
 
    //  在图像周围添加边缘   
    var edge = ee.Image(0).toByte().paint(geom, 1, 2)
    edge = edge.mask(edge)
      .visualize({palette:['cccc00'], opacity: 0.9})
 
 
    // 定义文本属性
    var props = { textColor: '000000', outlineColor: 'ffffff', outlineWidth: 2.5, outlineOpacity: 0.6}
  
    // 绘制拍摄时间及云量
    var pos = translate(center, 0.7, -0.4)
    var s = ee.String(i.get('DATE_ACQUIRED'))
    var textDate = text.draw(s, pos, scale, props)
  
    pos = translate(center, 0.7, -0.1)
    s = ee.String(i.get('SCENE_CENTER_TIME')).slice(0, 5)
    var textTime = text.draw(s, pos, scale, props)
 

    
    return ee.ImageCollection([edge, textDate, textTime]).mosaic() // merge results
  }) 
}
 
 
// 转换dx, dy点的坐标
function translate(pt, dx, dy) {
  var x1 = ee.Number(pt.get(0)).subtract(dx)
  var y1 = ee.Number(pt.get(1)).subtract(dy)
  
  return ee.Geometry.Point(ee.List([x1, y1]))
}
//在地图上显示
Map.addLayer(images, {}, '图像')
Map.addLayer(annotate(images), {}, '文本')

GEE使用_第2张图片

2023.10-15-10.31

GEE使用_第3张图片

 计算温度

GEE学习篇:Landsat地表温度反演的方法-CSDN博客

【GEE】基于GEE-Landsat8数据集地表温度反演(LST热度计算)_gee温度繁衍-CSDN博客

var roi = table //感兴趣的区域信息
var style_set = {color:"red",fillColor:"00000000"}; //设置地图中要素的颜色和填充颜色
Map.addLayer(roi.style(style_set),{},"shape") //使用之前定义的样式集将roi添加到地图中。该地图层默认使用几何形状(例如多边形)来表示区域
Map.centerObject(roi,10) //将地图中心设置为roi对象,并设置缩放级别为10
 
//本示例演示了使用Landsat 8 Collection 2,Level 2的QA_PIXEL波段(CFMask)来屏蔽不需要的像素。
 
//定义函数maskL8sr,接受一个图像作为输入,并对图像进行处理
function maskL8sr(image) {
  // Bit 0 - Fill
  // Bit 1 - Dilated Cloud
  // Bit 2 - Cirrus
  // Bit 3 - Cloud
  // Bit 4 - Cloud Shadow
  var qaMask = image.select('QA_PIXEL').bitwiseAnd(parseInt('11111', 2)).eq(0);
  //从输入图像中选择QA_PIXEL波段,使用位运算和掩码来识别填充、云、云影等像素
  var saturationMask = image.select('QA_RADSAT').eq(0); //从输入图像中选择QA_RADSAT波段,并识别未饱和的像素。
  
  // 将缩放因子应用于适当的频带
  var opticalBands = image.select('SR_B.').multiply(0.0000275).add(-0.2);
  // 从输入图像中选择光学波段,并应用归一化处理。
  var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0);
  // 从输入图像中选择热红外波段,并应用归一化处理。
 
  // 用缩放的带替换原始带并应用掩码。
  return image.addBands(opticalBands, null, true)
      .addBands(thermalBands, null, true)
      .updateMask(qaMask)
      .updateMask(saturationMask);
}
 
 
// 将函数映射到一年的数据上
var collection = ee.ImageCollection('LANDSAT/LC08/C02/T1_L2')
                     .filterDate('2023-10-15','2023-10-31')
                     .map(maskL8sr)
                     .median() //中值合成
                     .clip(roi); //裁剪
 
// Display the results.
// Map.setCenter(-4.52, 40.29, 7);  // Iberian Peninsula
 
// print(dataset)
var img = collection.select("ST_B10") //从处理后的图像集合中选择热红外波段('ST_B10')
var lst = img.expression(
    'B1-273.15',
    {
        B1:img.select('ST_B10'), 
    }); //对选择的热红外波段进行计算表达式操作
    
print("LST直方图", ui.Chart.image.histogram(lst, roi, 100, 258)) //打印直方图,显示热红外波段处理后的数据分布情况
print(lst) //打印热红外波段处理后的数据
 
Map.addLayer(lst, {'min':2,'max':49,'palette':["eff3ff","c6dbef","9ecae1","6baed6","4292c6","2171b5","084594",
"fff5f0","fee0d2","fcbba1","fc9272","fb6a4a","ef3b2c","cb181d","99000d"]}, 'lst')
// 将处理后的热红外波段数据添加到地图上,并设定显示范围和颜色映射
 
function exportImage(image, roi, fileName) {  
    Export.image.toDrive({  
       image: image,  
       description: "Landsat8"+fileName,  
       fileNamePrefix: fileName,  //文件命名
       folder: "Landsat 8",  //保存的文件夹
       scale: 30,  //分辨率
       region: roi,  //研究区
       maxPixels: 1e13,  //最大像元素
       crs: "EPSG:4326"  //设置投影
   });  
 }
exportImage(lst,roi,"lst")

GEE使用_第4张图片

GEE使用_第5张图片

你可能感兴趣的:(前端)