引言
在地理信息科学和遥感领域,地形晕渲图(Hillshade)是一种非常有用的可视化工具,它能够通过模拟光照效果,突出显示地形的起伏和地貌特征,帮助我们更直观地理解地形数据。Google Earth Engine(GEE)作为一个强大的地理空间数据分析平台,提供了丰富的工具和方法来处理和可视化地形数据。本文将详细介绍如何在 GEE 中利用 SRTM 数字高程模型(DEM)数据计算并可视化不同太阳方位角下的地形晕渲图。
一、代码实现步骤详解
1.1 角度转换函数定义
// 定义一个将角度从度转换为弧度的函数
function radians(img) {
return img.toFloat().multiply(Math.PI).divide(180);
}
这个函数的作用是将输入的图像数据(表示角度,单位为度)转换为弧度制。在后续的计算中,三角函数(如正弦、余弦)需要使用弧度制的角度值,因此这个转换是必要的。
1.2 地形晕渲图计算函数定义
// 定义一个根据地形数据计算地形晕渲图的函数,输入为太阳方位角、太阳天顶角、坡度和坡向
function hillshade(az, ze, slope, aspect) {
// 将角度转换为弧度
var azimuth = radians(ee.Image(az));
var zenith = radians(ee.Image(ze));
// 注意,对图像进行计算时需要使用图像对象的方法。
// 即 JavaScript 中的运算符(如 +、-、/、*)不能直接用于图像。
// 以下实现了:
// 地形晕渲值 = cos(太阳方位角 - 坡向) * sin(坡度) * sin(太阳天顶角) +
// cos(太阳天顶角) * cos(坡度)
return azimuth.subtract(aspect).cos()
.multiply(slope.sin())
.multiply(zenith.sin())
.add(
zenith.c

最低0.47元/天 解锁文章
1331

被折叠的 条评论
为什么被折叠?



