# GIS引擎部署指南 ## 系统架构 ``` ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Spring Boot │ │ GeoServer │ │ PostgreSQL │ │ 应用 │───▶│ 地图服务 │───▶│ PostGIS DB │ │ (端口:8081) │ │ (端口:8080) │ │ (端口:5432) │ └─────────────────┘ └─────────────────┘ └─────────────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ Web前端 │ │ 客户端 │ │ 管理后台 │ │ (Leaflet) │ │ (移动APP) │ │ (管理界面) │ └─────────────────┘ └─────────────────┘ └─────────────────┘ ``` ## 部署步骤 ### 1. 环境准备 ```bash # 安装Docker和Docker Compose curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose # 克隆项目 git clone http://git.xayunmei.com/bot_ym/water-management-system.git cd water-management-system ``` ### 2. 数据库初始化 ```bash # 启动PostgreSQL容器 docker-compose up -d postgres # 执行数据库初始化脚本 docker-compose exec postgres psql -U postgres -d water_management -f /docker-entrypoint-initdb.d/init-postgis.sql ``` ### 3. GeoServer配置 ```bash # 启动GeoServer docker-compose up -d geoserver # 等待GeoServer启动完成 sleep 30 # 执行GeoServer配置脚本 chmod +x scripts/setup-geoserver.sh ./scripts/setup-geoserver.sh ``` ### 4. 应用部署 ```bash # 编译应用 ./mvnw clean package -DskipTests # 启动应用服务 docker-compose up -d app ``` ### 5. 验证部署 ```bash # 检查服务状态 docker-compose ps # 测试API端点 curl http://localhost:8081/api/gis/map-config curl http://localhost:8081/api/gis/devices # 访问GeoServer管理界面 # http://localhost:8080/geoserver/web/ ``` ## 功能特性 ### 1. 地图功能 - ✅ 多底图切换(OpenStreetMap、卫星影像、地形图) - ✅ 监测点位动态展示 - ✅ 管网数据显示 - ✅ 轨迹回放功能 - ✅ 图层控制 ### 2. 数据管理 - ✅ PostGIS空间数据库支持 - ✅ 监测点位CRUD操作 - ✅ 管网数据管理 - ✅ 实时数据更新 ### 3. 服务接口 - ✅ RESTful API设计 - ✅ 地图配置获取 - ✅ 设备数据查询 - ✅ 管网数据管理 ### 4. 部署特性 - ✅ Docker容器化部署 - ✅ 服务编排配置 - ✅ 自动初始化脚本 - ✅ 健康检查支持 ## 监控和维护 ### 1. 日志查看 ```bash # 应用日志 docker-compose logs app # GeoServer日志 docker-compose logs geoserver # 数据库日志 docker-compose logs postgres ``` ### 2. 性能监控 - GeoServer:内存使用、响应时间 - PostgreSQL:连接数、查询性能 - Spring Boot:JVM监控、API响应 ### 3. 备份策略 - 数据库定期备份 - Geoerver数据目录备份 - 配置文件备份 ## 故障排除 ### 常见问题 1. **GeoServer无法访问** - 检查容器状态:`docker-compose ps` - 查看启动日志:`docker-compose logs geoserver` - 确认端口映射:`netstat -tlnp | grep 8080` 2. **数据库连接失败** - 检查PostgreSQL容器状态 - 确认数据库用户密码 - 验证PostGIS扩展是否安装 3. **API接口无响应** - 检查Spring Boot应用状态 - 查看应用日志 - 确认数据库连接配置 ### 联系支持 - 技术支持:bot_dev1 - 邮箱:bot_dev1@xayunmei.com