fix: 智能坐标列检测 — proj_x/proj_y 优先 + 双列名输出

问题: CSV 中 UTM 米坐标被命名为 longitude/latitude,
  列名与实际内容不符, 容易引发 CRS 配置错误。

修复:

1. map.py read_csv_data: 优先级智能列检测
   proj_x/proj_y → longitude/latitude → lon/lat → x_coord/y_coord
   → 终极回退按位置[0][1]。新旧文件全部兼容。

2. csv_processor.py: 输出双列名
   proj_x + proj_y (新标准, 优先)
   longitude + latitude (旧标准, 兼容)
   值完全相同, 新旧代码都能正确读取
This commit is contained in:
duxin
2026-07-08 16:50:20 +08:00
parent f996353b37
commit 830589c108
2 changed files with 33 additions and 6 deletions

View File

@ -233,6 +233,8 @@ class WaterIndexCsvProcessor:
print(f"[WaterIndexCsvProcessor] {name}: 替换 {n_inf} 个 inf/-inf → NaN")
# ===== P0 防御结束 =====
out_df = pd.DataFrame({
"proj_x": df["longitude"].values,
"proj_y": df["latitude"].values,
"longitude": df["longitude"].values,
"latitude": df["latitude"].values,
name: per_idx.values,