Files
HSAP/docs/FLEET_MAP.md
Chengfang Lu e72bc061c5 feat: HSAP platform v2 — modular navigation, quality review, audit log, world model simulation
Major changes:
- New frontend (platform/web/): Vite + React 18 + TypeScript + Tailwind
- 4-module navigation: 数据送标 / 模型管理 / 车队管理 / 系统管理
- Data catalog with charts (DMS/ADAS/Lane 3-tab view)
- Quality review workflow (标注质检): Good/Fine/Bad scoring with auto-advance
- Audit enhancements: batch operations, rejection categories, Feishu notifications
- Operation audit log (操作日志)
- World model simulation studio (仿真工坊)
- Dataset version management with snapshots and diff
- ADAS 7-class dataset integration (138K images organized + compressed)
- User management with Feishu integration and pagination
- CRUD/search/filter on all pages, card layout redesign
- PIL-optimized image overlay rendering
- Auto-snapshot on build, in_review workflow stage
- Removed embedded algorithm code (now in workspace)
2026-06-03 11:40:21 +08:00

82 lines
3.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# HSAP 车队地图(演示 / T-Box
## 功能
- 实时查看采集车位置与当前趟次轨迹(**默认高德栅格底图**,国内可访问;可选 `AS_MAP_TILE_PROVIDER=osm`
- 演示环境默认注入 3 台**长沙**周边假车湘A轨迹由贝塞尔曲线密点生成弯道而非直线折线后台每 8 秒模拟 T-Box 推进
## 环境变量
| 变量 | 默认 | 说明 |
|------|------|------|
| `AS_FLEET_MAP_ENABLED` | `1` | 启用车队 API |
| `AS_FLEET_MOCK_SEED` | `1` | 首次启动无车辆时注入演示数据 |
| `AS_FLEET_MOCK_SIMULATE` | `1` | 后台模拟 GPS 推进 |
| `AS_FLEET_SIM_INTERVAL_SEC` | `8` | 模拟间隔秒 |
| `AS_TBOX_INGEST_TOKEN` | `hsap-demo-tbox-token` | T-Box 上报 Token |
| `AS_MAP_TILE_PROVIDER` | `gaode` | 底图:`gaode` / `osm`(国内勿用 osm易灰屏 |
| `AS_AMAP_KEY` | 空 | 高德 Web JS Key可选后续 AMap API |
## T-Box 与车辆关联(无需页面「新建车辆」)
关联键是 **`device_id`**(入库字段 `tbox_device_id`
1. 运维在 T-Box / 采集机配置 HSAP 上报地址与 `X-Tbox-Token`(环境变量 `AS_TBOX_INGEST_TOKEN`)。
2. 终端首次 `POST /api/v1/tbox/gps` 时,若该 `device_id` 不存在,平台**自动创建**车辆记录(可用 body 里的 `plate_no` 填车牌)。
3. 后续同一 `device_id` 的点写入当前 active 行程;`run_signal=end/idle` 时结束行程。
可选 body 字段:`plate_no``engineer``project``batch``speed_kmh``heading``ts`
Web 页仅用于查看地图、改车牌备注、GPX 补录;**不需要**手工新建车辆。
## T-Box 上报示例
```bash
curl -X POST http://127.0.0.1:8787/api/v1/tbox/gps \
-H "Content-Type: application/json" \
-H "X-Tbox-Token: hsap-demo-tbox-token" \
-d '{"device_id":"TBOX-001","lat":22.72,"lng":114.25,"speed_kmh":40,"run_signal":"active","plate_no":"湘A·采集01"}'
```
## 手动重播种 / 推进
需登录且具备 `write:fleet`(工程师/管理员):
- `POST /api/v1/fleet/mock/seed` — 仅在无车辆时创建演示数据
- `POST /api/v1/fleet/mock/reseed` — 清空并重新注入长沙演示数据
- `POST /api/v1/fleet/mock/tick` — 手动推进一轮模拟 GPS
切换区域后重新注入:
```bash
curl -X POST http://127.0.0.1:8787/api/v1/fleet/mock/reseed \
-H "Authorization: Bearer <你的 token>"
```
## Phase 2 API生产化
| 方法 | 路径 | 说明 |
|------|------|------|
| POST | `/api/v1/tbox/gps/batch` | 批量上报(最多 100 点body `{"points":[...]}` |
| GET | `/api/v1/fleet/stream` | SSE 推送 `fleet.gps`(需 Redis + JWT |
| POST | `/api/v1/fleet/runs/import-csv` | CSV 补录:`lat,lng` 或带表头 `lat,lng,ts`;可选 `project`/`batch` 关联 DMS 批次 |
**超时关趟:** 车辆超过 10 分钟无新 GPS`RUN_IDLE_TIMEOUT_MIN`)时,`/fleet/live` 与 ingest 前会自动结束 active 行程。
## GPX 轨迹补录
`write:fleet`
```bash
curl -X POST http://127.0.0.1:8787/api/v1/fleet/runs/import-gpx \
-H "Authorization: Bearer <token>" \
-F vehicle_id=1 \
-F file=@track.gpx
```
前端车队页侧栏也可选择车辆上传 `.gpx` 文件。
## 前端
导航 **车队地图**(权限 `read:fleet`),页面每 15 秒轮询 live选中行程显示里程与里程碑地图红色点为里程碑。