|
|
2 days ago | |
|---|---|---|
| .github | 4 months ago | |
| .vscode | 4 months ago | |
| META-INF | 4 months ago | |
| RuoYi-Vue3 | 2 days ago | |
| bin | 4 months ago | |
| doc | 4 months ago | |
| ruoyi-admin | 3 days ago | |
| ruoyi-common | 3 days ago | |
| ruoyi-framework | 3 days ago | |
| ruoyi-generator | 3 days ago | |
| ruoyi-quartz | 3 days ago | |
| ruoyi-system | 3 days ago | |
| .gitignore | 1 month ago | |
| LICENSE | 4 months ago | |
| README.md | 5 days ago | |
| pom.xml | 3 days ago | |
| ry.bat | 4 months ago | |
| ry.sh | 4 months ago |
项目简介 | 技术栈 | 项目启动 | 功能模块 | 功能使用说明 | 项目结构
省水利三维模型资源汇聚平台 是一个面向水利行业的二三维一体化 GIS 可视化管理系统。平台基于 RuoYi-Vue 前后端分离框架(v3.9.1)构建,深度融合 SuperMap iClient3D for WebGL 和 Cesium 三维地球引擎,实现水利工程模型资源的汇聚、管理、展示与分析。
平台提供水利工程模型的上传、分类管理、三维场景展示、空间分析、自定义服务接入等功能,旨在为水利信息化建设提供三维可视化基础支撑。
| 技术 | 说明 | 版本 |
|---|---|---|
| Spring Boot | 应用框架 | 2.5.15 |
| Spring Security | 安全认证框架 | 5.7.14 |
| MyBatis | ORM 框架 | - |
| Druid | 数据库连接池 | 1.2.27 |
| Redis | 分布式缓存 | - |
| JWT | 令牌认证 | 0.9.1 |
| Swagger | API 文档 | 3.0.0 |
| Fastjson | JSON 处理 | 2.0.60 |
| PageHelper | 分页插件 | 1.4.7 |
| Oshi | 系统监控 | 6.9.1 |
| Apache POI | Excel 处理 | 4.1.2 |
| Druid | 数据库连接池/监控 | - |
| 技术 | 说明 | 版本 |
|---|---|---|
| Vue 3 | 前端框架 | 3.5.16 |
| Element Plus | UI 组件库 | 2.10.7 |
| Vite | 构建工具 | 6.3.5 |
| Pinia | 状态管理 | 3.0.2 |
| Vue Router | 路由管理 | 4.5.1 |
| Axios | HTTP 请求库 | 1.9.0 |
| ECharts | 数据可视化 | 5.6.0 |
| Cesium | 三维地球引擎 | 1.140.0 |
| SuperMap iClient3D | 三维 GIS 组件库 | 1.2.2 |
| Three.js | 3D 渲染引擎 | 0.182.0 |
创建达梦数据库实例(如 WATERSHED),执行初始化 SQL 脚本:
# 按顺序执行以下脚本
sql/ry_20250522.sql # RuoYi 系统核心表(用户、角色、菜单等)
sql/quartz.sql # 定时任务 quartz 表
sql/watershed_model.sql # 水利工程模型表
sql/watershed_facility.sql # 水利设施表
sql/watershed_equipment.sql # 机电设备表
sql/create_service_table.sql # 自定义服务表
sql/cesium_map_config.sql # Cesium 地图配置表
sql/cesium_geojson.sql # GeoJSON 数据表
sql/watershed_menu.sql # 流域管理菜单权限配置
默认管理员账号:
admin/admin123如果使用 MySQL,请使用
ry_20250522.sql(该脚本为 MySQL 语法),其它 SQL 脚本为达梦语法。请根据实际数据库类型选择对应的初始化脚本。
ruoyi-admin/src/main/resources/application-druid.yml — 配置数据库连接:
spring:
datasource:
druid:
master:
url: jdbc:dm://192.168.0.145:30236?charSet=utf8
username: YOUR_DB_USERNAME
password: YOUR_DB_PASSWORD
application.yml — 配置 Redis 和文件上传路径:
spring:
redis:
host: YOUR_REDIS_HOST
port: 6379
password: YOUR_REDIS_PASSWORD
database: 14
ruoyi:
profile: uploads/models # 模型文件上传路径
cd ruoyi-admin
mvn spring-boot:run
http://localhost:8448http://localhost:8448/swagger-ui.htmlhttp://localhost:8448/druid(账号:ruoyi / 密码:123456)cd RuoYi-Vue3
# 首次启动需安装依赖
npm install
# 启动开发服务器
npm run dev
http://localhost/dev-api → http://localhost:8448http://localhostadmin / admin123(需输入验证码)cd RuoYi-Vue3
# 生产环境构建
npm run build:prod
# 预发布环境构建
npm run build:stage
构建产物在 RuoYi-Vue3/dist/ 目录,部署到 Nginx 即可。
基于 RuoYi-Vue 框架内置权限管理系统,提供完整的用户、角色、权限管理能力:
用户是系统操作者,支持用户的增删改查、状态管理、角色分配。
配置系统组织机构(公司、部门、小组),树结构展现,支持数据权限。
配置系统用户所属担任职务。
配置系统菜单、操作权限、按钮权限标识等,支持外链和内链。
角色菜单权限分配、设置角色按机构进行数据范围权限划分。
对系统中经常使用的一些较为固定的数据进行维护。
对系统动态配置常用参数。
系统通知公告信息发布维护。
系统正常操作日志记录和查询;系统异常信息日志记录和查询。
系统登录日志记录查询包含登录异常。
当前系统中活跃用户状态监控,支持强制下线。
在线(添加、修改、删除)任务调度包含执行结果日志。
前后端代码的生成(Java、HTML、Vue、SQL),支持 CRUD 下载。
根据业务代码自动生成相关的 API 接口文档。
/swagger-ui.html监视当前系统 CPU、内存、磁盘、堆栈等相关信息。
对系统的缓存信息查询,命令统计等。
拖动表单元素生成相应的 HTML 代码。
监视当前系统数据库连接池状态,可进行分析 SQL 找出系统性能瓶颈。
/druid,输入账号密码查看 SQL 监控三维地球主界面,集成 SuperMap Cesium 3D 引擎,提供丰富的地图交互能力。
页面布局:
使用方式:
加载各类 GIS 数据服务到三维场景中。
公共服务(预配置): | 服务名称 | 类型 | 说明 | |---------|------|------| | CBD | S3M 场景 | SuperMap 在线三维城市数据 | | 倾斜摄影模型 | S3M | 倾斜摄影三维模型 | | 白模 | S3M | 城市建筑白模(线框模式) | | BIM 建筑 | S3M | BIM 建筑模型展示 | | 珠峰地形影像 | 影像+地形 | 珠穆朗玛峰区域地形与影像 | | 点云 | S3M 点云 | 三维点云数据 | | 京津地区 MVT | MVT 矢量瓦片 | 矢量地图服务 |
在线底图:
自定义服务:
使用方式:
水利工程模型的上传、分类、查看与管理。
模型分类体系: | 一级分类 | 二级分类 | 示例 | |---------|---------|------| | 水利工程实体 | 水库工程、水闸工程、泵站工程、灌区工程、堤防与护岸工程 | | | 水系水利设施 | 河流、湖泊与水库水面、渠道与输水管道、河口与海岸带 | | | 地理环境要素 | 地形地貌、行政区划、重要地物 | | | 自然生态景观 | 湖泊湿地、森林公园、地质公园、海岸带景观 | | | 模型集与项目 | 待分类模型、XX 市防洪排涝工程 | |
使用方式:
模型查看:
模型上传:
模型预览:
管理用户自定义的 GIS 服务,持久化保存服务配置。
使用方式:
提供丰富的三维空间分析能力:
| 分析类型 | 功能 | 使用方式 |
|---|---|---|
| 量算 | 测量距离、面积、高度 | 点击「三维分析 → 量算」,在地图上点选测量 |
| 阴影分析 | 模拟建筑物阴影覆盖范围 | 点击「三维分析 → 阴影分析」,设置时间参数 |
| 天际线分析 | 分析场景天际线轮廓 | 点击「三维分析 → 天际线分析」 |
| 通视分析 | 分析两点间可视性 | 点击「三维分析 → 通视分析」,设置观察点和目标点 |
| 剖面分析 | 分析地形剖面 | 点击「三维分析 → 剖面分析」,绘制剖面线 |
| 可视域分析 | 分析观察点的可视范围 | 点击「三维分析 → 可视域分析」,设置观察点参数 |
| 开敞度分析 | 分析空间开敞程度 | 点击「三维分析 → 开敞度分析」 |
| 三维空间查询 | 三维场景空间查询 | 点击「三维分析 → 三维空间查询」 |
| 拾取坐标 | 拾取场景中任意点坐标 | 点击「三维分析 → 拾取坐标」,点击地图获取经纬度 |
| 功能 | 说明 | 使用方式 |
|---|---|---|
| 地形操作 | 地形开挖、填方等操作 | 点击「地形分析 → 地形操作」,绘制区域 |
| 淹没分析 | 模拟水位上升淹没范围 | 点击「地形分析 → 淹没分析」,设置水位高度 |
| 坡度坡向分析 | 分析地形坡度和坡向 | 点击「地形分析 → 坡度坡向分析」 |
| 等值线分析 | 生成地形等高线 | 点击「地形分析 → 等值线分析」 |
| 功能 | 说明 | 使用方式 |
|---|---|---|
| Box 裁剪 | 长方体裁剪三维模型 | 点击「裁剪分析 → Box 裁剪」,调整裁剪盒 |
| 平面裁剪 | 平面裁剪三维模型 | 点击「裁剪分析 → 平面裁剪」,调整裁切面 |
| Cross 裁剪 | 交叉裁剪 | 点击「裁剪分析 → Cross 裁剪」 |
| 多边形裁剪 | 多边形区域裁剪 | 点击「裁剪分析 → 多边形裁剪」,绘制多边形 |
| 功能 | 说明 |
|---|---|
| S3M 图层属性设置 | 查看和修改 S3M 图层属性 |
| S3M 图层风格设置 | 调整 S3M 图层显示风格(颜色、透明度等) |
| S3M 图层操作 | S3M 图层的显示/隐藏、移除等操作 |
| 图层管理 | 统一管理所有已加载图层 |
| 影像图层属性设置 | 影像图层的属性设置 |
| 倾斜摄影模型操作 | 倾斜摄影模型的交互操作 |
| MVT 矢量瓦片 | 矢量瓦片图层风格设置 |
| PBR | PBR 材质渲染 |
| 功能 | 说明 | 使用方式 |
|---|---|---|
| 分屏 | 左右分屏对比显示 | 点击「场景 → 分屏」 |
| 卷帘 | 上下卷帘对比 | 点击「场景 → 卷帘」,拖动卷帘线 |
| 场景属性设置 | 设置场景背景色、雾效等 | 点击「场景 → 场景属性设置」 |
| 灯光 | 添加点光源、聚光灯 | 点击「场景 → 灯光」,设置灯光位置和参数 |
| 沿线飞行 | 沿指定路径飞行浏览 | 点击「场景 → 沿线飞行」,绘制飞行路径 |
| 视频投放 | 将视频投射到三维模型表面 | 点击「场景 → 视频投放」 |
| 体元栅格 | 带时序的体元栅格数据渲染 | 点击「场景 → 带时序的体元栅格」 |
| 鹰眼 | 鹰眼概览图 | 点击「场景 → 鹰眼」,显示小窗口概览 |
| 功能 | 说明 | 使用方式 |
|---|---|---|
| 绘制线面 | 在场景中绘制线和面 | 点击「绘制 → 绘制线面」,点击地图绘制 |
| 绘制体 | 绘制立方体、球体等几何体 | 点击「绘制 → 绘制体」 |
| 添加点符号 | 在场景中添加带图标标记 | 点击「绘制 → 添加点符号」,选择符号类型 |
| 功能 | 说明 |
|---|---|
| 扫描线 | 添加扫描线特效 |
| 粒子 | 粒子系统特效(火焰、烟雾、雨水、喷泉等) |
支持多种粒子预设:化学火焰、基础火焰、小型火焰、干粉、建筑火焰、暗火、森林火焰、水柱、油气火焰、流淌火、烟熏火、烟雾、爆炸起火、环状火焰、雨水、雾状水等。
加载和查看台风路径数据,在三维场景中动态展示台风轨迹。
使用方式:
独立的 3D 模型预览查看工具,支持 GLB/GLTF 等格式模型的详细查看。
使用方法:
管理水利设施的基本信息、位置、负责人等。
使用方式:
管理泵站、闸门等机电设备的详细参数和维护信息。
使用方式:
PlatformModel
├── ruoyi-admin # 后台管理模块(启动入口)
│ └── src/main/
│ ├── java/com/ruoyi/web/
│ │ └── controller/
│ │ └── watershed/ # 水利业务 Controller
│ │ ├── WatershedModelController.java
│ │ └── WatershedServiceController.java
│ └── resources/
│ ├── application.yml # 主配置
│ ├── application-druid.yml # 数据源配置
│ └── sql/ # SQL 初始化脚本
├── ruoyi-common # 公共模块(工具类、通用组件)
├── ruoyi-framework # 核心框架(安全、配置、权限)
├── ruoyi-system # 系统模块(业务实体、Service、Mapper)
├── ruoyi-quartz # 定时任务模块
├── ruoyi-generator # 代码生成模块
├── RuoYi-Vue3 # 前端项目
│ ├── src/
│ │ ├── api/ # API 接口封装
│ │ │ ├── watershed/ # 水利业务 API
│ │ │ ├── system/ # 系统管理 API
│ │ │ ├── monitor/ # 系统监控 API
│ │ │ └── cesium/ # Cesium 地图配置 API
│ │ ├── views/ # 页面组件
│ │ │ ├── front/ # 前台页面(三维平台首页、模型管理)
│ │ │ │ ├── HydrologicalPlatform.vue # 三维平台首页
│ │ │ │ ├── ModelManagement.vue # 模型管理页面
│ │ │ │ ├── PageHeader.vue # 顶部导航栏
│ │ │ │ └── content/ # 内容组件
│ │ │ │ ├── ShuiliGongcheng.vue # 水利工程模型列表
│ │ │ │ ├── ShuiliSheshi.vue # 水利设施
│ │ │ │ ├── JidianShebei.vue # 机电设备
│ │ │ │ ├── TyphoonPath.vue # 台风路径
│ │ │ │ └── ModelPreview.vue # 模型预览
│ │ │ ├── system/ # 系统管理页面
│ │ │ ├── monitor/ # 系统监控页面
│ │ │ ├── tool/ # 系统工具页面
│ │ │ └── login.vue # 登录页面
│ │ ├── supermap-cesium-module/ # SuperMap Cesium 三维模块
│ │ │ ├── config/ # 配置文件
│ │ │ │ ├── views_config.js # 三维分析组件配置
│ │ │ │ └── server_config.js # 服务数据配置
│ │ │ ├── components/ # 三维分析功能组件
│ │ │ │ ├── analysis_3d/ # 三维分析
│ │ │ │ ├── clip/ # 裁剪分析
│ │ │ │ ├── draw/ # 绘制
│ │ │ │ ├── fly/ # 飞行
│ │ │ │ └── layer/ # 图层
│ │ │ └── views/layout/ # 三维场景布局
│ │ ├── router/index.js # 路由配置
│ │ ├── store/ # 状态管理
│ │ └── main.js # 入口文件
│ ├── public/
│ │ ├── Cesium/ # Cesium 引擎库
│ │ ├── img/ # 图片资源
│ │ └── data/ # 三维模型数据
│ ├── index.html
│ ├── vite.config.js
│ └── package.json
└── pom.xml # Maven 父项目配置
| 角色 | 账号 | 密码 |
|---|---|---|
| 超级管理员 | admin | admin123 |
| 普通用户 | ry | admin123 |