How lsd-ff/beidou_map works
这是一个以 FastAPI、PostGIS 和 Vue 地图界面组成的农田 GIS 系统。用户可在地图驾驶舱查看农田边界、农业专题图层、统计与预警,或进入数据台账查询和维护记录;后端提供空间查询、综合详情、趋势及 CRUD。README 明确说明六类业务数据存储于 PostGIS,并采用 Router → Service → Repository → Database 分层。图中保留该主流程和仪表盘、台账、地图展示等能力;部分未抽样实现仅按 README 与现有目录标注,未推断具体服务间调用。
Main entry points: MapCockpit.vue 地图驾驶舱 · MapCanvas.vue 地图画布 · routes 业务路由 · farmland_service.py 地块服务
Components 20
地图与台账界面
- 地图驾驶舱
frontend/src/views/MapCockpit.vue - 地图画布
frontend/src/components/map/MapCanvas.vue - 图层控制
frontend/src/components/map/LayerPanel.vue - 图层管理器
frontend/src/map/layerManager.ts - 统计与预警
frontend/src/components/dashboard - 数据台账
frontend/src/views/DataListView.vue - 前端 API 客户端
frontend/src/api - 地图加载器
frontend/src/composables/useAmap.ts
REST API
- FastAPI 应用
backend/app/main.py - API 路由
backend/app/api/router.py - 业务路由
backend/app/api/routes
业务服务
- 地块服务
backend/app/services/farmland_service.py - 仪表盘服务
backend/app/services/dashboard_service.py - 专题与地图服务
backend/app/services - GeoJSON 与坐标
backend/app/services/geojson_service.py
空间数据
- 数据仓储
backend/app/repositories - 业务模型
backend/app/models - PostGIS 数据库
backend/app/core/database.py
外部服务
- 高德地图
Other components
- 用户
Connections 22
- 用户 → 地图驾驶舱: 打开地图
- 用户 → 数据台账: 维护数据
- 地图驾驶舱 → 地图画布: 展示地图
- 地图驾驶舱 → 统计与预警: 展示统计
- 地图驾驶舱 → 前端 API 客户端: 请求数据
- 数据台账 → 前端 API 客户端: 查询与提交
- 地图画布 → 图层控制: 控制图层
- 地图画布 → 图层管理器: 绘制地块
- 地图画布 → 地图加载器: 加载地图
- 地图加载器 → 高德地图: 加载底图
- 前端 API 客户端 → FastAPI 应用: REST 请求
- FastAPI 应用 → API 路由: 分发请求
- API 路由 → 业务路由: 注册路由
- 业务路由 → 地块服务: 调用地块业务
- 业务路由 → 仪表盘服务: 调用统计业务
- 业务路由 → 专题与地图服务: 调用专题业务
- 地块服务 → GeoJSON 与坐标: 转换空间数据
- 地块服务 → 数据仓储: 访问地块数据
- 仪表盘服务 → PostGIS 数据库: 查询统计
- 专题与地图服务 → 数据仓储: 访问专题数据
- 数据仓储 → PostGIS 数据库: 读写记录
- 业务模型 → PostGIS 数据库: 映射业务表