以下是使用 QGIS 编写代码来利用低精度 DEM 数据来填补高精度缺失的 DEM 数据的示例:
# 导入必要的库
from qgis.core import QgsProject, QgsRasterLayer
from qgis.analysis import QgsFillMissingValues
# 定义输入和输出路径
low_res_path = 'path_to_low_resolution_dem.tif' # 低精度 DEM 数据路径
high_res_path = 'path_to_high_resolution_dem.tif' # 高精度 DEM 数据路径
output_path = 'path_to_output_raster_file.tif' # 输出填补后的 DEM 数据路径
# 加载栅格图层(低精度)
low_res_layer = QgsRasterLayer(low_res_path, "Low Resolution DEM")
if not low_res_layer.isValid():
print("无法加载低精度 DEM 图层!")
exit()
# 加载栅格图层(高精度)
high_res_layer = QgsRasterLayer(high_res_path, "High Resolution DEM")
if not high_res_layer.isValid():
print("无法加载高精度 DEM 图层!")
exit()
# 创建填补算法对象
fill_algorithm = QgsFillMissingValues()
fill_algorithm.setInput(low_res_layer)
fill_algorithm.setSourceLayer(high_res_layer)
# 执行填补操作并保存结果
result = fill_algorithm.process(output_path)
if result:
print("DEM 数据填补完成!")
else:
print("填补过程中出现错误!")
请将 `path_to_low_resolution_dem.tif` 替换为您的低精度 DEM 数据文件的路径,将 `path_to_high_resolution_dem.tif` 替换为您的高精度 DEM 数据文件的路径,将 `path_to_output_raster_file.tif` 替换为您希望保存结果文件的路径。运行此代码将使用低精度 DEM 数据来填补高精度缺失的数据,并将结果保存到指定的输出路径中。