一个基于 Spring Boot 3 + Vue 3 的 3D 点云数据处理工作站,支持 LAS/LAZ/PLY/PCD/XYZ 五种主流格式的上传、WebGL 可视化、9 种点云算法处理及 AI 交互,可应用于测绘、三维重建等领域。
Spring Boot 3.2、Vue 3 + TypeScript、Pinia、Element Plus、Potree + Three.js、WebSocket、MySQL + JPA、JWT、Webpack
┌─ 前端 (Vue 3, Port 8086) ─────────────────────────────────────────────┐
│ 三栏工作台布局 │
│ ┌─ 左栏 ─────────┐ ┌─ 中央视口 ────────────┐ ┌─ 右栏 ────────────┐ │
│ │ 分片上传 │ │ Potree WebGL 渲染 │ │ 场景树 │ │
│ │ 算法启动器 │ │ 导航 / 测量 / 标注 │ │ 属性面板 │ │
│ │ 导出 / 截图 │ │ Three.js 后处理 │ │ 任务日志 / AI 对话 │ │
│ └────────────────┘ └──────────────────────┘ └───────────────────┘ │
│ 状态管理: Pinia (user / settings / view / project / task 五 Store) │
│ 服务层: 统一 HTTP 拦截器(JWT自动注入 + 401自动登出) + 分片上传(SparkMD5) │
└──────────────────────────────┬─────────────────────────────────────────┘
│ REST + WebSocket (双通道)
┌─ 后端 (Spring Boot 3, Port 8081) ──────────────────────────────────────┐
│ 安全层: JWT 无状态认证 + BCrypt 密码加密 + 端点级限流 + CORS │
│ 控制层: Auth / Project / Dataset / Task / Potree / AI / 兼容层 │
│ 服务层: │
│ ┌─ TaskService (核心编排器) ───────────────────────────────────────┐ │
│ │ 线程池(core=2, max=4) → 异步执行: │ │
│ │ · Potree 转换 → 调用 PotreeConverter.exe → 八叉树预览 │ │
│ │ · Java 算法 → 9种纯Java算法 → 输出新Dataset │ │
│ │ · LAS 压缩 → 调用 laszip64.exe → LAS→LAZ │ │
│ │ · 导出/拷贝 → DatasetExportService │ │
│ │ 进度推送 → WebSocket 广播 + 数据库持久化 + HTTP 轮询 │ │
│ └──────────────────────────────────────────────────────────────────┘ │
│ 算法层: PointCloudIO(PLY/PCD/XYZ/LAS/LAZ读写) + 9种算法 │
│ 存储层: JPA(Hibernate ddl-auto=update) → MySQL │
│ 文件存储: 本地磁盘 data/files/ data/potree/ data/tasks/ │
│ 外部集成: DeepSeek Chat API / 163邮箱验证码 │
└──────────────────────────────────────────────────────────────────────┘
-
全栈架构设计:独立完成前后端分离架构设计,前端 Vue 3 + Webpack 开发服务器代理到后端,REST API + WebSocket 双通道通信;设计三栏工作台布局(操作 - 视口 - 信息),搭建完整人机交互界面。
-
异步任务调度引擎:设计 TaskService 核心编排器,基于线程池(2 核心 / 4 最大)统一管理 Potree 转换、算法执行、LAZ 压缩、导出拷贝等重操作;任务状态持久化至 MySQL,通过 WebSocket 实时广播进度;采用「WebSocket 广播 + 单任务 WebSocket + HTTP 轮询」三重保障机制,确保前端实时感知任务状态。
-
纯 Java 点云算法:自研 PointCloudIO 模块,实现 PLY/PCD/XYZ/LAS/LAZ 五种格式完整读写链路,手动解析 LAS/LAZ 二进制 header(小端序);零第三方算法库依赖,实现 9 种点云处理算法:
-
滤波类:统计滤波、体素下采样、半径滤波
-
分割类:区域生长、欧式聚类、平面检测
-
配准类:ICP 配准、特征配准、全局配准 配准算法可输出 4×4 齐次变换矩阵。
-
-
大文件分片上传:前端基于 SparkMD5 计算文件 hash 校验值,采用 5MB 分片 + 3 并发并行传输;后端通过 init → chunks → complete 三段式完成文件合并;支持 LAS/LAZ/PLY/PCD/XYZ 格式自动识别,上传完成后可自动触发 Potree 预览生成。
-
3D 可视化集成:封装 Potree 1.8 + Three.js WebGL 渲染管线,实现点云加载、导航(orbit/pan/zoom)、测量、标注、截图、EDL 增强、点预算控制功能;通过 Pinia View Store 同步视口状态至 URL 查询参数。
-
AI 自然语言交互:集成 DeepSeek Chat API,搭建点云处理自然语言对话入口;支持系统提示词定制。
-
安全与工程化:实现 JWT 无状态认证、BCrypt 密码加密、端点级 IP / 账号双层限流、邮箱验证码注册、CORS 跨域配置、全局异常处理切面,保障系统安全性与稳定性。