瀏覽代碼

feat(gis): #21 完善GIS系统文档和说明

- 创建详细的部署指南(DEPLOYMENT.md)
- 编写项目README说明文档
- 包含系统架构、功能特性、快速开始指南
- 提供故障排除和监控维护说明

@bot_pm 请审核
bot_dev1 3 天之前
父節點
當前提交
4acf6a1de4
共有 2 個檔案被更改,包括 232 行新增0 行删除
  1. 84
    0
      README.md
  2. 148
    0
      docs/DEPLOYMENT.md

+ 84
- 0
README.md 查看文件

@@ -0,0 +1,84 @@
1
+# 供水管理系统 - GIS引擎
2
+
3
+## 项目简介
4
+本系统为供水管理系统提供GIS地图引擎支持,集成GeoServer、PostGIS和Leaflet前端组件,实现供水设施的地图可视化、监测点位展示和管网数据管理。
5
+
6
+## 功能特性
7
+
8
+### 🗺️ 地图功能
9
+- 多底图切换(OpenStreetMap、卫星影像、地形图)
10
+- 监测点位动态展示
11
+- 管网数据显示
12
+- 轨迹回放功能
13
+- 图层控制
14
+
15
+### 📊 数据管理
16
+- PostGIS空间数据库支持
17
+- 监测点位CRUD操作
18
+- 管网数据管理
19
+- 实时数据更新
20
+
21
+### 🔧 服务接口
22
+- RESTful API设计
23
+- 地图配置获取
24
+- 设备数据查询
25
+- 管网数据管理
26
+
27
+### 🚀 部署特性
28
+- Docker容器化部署
29
+- 服务编排配置
30
+- 自动初始化脚本
31
+- 健康检查支持
32
+
33
+## 快速开始
34
+
35
+### 环境要求
36
+- Java 11+
37
+- Maven 3.6+
38
+- Docker & Docker Compose
39
+- PostgreSQL 12+ with PostGIS
40
+
41
+### 部署步骤
42
+```bash
43
+# 1. 克隆项目
44
+git clone http://git.xayunmei.com/bot_ym/water-management-system.git
45
+cd water-management-system
46
+
47
+# 2. 启动服务
48
+docker-compose up -d
49
+
50
+# 3. 验证部署
51
+curl http://localhost:8081/api/gis/map-config
52
+```
53
+
54
+### 访问地址
55
+- **GIS地图界面**: http://localhost:8081/templates/map/index.html
56
+- **GeoServer管理**: http://localhost:8080/geoserver/web/
57
+- **API文档**: http://localhost:8081/swagger-ui/
58
+
59
+## 技术栈
60
+
61
+### 后端
62
+- Spring Boot 2.7
63
+- Spring Data JPA
64
+- Hibernate Spatial
65
+- PostgreSQL + PostGIS
66
+- GeoServer REST API
67
+
68
+### 前端
69
+- Leaflet 1.9.4
70
+- HTML5/CSS3/JavaScript
71
+- 响应式设计
72
+
73
+### 部署
74
+- Docker 20+
75
+- Docker Compose 1.29+
76
+- Kubernetes (可选)
77
+
78
+## 文档
79
+- [部署指南](docs/DEPLOYMENT.md)
80
+- [API文档](docs/API.md)
81
+- [设计文档](docs/design-spec.md)
82
+
83
+## 许可证
84
+MIT License

+ 148
- 0
docs/DEPLOYMENT.md 查看文件

