GEE实现积雪面积长时间序列监测(附代码)

本研究使用了 Google Earth Engine 的 JavaScript API 对 MODIS 积雪数据进行处理。首先,设置了起始和结束日期,选择了相应的数据集。随后,通过循环遍历每一天的数据,进行投影、统计,并将结果导出为 GeoTIFF 文件。将每天的数据添加到地图上,并计算了每天的总积雪覆盖面积,最终将这些统计信息保存为 CSV 文件。整个过程涵盖了数据处理、地图展示以及结果导出等关键步骤,实现了对积雪情况的全面统计和可视化。

话不多说,上代码: 

var startDate = '2020-12-01';
var endDate = '2020-12-30';

var modisDataset = ee.ImageCollection('MODIS/006/MOD10A1')
  .filterBounds(roi)
  .filterDate(startDate, endDate)
  .select(['NDSI_Snow_Cover']);

var dates = modisDataset.aggregate_array('system:time_start');
var allTotalSnowCoverAreaValues = [];

dates.getInfo().forEach(function(date) {
  date = new Date(date);
  var dateString = date.toISOString().slice(0,10);

  var dailyImage = modisDataset
    .filterDate(dateString, dateString + 'T23:59:59')
    .first()
    .clip(roi);

  //*************************************
  // Map.addLayer(dailyImage, {
  //   min: 0,
  //   max: 100,
  //   palette: ['00FF00', 'FF0000'] 
  // }, 'MODIS_Snow_Cover_' + dateString);
  // Map.centerObject(roi, 6);
  //**************************************
  //卡就注释掉上面的一行
  var reprojected = dailyImage.reproject({crs:"EPSG:4326",scale:500});
  print(reprojected);
  //**************************************
  var totalSnowCover = reprojected.reduce(ee.Reducer.sum());
  var snowCoverArea = totalSnowCover.multiply(250000).divide(100);
  var stats = snowCoverArea.reduceRegion({
    reducer: ee.Reducer.sum(),
    geometry: roi,
    scale: 500, 
    maxPixels: 1e9 
  });
  var currentTotalSnowCoverArea = stats.get('sum');
  print('总积雪覆盖率 (单位面积):', currentTotalSnowCoverArea);
  allTotalSnowCoverAreaValues.push(currentTotalSnowCoverArea);
  //**************************************
  
  var exportOptions = {
    image: reprojected,
    description: 'MODIS_Snow_Cover_' + dateString,
    folder: '1', // 文件
    fileNamePrefix: 'MODIS_Snow_Cover_' + dateString,
    scale: 500, 
    region: roi,
    crs: 'EPSG:4326'
  };
  //**************************************
  // Export.image.toDrive(exportOptions);
  //**************************************
  //卡就注释掉上面的一行
});
  //**************************************
var featureCollection = ee.FeatureCollection(
  allTotalSnowCoverAreaValues.map(function(value, index) {
    var date = new Date(dates.getInfo()[index]);
    var dateString = date.toISOString().slice(0, 10);
    return ee.Feature(null, {'date': dateString, 'totalSnowCoverArea': value});
  })
);
// print(featureCollection);
Export.table.toDrive({
  collection: featureCollection,
  description: 'total_snow_cover_area',
  folder: '1',
  fileFormat: 'CSV'
});
  //**************************************

 

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
gee是基于像素的时间序列处理的一个工具,通过使用Google Earth Engine (GEE) 平台,可以对遥感影像进行像素级时间序列分析。 基于像素的时间序列处理涉及对单个像素的遥感观测数据进行分析和处理,以了解该像素随时间的变化。gee提供了一套丰富的工具和功能,可以处理和分析各种空间分辨率的遥感数据。 在gee中,用户可以选择感兴趣的区域并提取该区域特定像素的时间序列数据。例如,用户可以获取某一区域的陆表温度、植被指数、降水量等变量的时间序列,并对其进行统计分析和可视化。 gee还提供了一系列的时间序列算法和指标,如平均值、标准差、趋势分析等,帮助用户更好地理解像素随时间的变化趋势。用户可以通过这些算法和指标,进行地表覆盖分类、环境监测、农作物生监测等应用。 另外,gee还支持用户自定义算法和函数,使用户能够根据自己的需求进行时间序列分析和处理。这种基于像素的时间序列处理方法,可以提供更精细和详细的遥感数据分析结果,有助于更好地理解和解释地表动态变化。 综上所述,gee提供了一个功能强大的平台,可以进行基于像素的时间序列处理,帮助用户分析和理解遥感数据随时间的变化及其特征。这种方法在环境科学、地学研究和资源管理等领域有着广泛的应用前景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值