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

如何获取栅格数据中最高点(高程)的坐标?

提取栅格DEM最高点的地理坐标

你已经获取了最高高程值,只需两步即可得到对应的地理坐标:

  • 定位最高值在掩膜数组中的行列索引
  • 通过GDAL的地理转换参数,将行列索引转换为实际地理坐标

补充代码实现

在你现有代码的末尾添加以下代码:

# 获取最高值对应的所有行列索引(若存在多个相同最高点,会返回全部)
row_indices, col_indices = np.where(data_masked == highest_val)

# 取第一个最高点的行列值(如需处理多个,可循环遍历索引数组)
target_row = row_indices[0]
target_col = col_indices[0]

# 转换为地理坐标
# 公式:地理X = 原点X + 列号 × 像素宽度;地理Y = 原点Y + 行号 × 像素高度
# GDAL返回的pixelHeight通常为负数,直接代入计算即可
geo_x = originX + target_col * pixelWidth
geo_y = originY + target_row * pixelHeight

print(f"最高高程值:{highest_val}")
print(f"对应地理坐标:(X: {geo_x}, Y: {geo_y})")

额外说明

  • 若栅格中存在多个相同的最高点,可以通过循环row_indices和col_indices数组,逐个计算每个点的地理坐标
  • 如需确认坐标的投影类型,可添加以下代码查看:
proj = osr.SpatialReference(wkt=ds.GetProjection())
print(f"栅格投影信息:{proj.GetAttrValue('projcs')}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 23:54:41