如何用R语言提取山脉山脊线?地形分析需求
如何基于DEM提取山脊线并计算特定点到山脊的距离?
我正在开展地形分析工作,需计算特定点到山脉山脊的距离。已使用geodata获取SRTM数据得到DEM,通过terra包的内置方法可完成坡度、TRI等地形参数计算:
aspect <- terra::terrain(dem, v = "aspect") tri <- terra::terrain(dem, v = "TRI") slope <- terra::terrain(dem, v = "slope")
但尚未找到合适的山脊线提取方法。曾尝试通过坡度变化实现,但存在两个关键问题:
- 山峰与山谷的坡度均为0(无负坡度),无法通过坡度正负区分山脊与山谷;
- 使用
focal方法仅能得到局部最大值点,而我需要提取的是连续的最高山脊线要素。
现有相关方案多聚焦于寻找最高点,而我需要的是线要素而非点数据。此外研究范围地理跨度大,通过设置高程阈值识别山脊的方法不可行。恳请有地理分析经验的人士提供解决方案,谢谢!
(附:高程、坡度、坡向示例图)


内容的提问来源于stack exchange,提问作者Tess H
相关产品推荐
相关产品推荐

