GEE 火灾分析——一个用于生成预测模型和变量重要性的随机森林(Random Forest)方法的研究

目录

简介

函数

代码

代码2

 代码3


简介

主要内容涉及一个用于生成预测模型和变量重要性的随机森林(Random Forest)方法的研究。以下是对文本的详细分析:

1. **目的和背景**:
   - 文本开头提到“目的:论文 - 随机森林用于生成预测模型和变量重要性”,这表明作者安德烈亚·苏洛瓦(Andrea Sulova)正在进行一项研究,旨在利用随机森林算法来分析和预测与澳大利亚火灾相关的数据。

2. **数据导入**:
   - 文本中包含了多个数据导入的代码行,使用了Google Earth Engine(GEE)平台的功能:
     - `var Australia = ee.FeatureCollection("users/sulovaandrea/Australia_Polygon");` 这行代码导入了一个包含澳大利亚各州的多边形数据集。
     - 随后,使用`filterMetadata`方法从这个数据集中提取了各个州的特征,例如“澳大利亚首都地区”、“北领地”、“昆士兰”等。

3. **州的合并**:
   - `var Australia_Mainland= Capital_AUS.merge(Victoria).merge(NewSouthWales)...` 这行代码将多个州的数据合并为一个新的特征集合,表示澳大利亚大陆的主要部分。这种合并操作有助于后续的分析和可视化。

4. **地图可视化**:
   - `Map.addLayer(Australia_Mainland,{pallete: '666e64', strokeWidth: 1}, 'Australia Mainland',1);` 这行代码将合并后的澳大利亚大陆数据添加到地图上,并设置了颜色和线宽,以便于可视化。

5. **区域兴趣(AOI)**:
   - `var Australia = ee.FeatureCollection("USDOS/LSIB/2013").filterMetadata("cc","equals","AS")` 这行代码定义了一个区域兴趣(Area of Interest),即澳大利亚的边界。

6. **变量定义**:
   - 文本中提到的“变量”部分,特别是“土地覆盖”(LandCover),表明研究将使用COPERNICUS土地覆盖数据集来分析土地使用情况。`var LandCover =ee.ImageCollection("COPERNICUS/Landcover/100m/Proba-V/Global")` 这行代码导入了土地覆盖数据集,并选择了特定的分类图像。

7. **符号化**:
   - 文本的最后部分提到了一种符号化方法,使用`RasterSymbolizer`和`ColorMap`来定义如何在地图上显示不同的土地覆盖类别。

总结来说,这段文本展示了一个关于澳大利亚火灾的研究项目,利用随机森林算法进行数据分析,涉及数据导入、处理、合并和可视化等多个步骤。这些步骤为后续的分析和模型构建奠定了基础。

函数

代码

var aoi = 
    /* color: #d63000 */
    /* displayProperties: [
      {
        "type": "rectangle"
      }
    ] */
    ee.Geometry.Polygon(
        [[[-129.82890625000002, 52.57449574202979],
          [-129.82890625000002, 50.273348624058755],
          [-125.72001953125, 50.273348624058755],
          [-125.72001953125, 52.57449574202979]]], null, false);
//Purpose: Thesis - Random forest fo generataing predictive modela and Variable Importance;
//Author: Andrea Sulova;
//Date: Feb 2020 - May 2020;

//______Import SHP Australian's States__________________________________________
var Australia = ee.FeatureCollection("users/sulovaandrea/Australia_Polygon");

//______Import States in Australia____________________________________________
var Capital_AUS = Australia.filterMetadata("name","equals","Australian Capital Territory");
var Northen_AUS = Australia.filterMetadata("name","equals","Northern Territory")
var Queensland = Australia.filterMetadata("name","equals","Queensland")
var South_AUS = Australia.filterMetadata("name","equals","South Australia")
var Tasmania = Australia.filterMetadata("name","equals","Tasmania")
var Victoria = Australia.filterMetadata("name","equals","Victoria")
var Western_AUS = Australia.filterMetadata("name","equals","Western Australia")
var NewSouthWales = Australia.filterMetadata("name","equals","New South Wales")

var Australia_Mainland= Capital_AUS.merge(Victoria).merge(NewSouthWales).merge(South_AUS).merge(Queensland)
                        .merge(Western_AUS).merge(Northen_AUS)
Map.addLayer(Australia_Mainland,{pallete: '666e64', strokeWidth: 1}, 'Australia Mainland',1);

//______AOI_______________________________________________________

var Australia = ee.FeatureCollection("USDOS/LSIB/2013").filterMetadata("cc","equals","AS")
Map.centerObject(Australia,4.5);   

//______VARIABLES_______________________________________________________________

