AgriRisk Multi-dimensional Identification & Quantitative Evaluation System (AM-IQES)
让农业风险“看得见、算得准、防得住”。 本系统是一套集成气象灾害、产业链波动、金融信贷等多源数据的决策支持平台,利用熵值法与主成分分析(PCA)构建量化模型,实现从省级宏观到企业微观的全方位风险监控。
系统采用前后端分离架构,确保高性能计算与流畅交互:
系统风险得分 的计算遵循以下逻辑:
| 角色 | 负责内容 | 关键交付物 |
|---|---|---|
| 算法组 | 熵值法/PCA 脚本编写 | core/math_engine.py |
| 数据组 | 气象/价格/信贷数据抓取 | 结构化数据库 (PostgreSQL) |
| 后端组 | API 接口与视角切换逻辑 | Swagger API 文档 |
| 前端组 | 热力图与风险雷达可视化 | 交互式看板原型 |
# 1. 启动后端
cd backend
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8000
# 2. 启动前端(新终端)
cd frontend
npm install
npm run dev
或者一键启动:
bash scripts/start-all.sh
docker-compose up --build
agri-srisk/ ├── backend/ # Python 后端 │ ├── app/ │ │ ├── main.py # FastAPI 入口 │ │ ├── core/ │ │ │ ├── math_engine.py # 熵值法 + PCA 核心算法 │ │ │ ├── indicator_system.py # 12项指标体系定义 │ │ │ └── score_calculator.py # 风险评分计算 │ │ ├── api/ # REST API 路由 │ │ │ ├── province.py # 省级视角 API │ │ │ ├── enterprise.py # 企业级视角 API │ │ │ └── indicators.py # 指标体系 API │ │ ├── services/ # 业务逻辑层 │ │ ├── models/ # Pydantic 数据模型 │ │ └── utils/ # 工具函数 │ ├── tests/ # 单元测试 │ └── Dockerfile ├── frontend/ # Vue 3 前端 │ ├── src/ │ │ ├── views/Dashboard.vue # 主看板 │ │ ├── components/ # 6个可视化组件 │ │ ├── stores/ # Pinia 状态管理 │ │ └── api/ # API 调用封装 │ ├── Dockerfile │ └── nginx.conf ├── scripts/ # 启动脚本 ├── docker-compose.yml └── README.md
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/provinces/risk | 31省风险评分 |
| GET | /api/v1/provinces/risk/{id} | 单省详情 |
| GET | /api/v1/provinces/rankings | 省份排名 |
| GET | /api/v1/enterprises/risk | 企业风险评分 |
| GET | /api/v1/enterprises/risk/{id} | 企业详情 |
| GET | /api/v1/indicators | 指标体系定义 |
| GET | /api/v1/indicators/dimensions | 维度列表 |
完整 API 文档见 Swagger UI