fix: formula report reads distribution maps from 12_visualization/distribution_maps/ instead of 11_Thematic_Map
This commit is contained in:
@ -947,7 +947,9 @@ class WaterQualityReportGenerator:
|
||||
from docx.enum.text import WD_ALIGN_PARAGRAPH
|
||||
|
||||
vis_dir = self.visualization_dir
|
||||
thematic_dir = self.work_dir / "11_Thematic_Map"
|
||||
# 分布图优先从 12_visualization/distribution_maps 找,再回退 11_Thematic_Map
|
||||
dist_map_dir = vis_dir / "distribution_maps"
|
||||
thematic_dir = dist_map_dir if dist_map_dir.is_dir() else self.work_dir / "11_Thematic_Map"
|
||||
csv_dir = self.work_dir / "10_WaterIndex_CSV"
|
||||
|
||||
if output_path is None:
|
||||
@ -956,10 +958,17 @@ class WaterQualityReportGenerator:
|
||||
else:
|
||||
output_path = Path(output_path)
|
||||
|
||||
# 扫描实际数据量,计算进度脉冲数(非数据量本身)
|
||||
# 扫描实际数据量:专题图优先匹配 distribution/rendered 命名
|
||||
csv_files = sorted(csv_dir.glob("*.csv")) if csv_dir.is_dir() else []
|
||||
tif_files = (sorted(thematic_dir.glob("*.tif")) + sorted(thematic_dir.glob("*.png"))
|
||||
) if thematic_dir.is_dir() else []
|
||||
tif_files = []
|
||||
if thematic_dir.is_dir():
|
||||
tif_files = (sorted(thematic_dir.glob("*distribution*.png"))
|
||||
+ sorted(thematic_dir.glob("*rendered*.png"))
|
||||
+ sorted(thematic_dir.glob("*.tif"))
|
||||
+ sorted(thematic_dir.glob("*.png")))
|
||||
# 去重(同名文件可能多次匹配)
|
||||
seen = set()
|
||||
tif_files = [f for f in tif_files if f.name not in seen and not seen.add(f.name)]
|
||||
n_csv = len(csv_files)
|
||||
n_maps = min(len(tif_files), 20)
|
||||
n_csv_pulses = max(1, n_csv // 10) # 每 10 个 CSV 一次脉冲
|
||||
|
||||
Reference in New Issue
Block a user