基于 GEE 批量下载研究区夜光遥感数据
目录
1 数据介绍
2 代码解析
3 完整代码
4 运行结果
1 数据介绍
夜光遥感数据主要分为两种,一种是DMSP/OLS ,由美国军事气象卫星(DMSP)搭载的线性扫描业务系统(OLS)拍摄,时间周期是1992—2013年。另一种是NPP-VIIRS,数据由Suomi国家极轨道伙伴关系卫星(SNPP)搭载的可见光红外成像辐射仪(VIIRS)提供,时间周期是从2012年到现在。
两种数据的空间分辨率不同,DMSP/OLS 数据的空间分辨率为1km左右;NPP/VIIRS 数据的空间分辨率为750m,能够探测到更微弱的灯光辐射。
2 代码解析
确定研究区和使用的数据集:
var roi = table;
Map.centerObject(roi,7)
var styling = {color:"red",fillColor:"00000000"};
Map.addLayer(roi.style(styling),{},"geometry")
调用数据,选择导出数据的日期:
for(var i = 1992;i<=2013;i++){
var Night_Light= ee.ImageCollection('NOAA/DMSP-OLS/NIGHTTIME_LIGHTS')
.filterDate(i+'-01-01', i+'-12-31')
.select('stable_lights')
var OLS_Light_Year_mean = Night_Light.mean().clip(roi)
可视化数据:
var LightVis = {
min: 0,
max: 10,
palette: ['000000','700000','808080','FFFF00','ffffff','ffffff','ffffff'],
};
print(OLS_Light_Year_mean)
Map.addLayer(OLS_Light_Year_mean, LightVis, i+'_OLS_Light_Year_mean');
批量导出数据,导出至谷歌云盘:
Export.image.toDrive({
image: OLS_Light_Year_mean,
description: i+'OLS_mean',
region: roi,
scale: 1000,
maxPixels: 1e13,
folder: 'OLS_Light'
})
}
同样而言,NPP-VIIRS数据的下载也可以用此方法,只需要修改时间和数据集的名称即可,具体实现代码如下:
//VIIRS_Light
for(var i = 2012;i<=2021;i++){
var VIIRS_Light= ee.ImageCollection("NOAA/VIIRS/DNB/MONTHLY_V1/VCMSLCFG")
.filterDate(i+'-01-01', i+'-12-31')
.select('avg_rad')
var VIIRS_Light_Year_mean = VIIRS_Light.mean().clip(roi)
var LightVis = {
min: 0,
max: 10,
palette: ['000000','700000','808080','FFFF00','ffffff','ffffff','ffffff'],
};
print(VIIRS_Light_Year_mean)
Map.addLayer(VIIRS_Light_Year_mean, LightVis, i+'_VIIRS_Light_Year_mean');
Export.image.toDrive({
image: VIIRS_Light_Year_mean,
description: i+'VIIRS_mean',
region: roi,
scale: 750,
maxPixels: 1e13,
folder: 'OLS_Light'
})
}
3 完整代码
var roi = table;
Map.centerObject(roi,7)
var styling = {color:"red",fillColor:"00000000"};
Map.addLayer(roi.style(styling),{},"geometry")
for(var i = 1992;i<=2013;i++){
var Night_Light= ee.ImageCollection('NOAA/DMSP-OLS/NIGHTTIME_LIGHTS')
.filterDate(i+'-01-01', i+'-12-31')
.select('stable_lights')
var OLS_Light_Year_mean = Night_Light.mean().clip(roi)
var LightVis = {
min: 0,
max: 10,
palette: ['000000','700000','808080','FFFF00','ffffff','ffffff','ffffff'],
};
print(OLS_Light_Year_mean)
Map.addLayer(OLS_Light_Year_mean, LightVis, i+'_OLS_Light_Year_mean');
Export.image.toDrive({
image: OLS_Light_Year_mean,
description: i+'OLS_mean',
region: roi,
scale: 1000,
maxPixels: 1e13,
folder: 'OLS_Light'
})
}
//VIIRS_Light
for(var i = 2012;i<=2021;i++){
var VIIRS_Light= ee.ImageCollection("NOAA/VIIRS/DNB/MONTHLY_V1/VCMSLCFG")
.filterDate(i+'-01-01', i+'-12-31')
.select('avg_rad')
var VIIRS_Light_Year_mean = VIIRS_Light.mean().clip(roi)
var LightVis = {
min: 0,
max: 10,
palette: ['000000','700000','808080','FFFF00','ffffff','ffffff','ffffff'],
};
print(VIIRS_Light_Year_mean)
Map.addLayer(VIIRS_Light_Year_mean, LightVis, i+'_VIIRS_Light_Year_mean');
Export.image.toDrive({
image: VIIRS_Light_Year_mean,
description: i+'VIIRS_mean',
region: roi,
scale: 750,
maxPixels: 1e13,
folder: 'OLS_Light'
})
}
4 运行结果
![](https://i-blog.csdnimg.cn/direct/261665a10cad43a59a02ba65c9a90859.png)
![](https://i-blog.csdnimg.cn/direct/ffff3367f9e14621bdf2177f081bbe8f.png)
![](https://i-blog.csdnimg.cn/direct/bafd6c480861470fa691bd65b70d48cc.png)