NPP夜间灯光遥感数据读取与可视化

1、Google Earth Engine

Google Earth Engine是Google推出的行星尺度的遥感云计算平台,提供了大量遥感数据的集成与运算工具。同时也包括DMSP和NPP夜间灯光遥感数据(月尺度和年尺度)。这里给出样例的可视化代码。

var dataset = ee.ImageCollection('NOAA/VIIRS/DNB/MONTHLY_V1/VCMSLCFG')
                  .filter(ee.Filter.date('2020-01-01', '2020-02-28'));
var nighttime = dataset.select('avg_rad');
var nighttimeVis = {min: 0.0, max: 60.0};
Map.setCenter(-77.1056, 38.8904, 8);
Map.addLayer(nighttime, nighttimeVis, 'Nighttime');

运行结果。

月尺度和年尺度产品提供的是tiff产品。可以在ArcGIS和ENVI里进行进一步处理。

2、日尺度hdf5数据读取与可视化(ENVI)

关于用ENVI读取日尺度hdf5数据的方式,详情参见以下文档。

NPP VIIRS Datasets

3 日尺度hdf5数据读取与可视化(R语言)

这里也介绍下如何在R语言里读取hdf5以及转换格式。基础的两个包分别为raster和rhdf5。其中rhdf5必须通过BioManager包安装。这里是安装命令。

install.packages('raster')
install.packages('BioManager')
BioManager::install('rhdfr')

hdf5是一个在科学计算领域有广泛应用的数据格式,可以理解为多个文件夹压缩而成的格式。对于这类文件读取,首先需要先了解文件的结构才能读取。这里采用的命令就是h5ls。

h5ls(filename)

filename为hdf5文件名。如下图所示给出了NPP夜间灯光遥感数据hdf5文件的具体结构。

我们所需要用到的属性包括All_Data/VIIRS-DNB-GEO_All/下的Longitude和Latitude,以及All_Data/VIIRS-DNB-SDR_All/下的radiance,即夜间灯光DNB波段值。利用h5read函数读取这几个数据,命令行如下。

dnblat <- h5read(filename, 'All_Data/VIIRS-DNB-GEO_All/Latitude')
dnblon <- h5read(filename, 'All_Data/VIIRS-DNB-GEO_All/Longitude')
dnbrad <- h5read(filename, 'All_Data/VIIRS-DNB-SDR_All/Radiance')

这样即得到了夜间灯光遥感数据矩阵形式存储的经度,纬度以及波段值。接下来将三个矩阵组合成一个栅格即可。根据如下代码即可得到一个栅格数据。

radpts <- cbind(long = as.vector(dnblon), lat = as.vector(dnblat), rad = as.vector(dnbrad))
radpts <- data.frame(radpts)
colnames(radpts) <- c("x", "y", "radiance")
e <- extent(randpts[, (1:2)])
r <- raster(e, ncol = ncol(dnbrad), nrow = nrow(dnbrad), crs = "+proj=longlat + datum=WGS84")
radr <- rasterize(radpts[, (1:2), r, radpts[,3], fun = mean)

简单可视化结果如图。

另外可以看到这个DNB波段值数值较小,是经过缩放的,需要乘以10的9次方使得DNB波段值呈现正常范围。当然日尺度的数据由于云,月相等因素的影响,质量还有待提升。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

倾城一少

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

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

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

打赏作者

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

抵扣说明:

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

余额充值