DMSP NTL夜间灯光指数EVI修正

此帖子目的:验证自己GEE写的代码,用ARCGIS工具
一、计算公式 :见附件,来自论文
基于EVI指数的DMSP_OLS夜间灯光数据去饱和方法_卓莉
二、关键操作流程:
1:除去image中某一段值:腌膜提取GEE VS ARCGIS
在这里插入图片描述
GEE代码

var dataset = ee.ImageCollection('MODIS/006/MOD13A2')
                  .filter(ee.Filter.date('2006-01-01', '2007-01-01'))
                              
var evi1 = dataset.select('EVI').mean().clip(bound).divide(10000);

var evi = evi1.updateMask(evi1.select('EVI').gte(0.01))

ARCGIS操作:
Spatial Analyst–>重分类
在这里插入图片描述
重分类结果:
在这里插入图片描述
腌膜提取:Spatial Analyst --> Extract --> Extract by Mask
在这里插入图片描述
腌膜提取结果 VS GEE代码结果
在这里插入图片描述

完整的GEE代码:

var bound = shanghai;
Map.centerObject(bound, 4);

var dataset = ee.ImageCollection('MODIS/006/MOD13A2')
                  .filter(ee.Filter.date('2006-01-01', '2007-01-01'))
var evi1 = dataset.select('EVI').mean().clip(bound).divide(10000);
var evi = evi1.updateMask(evi1.select('EVI').gte(0.01))

                  
var nighttimeLights = ee.Image('NOAA/DMSP-OLS/NIGHTTIME_LIGHTS/F152006')
                        .select('stable_lights')
                        .clip(bound);                        
//nomalization of the nighttimeLights image 
var nomalization = function(image, bound){
    var dict1 = image.select(0).reduceRegion({
      reducer: ee.Reducer.max(),
      geometry: bound,
      scale: 1000,
      maxPixels: 1e9
      })
    
    var dict2 = image.select(0).reduceRegion({
      reducer: ee.Reducer.min(),
      geometry: bound,
      scale: 1000,
      maxPixels: 1e9
      })
      
    var max = ee.Number(dict1.values().get(0))
    var min = ee.Number(dict2.values().get(0))
    var nNTL = image.select(0).subtract(min).divide(max.subtract( min))  
    
    return nNTL;
  }

//Get the result of  nomalization image   
var nNTL = nomalization(nighttimeLights,bound)

// the function of EANTLI
var EANTLI = function(image, EVI, nNTL){
  var D = nNTL.select(0).subtract(EVI.select(0))
  var K = D.add(1).divide(D.add(1).subtract(D).subtract(D))
  print('K', K);
  return K.multiply(image.select(0));
  }
var eNTL =   EANTLI(nighttimeLights, evi, nNTL)

var nighttimeLightsVis = {
  min: 3.0,
  max: 60.0,
};
var NTLVis = {
  min: 0,
  max: 9000,
  palette: [
    '000000', '171717', '2F4F4F', '191970', '1874CD', '1C86EE', '20B2AA',
    '40E0D0', '43CD80', '32CD32', 'A0522D', 'B8860B', 'CDCD00', 'EEEE00',
    'FF4500', 'FF7F50', 'FFEFD5'],
};

Map.addLayer(nighttimeLights, nighttimeLightsVis, 'Nighttime Lights');
Map.addLayer(nighttimeLights, NTLVis, 'NTL2');
Map.addLayer(eNTL,NTLVis,"eNTL");

ARCGIS 结果
原始夜间灯光数据显示在这里插入图片描述
在这里插入图片描述
对比:修正后的夜间灯光数据eNTL
在这里插入图片描述

  • 8
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值