You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R语言中基于DEM差分计算海岸沙体体积变化的方法问询

DEM差分计算海岸沙体体积变化的方法

你的核心思路是对的,但需要注意具体实现细节,不能直接简单用高程差栅格乘以像素大小,正确步骤如下:

1. 计算单个像素面积

你的DEM分辨率为0.0464469 m(x、y方向一致),单个像素的面积为:

pixel_area = 0.0464469 * 0.0464469  # 约等于0.0021573 平方米

2. 体积变化的正确计算方式

需要先对高程差栅格的所有有效像元值求和,再乘以单个像素的面积:

# 计算高程差栅格的像元值总和(排除NA值)
diff_sum = cellStats(elevation_difference, sum, na.rm = TRUE)

# 计算总体积变化
volume_change = diff_sum * pixel_area

3. 关键注意事项

  • NA值处理:如果栅格中存在无数据像元(比如区域内的水域、未采集数据的区域),必须加上na.rm=TRUE,否则求和结果会变为NA,导致体积计算失败。
  • 正负值含义:dem18 - dem1的结果中,正值代表该区域沙体堆积(体积增加),负值代表沙体被侵蚀(体积减少),最终的volume_change正负也对应整体的堆积/侵蚀状态。
  • 单位验证:你的CRS单位为米,分辨率单位也是米,因此计算出的体积单位为立方米,无需额外转换。

内容的提问来源于stack exchange,提问作者Charlotte Taelman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 03:25:23