// 1 LandCover
// COPERNICUS LAND COVER forest_type Class Table: 
//https://developers.google.com/earth-engine/datasets/catalog/COPERNICUS_Landcover_100m_Proba-V_Global#bands
var LandCover =ee.ImageCollection("COPERNICUS/Landcover/100m/Proba-V/Global")
var LandCover = LandCover.select('discrete_classification').mosaic().clip(Australia);
var Classes ='<RasterSymbolizer>'+
      '<ColorMap type = "intervals" extended="false" >' +
      '<ColorMapEntry color="#0779e4" quantity="11" label="11 - Irrigated croplands"/>' +
      '<ColorMapEntry color="#f6f578" quantity="14" label="14 - Rainfed croplands"/>' +  
      '<ColorMapEntry color="#f6d743" quantity="20" label="20 - Mosaic Croplands/Vegetation"/>' +  
      '<ColorMapEntry color="#fcbf1e" quantity="30" label="30 - Mosaic Vegetation/Croplands"/>' +    
      '<ColorMapEntry color="#06623b" quantity="40" label="40 - Closed to open broadleaved evergreen or semi-deciduous forest"/>' +    
      '<ColorMapEntry color="#b7efcd" quantity="50" label="50 - Closed broadleaved deciduous forest "/>' +    
       '<ColorMapEntry color="#94fc13" quantity="60" label="60 - Open broadleaved deciduous forest"/>' +    
      '<ColorMapEntry color="#75b79e" quantity="70" label="70 - Closed needleleaved evergreen forest"/>' +  
      '<ColorMapEntry color="#a7e9af" quantity="90" label="90 - Open neepdleleaved deciduous or evergreen forest"/>' +
      '<ColorMapEntry color="#698474" quantity="100" label="100 - Closed to open mixed broadleaved and needleleaved forest "/>' +    
      '<ColorMapEntry color="#00bdaa" quantity="110" label="110 - Mosaic Forest-Shrubland/Grassland"/>' +    
      '<ColorMapEntry color="#565d47" quantity="120" label="120 - Mosaic Grassland/Forest-Shrubland"/>' +  
      '<ColorMapEntry color="#ff926b" quantity="130" label="130 - Closed to open shrubland"/>' +
      '<ColorMapEntry color="#ffc38b" quantity="140" label="140 - Closed to open grassland"/>' +
      '<ColorMapEntry color="#fff3cd" quantity="150" label="150 - Sparse vegetation"/>' +    
      '<ColorMapEntry color="#4cbbb9" quantity="160" label="160 - Closed to open broadleaved forest regularly flooded (fresh-brackish water)"/>' +    
      '<ColorMapEntry color="#bbded6" quantity="170" label="170 - Closed broadleaved forest permanently flooded (saline-brackish water)"/>' +  
      '<ColorMapEntry color="#30e3ca" quantity="180" label="180 - Closed to open vegetation regularly flooded"/>' +
      '<ColorMapEntry color="#e84545" quantity="190" label="190 - Artificial areas "/>' +    
      '<ColorMapEntry color="#e3fdfd" quantity="200" label="200 - Bare areas"/>' +    
      '<ColorMapEntry color="#3f72af" quantity="210" label="210 - Water bodies"/>' +  
      '<ColorMapEntry color="#f5f5f5" quantity="220" label="220 - Permanent snow and ice "/>' +
      '<ColorMapEntry color="#252a34" quantity="230" label=" No data"/>' +
    '</ColorMap>' +
  '</RasterSymbolizer>';
Map.addLayer(LandCover.sldStyle(Classes), {}, 'Land Cover',0);

// 2  30mTographical data processing for land cover classification and RF modelling 
var srtm = ee.Image('USGS/SRTMGL1_003');
var srtm = srtm.clip(Australia)
var elevation = srtm.select('elevation');
var slope = ee.Terrain.slope(elevation);
var aspect = ee.Terrain.aspect(elevation);

var palette = ['85a392','565d47','155263','393e46','52616b','c9d6df','eeeeee']
Map.addLayer(elevation, {min: 150, max: 900,palette: palette}, 'SRTM 30m elevation',0);

var palette = ['ececec','c1a57b','30475e','222831']
Map.addLayer(slope, {min: 0, max: 2,palette: palette}, 'SRTM 30m slope',0);

var palette = ['ffffff','ffa372','512b58','2c003e']
Map.addLayer(aspect, {min: 0, max: 360, palette: palette}, 'SRTM 30m aspect',0);