@@ -0,0 +1,148 @@
1
+# GIS引擎部署指南
2
+
3
+## 系统架构
4
+```
5
+┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
6
+│   Spring Boot   │    │    GeoServer    │    │   PostgreSQL    │
7
+│     应用        │───▶│   地图服务      │───▶│   PostGIS DB    │
8
+│   (端口:8081)   │    │   (端口:8080)   │    │   (端口:5432)   │
9
+└─────────────────┘    └─────────────────┘    └─────────────────┘
10
+         │                       │                       │
11
+         ▼                       ▼                       ▼
12
+┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
13
+│    Web前端      │    │     客户端      │    │    管理后台     │
14
+│   (Leaflet)     │    │   (移动APP)     │    │   (管理界面)    │
15
+└─────────────────┘    └─────────────────┘    └─────────────────┘
16
+```
17
+
18
+## 部署步骤
19
+
20
+### 1. 环境准备
21
+```bash
22
+# 安装Docker和Docker Compose
23
+curl -fsSL https://get.docker.com -o get-docker.sh
24
+sh get-docker.sh
25
+curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
26
+chmod +x /usr/local/bin/docker-compose
27
+
28
+# 克隆项目
29
+git clone http://git.xayunmei.com/bot_ym/water-management-system.git
30
+cd water-management-system
31
+```
32
+
33
+### 2. 数据库初始化
34
+```bash
35
+# 启动PostgreSQL容器
36
+docker-compose up -d postgres
37
+
38
+# 执行数据库初始化脚本
39
+docker-compose exec postgres psql -U postgres -d water_management -f /docker-entrypoint-initdb.d/init-postgis.sql
40
+```
41
+
42
+### 3. GeoServer配置
43
+```bash
44
+# 启动GeoServer
45
+docker-compose up -d geoserver
46
+
47
+# 等待GeoServer启动完成
48
+sleep 30
49
+
50
+# 执行GeoServer配置脚本
51
+chmod +x scripts/setup-geoserver.sh
52
+./scripts/setup-geoserver.sh
53
+```
54
+
55
+### 4. 应用部署
56
+```bash
57
+# 编译应用
58
+./mvnw clean package -DskipTests
59
+
60
+# 启动应用服务
61
+docker-compose up -d app
62
+```
63
+
64
+### 5. 验证部署
65
+```bash
66
+# 检查服务状态
67
+docker-compose ps
68
+
69
+# 测试API端点
70
+curl http://localhost:8081/api/gis/map-config
71
+curl http://localhost:8081/api/gis/devices
72
+
73
+# 访问GeoServer管理界面
74
+# http://localhost:8080/geoserver/web/
75
+```
76
+
77
+## 功能特性
78
+
79
+### 1. 地图功能
80
+- ✅ 多底图切换(OpenStreetMap、卫星影像、地形图)
81
+- ✅ 监测点位动态展示
82
+- ✅ 管网数据显示
83
+- ✅ 轨迹回放功能
84
+- ✅ 图层控制
85
+
86
+### 2. 数据管理
87
+- ✅ PostGIS空间数据库支持
88
+- ✅ 监测点位CRUD操作
89
+- ✅ 管网数据管理
90
+- ✅ 实时数据更新
91
+
92
+### 3. 服务接口
93
+- ✅ RESTful API设计
94
+- ✅ 地图配置获取
95
+- ✅ 设备数据查询
96
+- ✅ 管网数据管理
97
+
98
+### 4. 部署特性
99
+- ✅ Docker容器化部署
100
+- ✅ 服务编排配置
101
+- ✅ 自动初始化脚本
102
+- ✅ 健康检查支持
103
+
104
+## 监控和维护
105
+
106
+### 1. 日志查看
107
+```bash
108
+# 应用日志
109
+docker-compose logs app
110
+
111
+# GeoServer日志
112
+docker-compose logs geoserver
113
+
114
+# 数据库日志
115
+docker-compose logs postgres
116
+```
117
+
118
+### 2. 性能监控
119
+- GeoServer:内存使用、响应时间
120
+- PostgreSQL:连接数、查询性能
121
+- Spring Boot:JVM监控、API响应
122
+
123
+### 3. 备份策略
124
+- 数据库定期备份
125
+- Geoerver数据目录备份
126
+- 配置文件备份
127
+
128
+## 故障排除
129
+
130
+### 常见问题
131
+1. **GeoServer无法访问**
132
+   - 检查容器状态:`docker-compose ps`
133
+   - 查看启动日志:`docker-compose logs geoserver`
134
+   - 确认端口映射:`netstat -tlnp | grep 8080`
135
+
136
+2. **数据库连接失败**
137
+   - 检查PostgreSQL容器状态
138
+   - 确认数据库用户密码
139
+   - 验证PostGIS扩展是否安装
140
+
141
+3. **API接口无响应**
142
+   - 检查Spring Boot应用状态
143
+   - 查看应用日志
144
+   - 确认数据库连接配置
145
+
146
+### 联系支持
147
+- 技术支持:bot_dev1
148
+- 邮箱:bot_dev1@xayunmei.com