From e5f43f0297f7651934f402ecd3f014106767d1ca Mon Sep 17 00:00:00 2001 From: DXC Date: Fri, 10 Jul 2026 14:49:09 +0800 Subject: [PATCH] =?UTF-8?q?fix(interpolation.py):=20=E4=BF=AE=E5=A4=8D=20k?= =?UTF-8?q?rig=5Fvariables=20=E5=8F=98=E9=87=8F=E5=85=88=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E5=90=8E=E5=AE=9A=E4=B9=89=E7=9A=84=20NameError?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ordinary_kriging() 函数存在两个问题: 1. krig_variables 先使用后定义(NameError 被 try/except 静默吞掉): - 原代码: 第103-114行绘图调用引用了 krig_variables, 但该字典在第121-133行才创建 - 修复: 将 krig_variables 字典构造移至绘图调用之前(第103行之前), 确保 contour_krig()、heatmap_krig()、semivariogram_plot() 可正常获取数据 2. 启用克里金图表输出: - 原代码: contour_plot = None; grid_plot = None; semivariogram_plot = None - 修复: 分别调用 plotting.contour_krig()、plotting.heatmap_krig()、 plotting.semivariogram_plot(),每个调用独立 try/except 保护 影响范围:克里金等高线图和热力图从永远空白变为正常显示 --- src/gasflux/interpolation.py | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/gasflux/interpolation.py b/src/gasflux/interpolation.py index 229a3f4..37d7ca0 100644 --- a/src/gasflux/interpolation.py +++ b/src/gasflux/interpolation.py @@ -99,11 +99,6 @@ def ordinary_kriging( # np.nan_to_num(error_1s, copy=False, nan=0) volume_error = simpsonintegrate(error_1s, x_cell_size, y_cell_size) - # Plots disabled - contour_plot = None - grid_plot = None - semivariogram_plot = None - output_text = ( f"The emissions flux of {gas.upper()} is {volume:.3f}kgh⁻¹; " f"the cut and fill volumes of the grid are {volumepos:.3f} and {volumeneg:.3f}kgh⁻¹. " @@ -123,6 +118,20 @@ def ordinary_kriging( "volume_error": volume_error, } + # Generate plots (must be after krig_variables is defined) + try: + contour_plot = plotting.contour_krig(krig_variables) + except Exception: + contour_plot = None + try: + grid_plot = plotting.heatmap_krig(krig_variables) + except Exception: + grid_plot = None + try: + semivariogram_plot = plotting.semivariogram_plot(semivariogram, gas) + except Exception: + semivariogram_plot = None + return krig_variables, output_text, contour_plot, grid_plot, semivariogram_plot