其他
使用rgee和QGIS合成非洲ALOS DSM
使用rgee和QGIS合成非洲ALOS DSM
任务简介
ALOS World 3D - 30m (AW3D30) 是目前精度最高的全球DEM数据,最新版本是3.2版。
任务是合成整个非洲地区的ALOS DSM数据。
技术路线
常规方法
直接去ALOS DSM官网下载数据,然后拼接。ALOS DSM官网下载数据方法可以参考:数据分享 | 全国AW3D30 DSM(数字地表模型)数据
GEE下载方法
我选择了这种方法,不过对于这种洲一级别的30米分辨率数据来说,GEE也不是很方便,主要是下载过程容易中断,也需要下载完之后手动拼接数据。
GEE下载ALOS DSM数据
技术实现思路
由于整个非洲的数据数据量巨大,远远突破了GEE 1e13像元最大个数限制,因此,我选择先划分格网SHP,再使用rgee
逐格网下载DSM数据。
QGIS划分格网
使用QGIS创建格网,然后根据格网的ID将SHP文件分拆
rgee逐格网下载数据
使用rgee
逐格网下载数据,对每个格网SHP进行循环,获取对应格网的DSM数据。
library(rgee)
library(sf)
ee_Initialize(drive = T)
ALOSDSM = ee$ImageCollection("JAXA/ALOS/AW3D30/V3_2")$select('DSM')
AfrSHPlist = list.files(path = "./AfricaESPG4326/", pattern = ".shp$")
AfrSHPdir = paste0("./AfricaESPG4326/", AfrSHPlist)
AfrTIF = gsub("shp", "tif", AfrSHPlist) #输出的TIFF文件名
for (i in 1:length(AfrSHPlist)) {
ee_roi = read_sf(AfrSHPdir[i])%>%
sf_as_ee()
mosaic = ALOSDSM$max()$clip(ee_roi)
alos = ee_as_raster(
image = mosaic,
region = ee_roi$geometry(),
scale = 30,
dsn = paste0("./AfrTif/", AfrTIF[i]),
via = "drive",
maxPixels = 1e13
)
}
QGIS拼接数据
由于数据量巨大,拼接的时候需要指定输出为BIGTIFF,突破TIFF文件4GB的存储限制。