// 3 Population WorldPop Global Project Population Data 100m
// https://developers.google.com/earth-engine/datasets/catalog/CAS_IGSNRR_PML_V2#bands
var dataset = ee.ImageCollection("WorldPop/GP/100m/pop").filterDate('2019');
var pop_100m = dataset.select('population');
var populationVis = { min: 0.0, max: 0.05,palette: ['3C1642','92dce5','affc41','d4ff50', 'f6f578','f6d743','f6f578']}
var pop_100m = pop_100m.mosaic().clip(Australia) 
Map.addLayer(pop_100m,populationVis, 'Population 100m',0);

// 4 Road
var road_shp = ee.FeatureCollection("users/sulovaandrea/AUS_roads");
var road_img = ee.Image().toByte().paint(road_shp, 1);
var road_no_img = road_img.unmask(0).gt(0);
var cumulativeCost_road = ee.Image(1).cumulativeCost({source: road_no_img, maxDistance: 30000 });     
var cumulativeCost_road_clip = cumulativeCost_road.clip(Australia)    
var palette1 = ['024249','16817a','fa744f','ffa372']
Map.addLayer(cumulativeCost_road_clip, {min: 0, max: 50000, palette: palette1}, 'Roads cost 50 km', 0);
Map.addLayer(road_img,{min: 0, max: 1, palette: '222831'},'Roads',0);

var Cost_road_1km = ee.Image(1).cumulativeCost({source: road_no_img, maxDistance: 30000})
    .reproject(ee.Projection('EPSG:4326').atScale(500));  
var Cost_road_1km = Cost_road_1km.unmask(1000000).clip(Australia) 
Map.addLayer(Cost_road_1km, {min: 0, max: 30000, palette: palette1}, 'Roads Coast 30km Raster', 0);    

// 5 Electric Line 
var ele_line = ee.FeatureCollection("users/sulovaandrea/Aus_Electric_Line");
var ele_img = ee.Image().toByte().paint(ele_line, 1).clip(Australia);
var ele_no_img = ele_img.unmask(0).gt(0).clip(Australia);
var palette2 = ['06623b', 'black']
Map.addLayer(ele_img,{min: 0, max: 1, palette: palette2},'Electric Line',0);
var Ele_Line = ele_no_img.reproject(ee.Projection('EPSG:4326').atScale(500)).clip(Australia);
Map.addLayer(Ele_Line, {min: 0, max: 1, palette: palette2}, 'Electric Line Raster', 0);
    
// 7 Human Modification - 1km
//https://developers.google.com/earth-engine/datasets/catalog/CSP_HM_GlobalHumanModification#description
var GHM = ee.ImageCollection("CSP/HM/GlobalHumanModification")
var GHM_index = GHM.mean().clip(Australia)
var palette_GHM = ['85a392','#C7B808','#4E8E07','26D5F6','DDCC09','#16089C']
Map.addLayer(GHM_index, {min:0, max:1, palette:palette_GHM}, 'Global Human Modification',0);

// 8 MODIS NDVI 250m
var dataset = ee.ImageCollection('MODIS/006/MOD13Q1').filter(ee.Filter.date('2019-09-01', '2020-02-22'));
var ndvi = dataset.select('NDVI').mean().clip(Australia);;
var ndviVis = { min: 0.0, max: 8000.0,palette: ['FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901',
    '66A000', '529400', '3E8601', '207401', '056201', '004C00', '023B01', '012E01', '011D01', '011301'],};
Map.addLayer(ndvi, ndviVis, 'NDVI 250 MODIS',0);

// 9 Soil Depth SLGA: Soil and Landscape Grid of Australia (Soil Attributes)
// 90m Depth of soil profile (A & B horizons)
var dataset = ee.ImageCollection('CSIRO/SLGA').filter(ee.Filter.eq('attribute_code', 'DES'));
var soilDepth = dataset.select('DES_000_200_EV').mosaic().clip(Australia);
var soilDepthVis = {min: 0, max: 2, palette: ['252525', 'f1ab86', 'c57b57', '1E2D2F', '041F1E'],};
Map.addLayer(soilDepth, soilDepthVis, 'Soil Depth',0);

// 11 Climate - WIND SPEED 2.5 arc minutes more then 2km
//https://developers.google.com/earth-engine/datasets/catalog/IDAHO_EPSCOR_TERRACLIMATE#description
var vs = ee.ImageCollection('IDAHO_EPSCOR/TERRACLIMATE').filter(ee.Filter.date('2019-09-01', '2019-12-31'));
var vs = vs.select('vs').reduce(ee.Reducer.mean()).clip(Australia);
var vsVis = { min:100,max: 400,palette: ['F7F3F0','DFDFDF','496A81','1E96FC','00171F'],};
Map.addLayer(vs, vsVis, 'Wind-speed at 10m Scale 0,01',0);

// 12 Maximum 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

此星光明

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

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

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

打赏作者

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

抵扣说明:

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

余额充值