GEE基于Landsat 8的任意交互点击生成光谱曲线

//筛选Landsat8影像云覆盖最少影像

var cm = ee.Geometry.Point(121.5,31.65);

Map.centerObject(cm,12);
// 选择一幅遥感影像数据集,并添加到地图中

 var l8_col = ee.ImageCollection("LANDSAT/LC08/C01/T1_RT_TOA");

var image = ee.Image(l8_col.filterBounds(cm)
                       .filterDate("2020-08-01", "2020-09-01")
                       .filter(ee.Filter.lt('CLOUD_COVER', 20))
                       .first()).clip(chongming);
                       


var COLOR = {
  PARK: 'ff0000',//红色
  FARM: '0000ff',//蓝色
  URBAN: '00ff00'//绿色
};


var bands = ['B2', 'B3', 'B4', 'B5', 'B6', 'B7'];
//显示地图
   Map.addLayer(image, {bands:["B4", "B3", "B2"], max:0.3}, "raw_img"); 
   
// 点击事件 get coordinate
Map.onClick(function(coords) {
  var lon = coords.lon;
  var lat = coords.lat;
  print("Clicked point coordinates: ", lon, lat);
  
  // 点要素
var park = ee.Feature(
    ee.Geometry.Point(lon,lat), {'label': 'park'});


// 选择影像1-7波段
var mexicoImage = image.select(['B[1-7]']);

//绘制反射率曲线,设置图表内容
var bandChart = ui.Chart.image.regions({
  image: mexicoImage,
  regions: park,
  scale: 30,                //表示像元分辨率                   
  seriesProperty: 'label'   //设置图例名称
});
//设置图标类型为折线图
bandChart.setChartType('LineChart');
//设置图标属性,标题名,坐标轴名,线宽点大小,线颜色
bandChart.setOptions({
  title: 'Landsat 8 TOA band values ',
  hAxis: {
    title: 'Band'
  },
  vAxis: {
    title: 'Reflectance'
  },
  lineWidth: 1,
  pointSize: 4,
  series: {
    0: {color: COLOR.PARK},
    
  }
});

// 设置点x轴间隔
var wavelengths = [.44, .48, .56, .65, .86, 1.61, 2.2];
//设置图标内容
var spectraChart = ui.Chart.image.regions({
  image: mexicoImage,
  regions: park,
  scale: 30,
  seriesProperty: 'label',
  xLabels: wavelengths
});
spectraChart.setChartType('LineChart');
spectraChart.setOptions({
  title: 'Landsat 8 TOA spectra ',
  hAxis: {
    title: 'Wavelength (micrometers)'
  },
  vAxis: {
    title: 'Reflectance'
  },
  lineWidth: 1,
  pointSize: 4,
  series: {
    0: {color: COLOR.PARK},
    1: {color: COLOR.FARM},
    2: {color: COLOR.URBAN}
  }
});
//图表,影像显示
print(bandChart);
print(spectraChart);
Map.addLayer(park, {color: COLOR.PARK});

});

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要基于Google Earth Engine (GEE) 计算Landsat 8 的地表温度(LST)数据,可以按照以下步骤进行操作。 首先,登录GEE的网站,在代码编辑器中选择一个新的脚本。接下来,在脚本中输入以下代码来导入Landsat 8数据。 ```javascript var imageCollection = ee.ImageCollection('LANDSAT/LC08/C01/T1_8DAY_LST'); var filteredCollection = imageCollection.filterDate('2019-01-01', '2019-12-31'); var selectedImage = filteredCollection.median(); // 添加选定的图像到地图中 Map.addLayer(selectedImage, {min: 13000, max: 16000, palette: ['white', 'yellow', 'red']}, 'LST'); ``` 在这段代码中,首先通过ee.ImageCollection方法导入了Landsat 8的地表温度数据集,并用filterDate方法筛选了指定时间范围内的数据。然后,通过median方法选择了这段时间内的中值图像,并用Map.addLayer方法将其添加到地图中。 接下来,可以通过ee.Algorithms.Landsat.simpleCloudScore() 方法来去除云,并使用ee.Algorithms.Landsat.simpleLST() 方法计算地表温度。 ```javascript var cloudMasked = ee.Algorithms.Landsat.simpleCloudScore(selectedImage).select('BQA').lt(25); var lst = ee.Algorithms.Landsat.simpleLST({image: selectedImage, emissivity: 0.95, cloudMask: cloudMasked}); Map.addLayer(lst, {min: 14000, max: 16000, palette: ['white', 'yellow', 'red']}, 'LST with Cloud Mask'); ``` 在这段代码中,通过simpleCloudScore方法对选定的图像进行云掩蔽,并选择云掩蔽后的图像进行地表温度计算。最后,用Map.addLayer方法将计算得到的地表温度图像添加到地图中。 通过以上步骤,就可以在GEE上利用Landsat 8数据计算地表温度,并将结果呈现在地图上。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值