Google Earth Engine 中地形晕渲图(Hillshade)的实现与应用

引言

在地理信息科学和遥感领域,地形晕渲图(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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

遥感AI实战

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

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

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

打赏作者

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

抵扣说明:

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

余额充值