无法真正“填补”没有的信息
你不能凭空从低分辨率 DEM 中恢复出高分辨率地形细节。所谓提高分辨率通常只有两种方式:
重采样 + 插值(视觉平滑):出图美观、临时显示优化
基于人工智能的处理算法:如超分影像(星图地球提供)
点击这里,使用QGIS插件,加载超分影像。
GRASS 工具实现栅格插值
使用 r.resamp.interp 工具实现。如下图所示。

PyQGIS代码实现
使用 gdal:warpreproject 工具实现。
修改变量
layer_name:图层名称
output_path:输出文件路径
target_resolution:输出栅格数据分辨率
# 提高 global_dem_part1 分辨率至 2 米
import os
from qgis.core import QgsProject, QgsProcessingFeedback
from qgis.analysis import QgsNativeAlgorithms
from processing.core.Processing import Processing
# 获取当前项目中的图层
layer_name = 'global_dem_part2'
project = QgsProject.instance()
layers = project.mapLayersByName(layer_name)
if not layers:
raise Exception("❌ 找不到名为 'global_dem_part2' 的图层,请检查名称是否正确。")
input_raster = layers[0]
# 设置输出路径
output_path = 'd:/output/global_dem_resampled_part2_2m.tif'
# 目标分辨率设为 2 米
target_resolution = 2.0
# 参数设置
params = {
'INPUT': input_raster,
'SOURCE_CRS': None,
'TARGET_CRS': None,
'RESAMPLING': 1, # 1 = bilinear; 0=nearest, 2=bicubic, 3=lanczos
'NODATA': None,
'TARGET_RESOLUTION': target_resolution,
'OUTPUT': output_path
}
# 运行 GDAL Warp 算法(重采样)
feedback = QgsProcessingFeedback()
result = processing.run("gdal:warpreproject", params, feedback=feedback)
# 加载结果到地图
if os.path.exists(output_path):
resampled_layer = iface.addRasterLayer(output_path, 'global_dem_2m')
print(f"✅ 成功生成高分辨率 DEM:{output_path}")
print("📈 已加载到地图中,分辨率为 2 米(插值后)。")
else:
print("❌ 处理失败,未生成输出文件。")
更多栅格处理问题,欢迎留言或联系我们。转载须注明出处。