Migrate maps to @geoscene/core, polish monitoring/alerts UX, fix timeline basemap flicker and district alert regions, and ship compose/nginx Docker deploy assets with CBPOA_ROOT data mounts. Co-authored-by: Cursor <cursoragent@cursor.com>
2.0 KiB
2.0 KiB
CBPOA — 武汉儿童呼吸疾病风险评估系统
FastAPI + React + @geoscene/core + PyTorch GCN pipeline. 预测空气质量对儿童健康的空间风险。
Development
# Frontend (pnpm)
cd frontend && pnpm dev # localhost:3000 → proxies /api to :8000
# Backend (Python venv)
cd backend && uvicorn main:app --reload # localhost:8000
# ML pipeline
cd scripts && python train_model.py # PyTorch + MLflow
Where to Look
| Task | Location |
|---|---|
| API endpoint | backend/routers/ |
| Database / PostGIS | backend/database.py |
| UI component | frontend/src/components/ |
| GeoScene map helpers | frontend/src/geoscene/ |
| Page view | frontend/src/pages/ |
| API client / cache | frontend/src/services/api.ts |
| State management | frontend/src/stores/ |
| TypeScript types | frontend/src/types/ |
| ETL / data processing | scripts/ |
| ML model architecture | models/spatiotemporal_gcn/ |
| Trained weights | models/spatiotemporal_gcn/best_model.pt |
| Processed features | processed/ |
| Raw data sources | Datas/ |
| Docker / deploy | deploy/ |
Data Sources
| Data | Path | Notes |
|---|---|---|
| 气象+空气 | Datas/气象+空气/站点_*.csv |
3yr, 2192 files, ~2.37M rows |
| 门诊 | Datas/view_门诊.xlsx |
107,579 rows |
| 住院 | Datas/view_住院.xlsx |
5,822 rows |
| DEM高程 | Datas/DEM/CJJJD_DEM.TIF |
3.1GB raster |
| 人口密度 | Datas/landscan-hd-china-v1-assets/*.tif |
284MB |
| 行政边界 | Datas/武汉市.geojson |
Wuhan boundary |
ML Pipeline
气象(时间序列) + 站点坐标 + DEM高程 + 人口密度 → SpatialTemporalGCN → 风险预测 [1d, 3d, 7d]
Agent Workflow
Explore finds → Librarian reads → You plan → Worker implements → Validator checks
Context-specific guidance lives in nested CLAUDE.md files — they load automatically when you work in those directories. Closest CLAUDE.md to the file being edited takes precedence.