From 303f2025479461c6cd5acd9915bff69bec79a46c Mon Sep 17 00:00:00 2001 From: duxin Date: Thu, 9 Jul 2026 09:56:03 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20read=5Fcsv=5Fdata=20=E5=90=AB=E9=87=8F?= =?UTF-8?q?=E5=88=97=E5=8A=A8=E6=80=81=E8=AF=86=E5=88=AB=20=E2=80=94=20?= =?UTF-8?q?=E6=8E=92=E9=99=A4=E6=89=80=E6=9C=89=E5=9D=90=E6=A0=87=E5=88=97?= =?UTF-8?q?=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题: CSV 格式 [proj_x, proj_y, longitude, latitude, BGA_Am09KBBI], 旧逻辑 coord_cols={proj_x,proj_y} 只排除识别的坐标列, longitude 被错误提取为含量列 → Kriging 用坐标值插值 修复: 扩展排除集合包含全部已知坐标列名: proj_x/proj_y, longitude/latitude, x/y, lon/lat, x_coord/y_coord, pixel_x/pixel_y, geometry, uncertainty 兜底取最后一列 --- src/postprocessing/map.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/postprocessing/map.py b/src/postprocessing/map.py index 7651c65..a11ad81 100644 --- a/src/postprocessing/map.py +++ b/src/postprocessing/map.py @@ -900,15 +900,17 @@ class ContentMapper: print(f" ⚠ 未识别到标准坐标列名,按位置回退: " f"X={lon_col}, Y={lat_col}") - # 含量列:跳过坐标列后的第一列 - coord_cols = {lon_col, lat_col} + # 动态识别含量列(跳过已知的坐标列和特殊列) + _exclude_cols = {'proj_x', 'proj_y', 'longitude', 'latitude', + 'x', 'y', 'lon', 'lat', 'geometry', 'uncertainty', + 'x_coord', 'y_coord', 'pixel_x', 'pixel_y'} content_col = None - for c in df.columns: - if c not in coord_cols and not c.startswith('pixel_'): - content_col = c + for col in df.columns: + if col.lower() not in _exclude_cols and not col.startswith('pixel_'): + content_col = col break if content_col is None: - content_col = df.columns[2] + content_col = df.columns[-1] print(f"检测到列名:X({lon_col}),Y({lat_col}),含量({content_col})")