Google Earth Engine(GEE)——基于 MCD64A1 的 GlobFire 日常火灾数据集

基于 MODIS 数据集 MCD64A1 的火灾边界。数据是基于一种算法计算的,该算法依赖于在图形结构中编码烧毁区域补丁之间的时空关系。

每场火灾都有一个唯一的编号来标识事件。

Dataset Availability

2001-01-01T00:00:00Z–2021-01-01T00:00:00

Dataset Provider

European Commission, Joint Research Centre, Global Wildfire Information System

数据调用:

'JRC/GWIS/GlobFire/v2/DailyPerimeters'

代码:

// 直接从文件夹中调用,这里没有featurecollection.
var folder = 'JRC/GWIS/GlobFire/v2/DailyPerimeters';

// 使用带有异步回调的ee.data.listAssets列出可用表格。
function printAssetList(listAssetsOutput) {
  print('Asset list:', listAssetsOutput['assets']);
}
ee.data.listAssets(folder, {}, printAssetList);

// 定义一个从可用表列表中确定的表名(表ID)。
var tableName = 'JRC/GWIS/GlobFire/v2/DailyPerimeters/2020';

var computeArea = function (f) {
  return f.set({'area': f.area()});
}
// 将一个选定的表作为一个特征集合导入。
var features = ee.FeatureCollection(tableName).map(computeArea);

// 线性火灾面积梯度的可视化参数。
var visParams = {
  palette: ['f5ff64', 'b5ffb4', 'beeaff', 'ffc0e8', '8e8dff', 'adadad'],
  min: 0.0,
  max: 600000000.0,
  opacity: 0.8,
};

// 用计算出的火灾面积作为数值属性,在图像上画出火灾周界。
var image = ee.Image().float().paint(features, 'area')

// 将图像显示在地图上(包括用检查员探索的特征)。
Map.addLayer(image, visParams, 'GlobFire 2020');
Map.addLayer(features, null, 'For Inspector', false);
Map.setCenter(-121.23, 39.7, 12);

Terms of Use

Licensed under the Creative Commons Attribution 4.0 International License.

Citations:

  • Artés, T., Oom, D., De Rigo, D., Durrant, T. H., Maianti, P., Libertà, G., & San-Miguel-Ayanz, J. (2019). A global wildfire dataset for the analysis of fire regimes and fire behaviour. Scientific data, 6(1), 1-11. doi:10.1038/s41597-019-0312-2

结果:

 

 不同等级的火灾显示情况:

 点击查看相应的信息火灾面积等等

 

dNBR值(differenced Normalized Burn Ratio)是衡量火灾烈度的指标之一,可以通过MODIS/061/MCD64A1数据计算得到。 以下是基于GEE计算dNBR值的步骤: 1. 打开GEE平台并登录账号。 2. 在左侧菜单栏中选择“地图”选项,进入地图界面。 3. 在地图界面中,点击左上角的“+”按钮,添加MODIS/061/MCD64A1数据。 4. 在左侧图层栏中选择“MODIS/061/MCD64A1_500m_aid0001”图层,并调整时间范围至所需的时间段。 5. 在左侧菜单栏中选择“代码编辑器”,并在编辑器中输入以下代码: ``` // 定义AOI区域 var aoi = ee.Geometry.Polygon( [[[113.0, 33.0], [115.0, 33.0], [115.0, 35.0], [113.0, 35.0], [113.0, 33.0]]], null, false); // 选择计算的时间段 var start_date = ee.Date.fromYMD(2019, 1, 1); var end_date = ee.Date.fromYMD(2019, 12, 31); // 选择计算的MODIS波段 var modis_bands = ['BurnDate','QA']; // 筛选出指定时间段内的MODIS数据 var modis_dataset = ee.ImageCollection('MODIS/006/MCD64A1') .select(modis_bands) .filterDate(start_date, end_date) .filterBounds(aoi); // 定义NDVI计算公式 var nbr_formula = function(image) { var nbr = image.normalizedDifference(['sur_refl_b04', 'sur_refl_b07']); return nbr.rename('NBR'); }; // 计算dNBR值 var pre_fire = ee.Image(modis_dataset.sort('system:time_start', false).first()).select('BurnDate'); var post_fire = ee.Image(modis_dataset.sort('system:time_start', true).first()).select('BurnDate'); var pre_nbr = nbr_formula(pre_fire); var post_nbr = nbr_formula(post_fire); var dNBR = post_nbr.subtract(pre_nbr).rename('dNBR'); // 将结果可视化 Map.centerObject(aoi, 9); Map.addLayer(dNBR, {min:-1,max:1,palette:['FF0000','FFFF00','00FF00']}, 'dNBR'); ``` 上述代码中,首先定义了计算区域(AOI)、计算时间段(start_date和end_date)以及需要计算的MODIS波段(modis_bands)。接着,通过ImageCollection函数筛选出指定时间段内的MODIS数据,并选择需要的波段。定义了计算dNBR值所需的函数(nbr_formula),并使用该函数计算出前火情(pre_fire)和后火情(post_fire)的NBR值,最终得出dNBR值(dNBR)。最后将结果可视化,其中min、max和palette参数可根据需要进行调整。 完成上述代码的输入和运行后,即可在地图上看到计算得到的dNBR值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此星光明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值