其他
含视频讲解 | rgee获取全国高程、坡度、坡向数据
高程、坡度、坡向是经常用的基础地理数据,要想获取全国的高精度高程、坡度、坡向数据往往需要花费大量的时间进行下载、镶嵌、投影转换和计算,在这给大家分享一个基于rgee
的全国高程、坡度、坡向数据获取方法,能够大大加快速度。
视频号直播讲解如下:还请大家多多关注一下这个没啥人的视频号吧!
ALOS DSM数据获取
在Google Earth Engine Data Catalog中查找ALOS DSM数据,使用rgee
引用该数据。
使用rgee
获取ALOS DSM高程数据代码如下:
library(rgee) #加载包
library(sf)
ee_Initialize(drive = T) #启动gee api
ALOSDSM = ee$ImageCollection("JAXA/ALOS/AW3D30/V3_2")$select('DSM') #引用ALOS DSM数据
ALOSDEM = ALOSDSM$mosaic() #镶嵌转ee.image对象
imageVisParam <- list(
min = 0,
max = 5000,
palette = c('0000ff', '00ffff', 'ffff00', 'ff0000', 'ffffff')
)
Map$setCenter(101, 35, zoom = 3) #指定可视化中心和缩放级别
Map$addLayer(ALOSDEM, imageVisParam, "ALOSDEM") #ALOS DSM高程数据可视化
ALOS DSM高程数据可视化结果:
坡度和高程在GEE中的计算
rgee
计算坡度
要点: 设置投影坐标系 ee$Terrain$slope
函数计算坡度
代码如下:
proj = ALOSDSM$first()$select(0)$projection() #设置投影坐标系
slopeReprojected = ee$Terrain$slope(ALOSDEM$setDefaultProjection(proj)) #获取坡度数据
slopeVisParam = list(
min = 0,
max = 60,
palette = c('f1eef6', 'bdc9e1', '74a9cf', '2b8cbe', '045a8d')
)
Map$addLayer(slopeReprojected, slopeVisParam, "ALOSSLOPE") #坡度可视化
全国坡度数据可视化展示,从全国范围来看不太明显:
进一步缩放到张家口地区,可以看到很明显的坡度变化,白色为平地,蓝色为陡坡,配色使用colorbrewer提供的渐变色。
配色网站网址https://colorbrewer2.org/#type=sequential&scheme=PuBu&n=5
rgee
计算坡向
和计算坡度类似,也需要使用投影坐标系,使用了GEE提供的函数。代码如下:
aspectReprojected = ee$Terrain$aspect(ALOSDEM$setDefaultProjection(proj))
apsectVisParam = list(
min = 0,
max = 360,
palette = c("212529","adb5bd","e9ecef","adb5bd","212529") #黑色北向,白色南向
)
Map$addLayer(aspectReprojected, apsectVisParam, "ALOSASPECT")
黑色为阴面,北坡;白色为阳面,南坡,坡向计算结果: