本文介绍在谷歌地球引擎(Google Earth Engine,GEE)中,批量下载指定时间与空间范围内的数字高程模型(DEM)数据的方法。
本文是谷歌地球引擎(Google Earth Engine,GEE)系列教学文章的第23
篇,更多GEE文章请参考专栏:GEE学习与应用(https://blog.csdn.net/zhebushibiaoshifu/category_11081040.html)。
数字高程模型是GIS分析中常用的数据,其已有较多成熟的数据产品,例如SRTM、ASTER GDEM、Copernicus DEM等;这里我们就以30
米空间分辨率的SRTM DEM数据为例,介绍在谷歌地球引擎中下载这一数据的方法。
此外,在我们之前多次介绍过基于官方网站或者GEE平台,下载各类遥感影像数据的方法,大家具体可以参考Landsat系列卫星遥感影像数据USGS中批量下载多张图像的方法(https://blog.csdn.net/zhebushibiaoshifu/article/details/115387022),或者基于LAADS DAAC的MODIS遥感影像各产品数据批量下载多张图像方法(https://blog.csdn.net/zhebushibiaoshifu/article/details/117337013),再或者谷歌地球引擎Google Earth Engine批量下载遥感影像数据的方法(https://blog.csdn.net/zhebushibiaoshifu/article/details/135746855)等文章。
首先,看一下本文所需的代码。
var demDataset = ee.Image('USGS/SRTMGL1_003');
var dem = demDataset.select('elevation');
var spatialBounds = ee.Geometry.Rectangle({coords: [86, 41, 88, 44], proj: 'EPSG:4326'});
var scale = 30;
Map.setCenter(87, 42, 5);
Map.addLayer(dem, {}, 'slope');
Export.image.toDrive({
image: dem,
description: 'DEM_30m',
scale: scale,
region: spatialBounds
});
其中,上述代码的具体含义如下。
首先,前两句代码导入了USGS的SRTMGL1_003
数据集,也就是30
米空间分辨率的SRTM DEM数据;随后,将其波段elevation
选中。
其次,定义感兴趣的空间区域;本文就以博斯腾湖区域为例来介绍。其中,[86, 41, 88, 44]
分别代表左下角和右上角的经度、纬度坐标。
再次,在地图中显示DEM数据,并将地图缩放的中心点经度、纬度坐标设置为87
与42
,缩放等级为5
。
最后,即可开始数据的下载。这部分代码调用GEE的数据导出函数,将上述区域的DEM数据导出至Google Drive,且文件名DEM_30m
。
运行上述代码,如下图所示。可以看到,地图区域将显示博斯腾湖区域附近的DEM数据;因为我们这里没有配置Map.addLayer()
函数的可视化参数,所以就是默认的灰白色系。
此外,点击右侧的“Tasks”栏,可以看到一个任务,也就是将我们的DEM数据导出至Google Drive的任务。点击“Run”即可,如下图所示。
随后,将弹出任务窗口,我们直接点击其右下角的“Run”即可;如下图所示。
接下来,待任务执行完毕后,我们即可在Google Drive中看到我们刚刚导出的DEM数据;如下图所示。
随后,我们再在Google Drive中,将下载好的DEM数据下载到本地即可。
至此,大功告成。
欢迎关注:疯狂学习GIS