hellohello!GIS辣妹来了,今天带来使用 Google Earth Engine (GEE) 平台来提取和分析福建省在 2010 年至 2020 年期间的火灾数据的代码,导出格式为带有经纬度信息的表格数据,后续可在各个gis软件中进行可视化,效果如下,使用数据为MODIS 火灾数据集(MCD64A1)。
GEE中代码如下,代码如果需要自己运行的话有以下两点需要修改:
1.边界改成自己上传的边界
2.定义自己的时间序列,代码是2010-2020
// 加载用户自定义的福建省边界
var fujian = ee.FeatureCollection("users/dyx13100530097/fujian");
// 加载MODIS火灾数据集
var fireCollection = ee.ImageCollection('MODIS/006/MCD64A1')
.filterDate('2010-01-01', '2020-12-31')
.filterBounds(fujian);
// 选择感兴趣的波段:例如烧毁日期Band(BurnDate)
var burnDate = fireCollection.select('BurnDate');
// 提取火点函数
var extractFirePoints = function(image) {
var fireMask = image.select('BurnDate').gt(0); // 烧毁日期大于0的区域
var fireVectors = fireMask.selfMask().reduceToVectors({
geometry: fujian.geometry(),
geometryType: 'centroid',
scale: 500,
maxPixels: 1e8
});
return fireVectors.set({system: image.get('system:time_start')}); // 添加时间属性
};
// 映射提取火点函数到图像集合
var fireVectorsCollection = burnDate.map(extractFirePoints);
// 扁平化火点集合
var firePointsFlattened = fireVectorsCollection.flatten();
// 添加经纬度信息
var withLatLon = firePointsFlattened.map(function(feature) {
var centroid = feature.geometry().centroid();
var lon = centroid.coordinates().get(0);
var lat = centroid.coordinates().get(1);
return feature.set('longitude', lon).set('latitude', lat);
});
// 可视化火点
Map.addLayer(withLatLon, {color: 'red'}, 'Fire Points');
// 设置地图中心
Map.centerObject(fujian, 7);
// 导出带有经纬度的火点数据为CSV文件
Export.table.toDrive({
collection: withLatLon,
description: 'Fujian_Fire_Points_2010_2020_CSV',
fileFormat: 'CSV',
selectors: ['system:time_start', 'longitude', 'latitude'] // 选择需要导出的字段
});
给辣妹点个赞再走吧!