diff --git a/src/postprocessing/map.py b/src/postprocessing/map.py index a939555..375c4cb 100644 --- a/src/postprocessing/map.py +++ b/src/postprocessing/map.py @@ -730,21 +730,21 @@ class ContentMapper: by_min = y_min + iy * block_dy by_max = y_min + (iy + 1) * block_dy - # 带缓冲区的搜索范围 - search_xmin = bx_min - window_size - search_xmax = bx_max + window_size - search_ymin = by_min - window_size - search_ymax = by_max + window_size - - # 缓冲区内的网格点索引 - grid_mask_x = (grid_x >= search_xmin) & (grid_x <= search_xmax) - grid_mask_y = (grid_y >= search_ymin) & (grid_y <= search_ymax) + # 块自身的网格(不含缓冲,保证每个网格点只被计算一次) + grid_mask_x = (grid_x >= bx_min) & (grid_x <= bx_max) + grid_mask_y = (grid_y >= by_min) & (grid_y <= by_max) if not np.any(grid_mask_x) or not np.any(grid_mask_y): continue sub_grid_x = grid_x[grid_mask_x] sub_grid_y = grid_y[grid_mask_y] + # 带缓冲区的搜索范围(仅用于筛选采样点) + search_xmin = bx_min - window_size + search_xmax = bx_max + window_size + search_ymin = by_min - window_size + search_ymax = by_max + window_size + # 缓冲区内的采样点 point_mask = ( (points[:, 0] >= search_xmin) & (points[:, 0] <= search_xmax) &