chengkai3
|
3fb4d5f170
|
fix:[FL-172][高程数据管理页面上传文件提交表单报错]
修复高程文件上传接口的422错误。
问题原因:
ElevationFileRecordCreateRequest schema 的 mount_code 字段设置了 min_length=2 约束,
当前端传递空字符串时,Pydantic 验证失败导致 422 Unprocessable Entity 错误。
解决方案:
1. 添加 field_validator,将空字符串转换为 None
2. 应用到以下 Request schemas 的可选字符串字段:
- ElevationFileRecordCreateRequest: source, mount_code, notes
- ElevationFileRecordUpdateRequest: source, notes
- ElevationDatasetCreateRequest: source, mount_code, file_name, notes
- ElevationDatasetUpdateRequest: name, source, notes
这样可以确保:
- 空字符串被规范化为 None
- 保持向后兼容性
- 后端逻辑可以正确使用默认 mount_code(第一个可用挂载点)
Co-authored-by: multica-agent <github@multica.ai>
|
2026-06-21 13:15:29 +08:00 |
|
chengkai3
|
899d5316cf
|
feat:[FL-211][高程管理扁平化为文件记录]
Co-authored-by: multica-agent <github@multica.ai>
|
2026-06-20 18:03:27 +08:00 |
|
chengkai3
|
86870f4610
|
feat: 高程管理重构 - 从数据集中心到文件中心
## 重构目标
将高程数据管理从"数据集中心"模式重构为"文件中心"模式,去掉 ElevationDataset 概念,
扁平化为 ElevationFileRecord,每条记录对应一个高程文件。
## 主要变更
### 数据库层
- 新增 `elevation_file_record` 表,合并原 dataset 核心字段
- 更新 `elevation_apply_job` 和 `elevation_data_import_job`,添加 `file_record_id` 字段
- 创建数据迁移脚本 `001_add_elevation_file_record.sql`
- 保留旧表用于向后兼容
### 后端 API
- 新增 `/api/v1/elevation/records` 路由组(推荐使用)
- GET /records - 文件记录列表
- POST /records - 上传文件并创建记录(上传即创建)
- GET /records/{id} - 获取记录详情
- PATCH /records/{id} - 更新记录
- DELETE /records/{id} - 删除记录
- POST /records/{id}/analyze - 触发分析
- POST /records/{id}/terrain/build - 生成地形瓦片
- GET /records/{id}/preview - 预览数据
- 保留 `/api/v1/elevation/datasets` 路由用于向后兼容
- Apply API 支持 `file_record_id` 和 `dataset_id` 双 ID
### 后端代码
- 新增 `elevation_file_record_service.py` (601 行),包含完整 CRUD 和操作逻辑
- 新增模型 `ElevationFileRecord`
- 新增 Schema:FileRecordSummary, CreateRequest, UpdateRequest 等
- 新增 Celery 任务:
- `analyze_elevation_file_record_job`
- `build_elevation_file_record_terrain_job`
- 新增执行函数:
- `execute_file_record_analysis_job`
- `execute_file_record_terrain_build_job`
- 更新模型字段,支持双 ID 关联
### 前端
- 新增简化页面 `/admin/elevation-records` (542 行)
- 从原 1760 行简化到 542 行
- 上传即创建,无需先建数据集
- 每行直接对应一个文件
- 操作更直观
### 文档
- 新增 `REFACTOR_SUMMARY.md` 完整重构说明
- 新增 `api/migrations/README.md` 迁移指南
## 用户体验改进
旧流程(4步):
1. 创建数据集(填编码+名称)
2. 导入文件到数据集
3. 分析数据集
4. 预览/地形/回填
新流程(2步):
1. 上传文件(填来源+分辨率)→ 自动创建+分析
2. 预览/地形/回填
## 向后兼容
- 保留旧表和旧 API,新旧系统可并存
- Apply Job 同时支持新旧 ID
- 提供平滑迁移路径
## 技术指标
- 代码简化:前端从 1760 行 → 542 行(-69%)
- 概念简化:去除"数据集"中间层
- API 数量:新增 8 个文件记录端点
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
2026-06-20 09:01:16 +08:00 |
|
chengkai3
|
07735fb23f
|
feat: [FL-104][高程数据管理中文件明细要展示各个文件的坐标范围]
- 添加 ElevationDatasetFileMeta 数据库模型存储文件级别坐标范围
- 更新 API schema 和 service,返回每个文件的 bbox 信息
- 修改高程数据分析任务,遍历目录所有文件并提取坐标范围
- 前端文件明细表格新增坐标范围列
- 创建数据库迁移脚本
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
|
2026-06-13 07:59:08 +08:00 |
|
chengkai3
|
2a5cbe474b
|
fix:[FL-92][高程数据管理预览时地形图渲染不出来] - 添加minzoom字段
修复地形图layer.json缺少minzoom字段导致Cesium无法正确加载地形的问题。
根本原因:
- Cesium地形加载需要layer.json同时包含minzoom和maxzoom字段
- 之前只有maxzoom字段,导致Cesium不知道从哪个层级开始加载地形
- 虽然瓦片数据正常(API返回200),但前端无法正确渲染三维地形
修改内容:
1. 在ElevationTerrainLayerResponse模型中添加minzoom字段(schemas/elevation.py)
2. 在地形构建代码中设置minzoom=0(services/elevation_service.py)
3. 地形瓦片的zoom level范围现在完整定义为0-6
影响:
- 已构建的地形数据需要重新触发构建任务才能生成包含minzoom的新layer.json
- 新构建的地形将自动包含minzoom字段
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
|
2026-06-12 22:57:25 +08:00 |
|
chengkai3
|
61a1954034
|
[feat]:[FL-80][高程数据导入异步并支持进度回看]
Co-authored-by: multica-agent <github@multica.ai>
|
2026-06-10 15:38:10 +08:00 |
|
chengkai3
|
2ad2405cd3
|
[fix/feat]:[FL-74][高程数据支持DEM地形瓦片预览和线路地形图]
Co-authored-by: multica-agent <github@multica.ai>
|
2026-06-10 00:26:09 +08:00 |
|
chengkai3
|
4e2b3dcdad
|
[fix]:[FL-57][统一计算任务到 Celery worker]
Co-authored-by: multica-agent <github@multica.ai>
|
2026-06-09 08:29:10 +08:00 |
|
Admin
|
7c121b8948
|
优化高程数据管理交互并补充分析进度与文件明细能力
Co-authored-by: multica-agent <github@multica.ai>
|
2026-05-03 15:24:47 +08:00 |
|
Admin
|
0952edd402
|
支持高程批量导入进度与异步分析任务监控
Co-authored-by: multica-agent <github@multica.ai>
|
2026-05-03 14:20:19 +08:00 |
|
Admin
|
df7c6ca14e
|
完成高程数据集优化并支持多文件导入自动分析
Co-authored-by: multica-agent <github@multica.ai>
|
2026-05-03 13:42:51 +08:00 |
|
Admin
|
3362b6b67e
|
展示sample_tx_err首条异常原文
Co-authored-by: multica-agent <github@multica.ai>
|
2026-05-03 12:14:32 +08:00 |
|
Admin
|
779acf8e1e
|
支持高程数据管理批量导入
Co-authored-by: multica-agent <github@multica.ai>
|
2026-05-03 11:59:40 +08:00 |
|
Admin
|
4b0c7eda69
|
新增高程预览诊断信息面板
Co-authored-by: multica-agent <github@multica.ai>
|
2026-05-03 11:29:06 +08:00 |
|
Admin
|
556da5c155
|
改造高程预览为地形网格渲染
Co-authored-by: multica-agent <github@multica.ai>
|
2026-05-03 10:43:23 +08:00 |
|
Admin
|
8672f4b7cc
|
新增高程数据Cesium预览功能
Co-authored-by: multica-agent <github@multica.ai>
|
2026-05-03 10:00:16 +08:00 |
|
chengkai3
|
e5a33d7f9a
|
feat: add elevation dataset management and line altitude apply jobs
|
2026-05-01 17:10:19 +08:00 |
|