本可视化系统以 HT(HT for Web)纯前端渲染插件为核心底层支撑,底层依托 WebGL、Canvas 双渲染管线构建 2D/3D 融合渲染能力,全程无需浏览器额外插件,原生支持 B/S 架构跨终端访问。整体技术链路分为四层:三维模型预处理层、多源数据接入层、JS 脚本驱动渲染层、可视化交互与告警特效层,形成「外部数据输入 — 脚本逻辑处理 — 模型 / 面板动态渲染」完整闭环。

HT 并非单一图形渲染工具,而是封装完整 API 体系的前端可视化开发套件,所有场景渲染、数据刷新、状态特效均通过 JavaScript 调用内置接口完成,不依赖第三方图形库;同时具备极强的数据兼容拓展性,除 WebSocket、HTTP、MQTT 三类主流通信协议外,可兼容前端可实现的任意数据对接方案,覆盖实时推送、定时轮询、消息队列订阅、跨框架跨端通信等各类业务数据场景。

图片

三维模型轻量化预处理与材质配置实现流程

三维场景是可视化载体,模型完整生命周期分为外部轻量化建模导出、HT 内部材质渲染配置两大阶段,全程分离建模工具与渲染引擎,实现设计与开发解耦。

  1. 轻量化建模与导出环节

模型原始制作需在专业三维建模软件(Blender、3ds Max、Maya 等)完成,核心技术约束为轻量化减面处理:通过合并重复面片、删减无效细节、压缩纹理贴图、简化倒角曲面等方式降低模型顶点与三角面数量,规避 WebGL 渲染卡顿、浏览器内存溢出问题。 建模完成后统一导出为 HT 兼容格式(OBJ、FBX、glTF/GLB),导出阶段剥离软件原生冗余材质、烘焙静态光影贴图,仅保留设备结构、骨骼动画基础信息,输出轻量化模型资源包,再导入 HT 可视化工程。

  1. HT 引擎内材质效果配置

模型导入后,所有视觉材质、光影、透明度、贴图切换均可在 HT 内部可视化编辑器中完成配置,无需返回建模软件修改。引擎内置 PBR、Phong 等多种着色渲染管线,开发者既可通过可视化面板调整材质基础参数,也可借助 JS 脚本动态修改材质各项属性。

数据驱动是可视化系统核心逻辑,整套流程分为数据链路对接、前端数据标准化处理、API 驱动面板动态刷新三步,完全基于原生 JS+HT API 实现。

多协议、多类型数据接入能力实现

HT 无绑定固定通信协议,仅提供标准化数据接收入口,前端可根据业务场景自由选择通信方案:

  • 长连接实时场景(设备传感、设备运行状态、高频指标):采用 WebSocket/MQTT 建立持续双向链路,后端主动推送毫秒级实时数据,前端持续监听消息回调;
  • 低频静态 / 统计数据(日报、设备基础参数、历史报表):采用 HTTP/HTTPS 定时轮询、一次性接口拉取;
  • 拓展场景:兼容 iframe 跨页面传值、WebChannel 跨端通信、本地离线 JSON 数据读取等所有前端可实现的数据交互方式。 所有协议接入均为原生 JS 通信逻辑,HT 仅提供统一数据挂载节点,不介入底层网络请求逻辑,开发自由度更高。

3.2 数据解析与可视化绑定逻辑

前端接收原始报文后,通过 JS 脚本完成数据清洗、字段映射、阈值判断,将业务指标与 HT 场景内 2D 面板、3D 设备模型节点进行唯一绑定,建立「数据字段 — 可视化对象」映射关系。

3.3 动态面板数据更新实现原理

数据更新不采用页面整体刷新模式,而是通过调用 HT 提供的属性更新 API 实现局部渲染刷新:

  1. 数值类面板(仪表盘、数字卡片、趋势折线图):脚本调用组件数值更新接口,仅修改图表、文本控件绑定的 value 属性,引擎自动完成局部 Canvas 重绘,无页面抖动;
  2. 设备状态面板(运行 / 停机 / 待机):同步修改模型对应面板、状态指示灯组件的显示文本、基础颜色;

整套更新逻辑无大段硬编码,以配置化映射脚本为主,仅需维护数据字段与可视化组件的绑定关系,即可实现全场景数据同步。

图片

超限告警视觉特效的底层实现方案

本系统告警能力不提供独立告警专用 API,无封装好的弹窗、闪烁、变色告警接口,全部通过组合动画调度、模型材质动态切换等底层图形能力组合实现告警视觉效果,技术实现分为三层逻辑:

  • 阈值前置判断层
  •  JS 脚本实时监听绑定指标数据,预设多级告警阈值(正常 / 预警 / 故障 / 紧急),数据超过阈值后触发特效调度逻辑,区分不同告警等级对应差异化视觉方案。
  • 三大核心渲染特效组合方案
  • 模型材质染色切换:调用 HT 材质属性修改 API,替换设备模型上层发光材质,实现设备整体变红、橙黄分级染色;支持透明度渐变,模拟设备虚化高亮效果;
  • 帧循环动画调度:使用 HT 内置动画 API,配置材质颜色、贴图、缩放的循环动画,实现设备轮廓闪烁、脉冲扩散、呼吸发光效果;
  • 告警配套辅助可视化
  • 同步驱动 2D 告警面板更新,推送告警条目、告警点位弹窗、声光提示组件,三维场景与二维数据看板联动,形成完整告警展示体系。所有特效均可通过脚本动态启停,数据恢复正常后自动重置模型材质、停止动画循环。

图片

地铁线网核心业务功能技术

基于前文轻量化建模、PBR/Phong材质分层渲染、多源数据接入、动态特效渲染的底层技术体系,系统实现了地铁线网全场景可视化业务功能,所有业务能力均由底层技术逻辑驱动,实现数据、模型、交互、特效的深度联动,各核心功能技术实现细节如下:

5.1 线路GIS可视化监控功能

系统基于HT for Web GIS能力整合长沙地铁全域地理信息数据,支持多类GIS瓦片数据、城市建筑白模、倾斜摄影实景数据加载。依托Phong高性能渲染管线保障大范围线网场景流畅加载,通过静态材质固化线路基础配色、走向、换乘站布局,结合JS脚本动态映射线路运营数据。前端通过对接后端GIS数据与线路运营台账,在2D面板实时展示线路开通状态、线网规模指标、工单统计、全线网运行效率等核心数据,同时支持线网全景浏览、单线路独立展示、线路开关控制等交互能力,实现地铁线网地理信息与运营数据的一体化可视化监控。

图片

5.2 站点交互式可视化管理功能

站点交互功能依托材质高亮与视角API实现,页面下方线路控制按钮与三维场景线路、站点一一绑定。鼠标悬浮线路按钮时,脚本触发站点名称列表渲染;点击对应站点后,引擎自动调度三维场景视角拉近聚焦目标点位,同时为目标站点叠加高亮发光材质层,实现场景凸显、周边环境虚化效果。同时支持全站站点名称显隐一键控制,适配全景浏览、单点精细化查看等不同运维场景,兼顾整体视野与局部细节查看需求。

5.3 重保活动专项可视化管控功能

针对节假日、重大活动地铁安保运维场景,系统通过专属材质标记与数据绑定实现重保站点专项管控。前端接收后端重保活动台账数据后,自动匹配对应站点模型,叠加专属动态高亮材质与光影特效,在3D线网中完成特殊点位标记。同时联动左侧重保活动列表面板,点击列表项可快速定位对应站点,调取紧急疏散预案、安检配置、运维方案等配套信息,依托可视化交互能力提升重大场景下地铁安全管控与应急响应效率。

5.4 线路拥挤度分级可视化功能

拥挤度展示为数据驱动材质动态渲染的典型应用,系统预设四级客流拥挤阈值,前端实时接收线路断面客流数据,通过JS阈值判断逻辑匹配对应视觉方案。依托分层材质架构,动态替换线路上层覆盖材质,依次通过绿色、黄色、橙色、红色区分舒适、较舒适、轻度拥挤、拥挤四种状态。用户可点击拥堵路段查看精准拥挤度数值,同时后台客流统计数据实时同步至2D面板,实现拥挤状态可视化、客流数据量化、超限告警实时化,为乘客出行规划与运维调度提供数据支撑。

5.5 站点客流热力与数据统计功能

系统通过对接后台客流接口,实时获取各站点进站、出站、换乘、在站人数数据,基于HT图表组件搭建客流统计面板。以热力图形式可视化呈现全站客流分布态势,精准还原高峰时段客流动态;通过折线图展示每日客流变化趋势,利用饼图对比各站点设备故障占比,同时可视化呈现车站任务完成率、质量指数、KPI等运维指标。所有统计数据实时刷新,帮助运维人员精准把控客流规律、定位故障站点、优化车辆调度与站点资源配置。

5.6 列车全状态监测功能

列车监测功能依托实时数据接入与模型动态渲染实现,前端通过长连接协议实时获取列车位置、车速、准点率、在途数量、运行间隔等核心数据。在3D线网中实时标注列车动态位置,鼠标悬浮可展示车次、准点状态等基础信息,点击列车图标可拉近视角查看实时运行轨迹。系统同步统计各线路在途列车数量、晚点情况,结合设备告警数据汇总故障、异常事件,通过2D面板展示告警列表与处理状态,实现列车运行状态全监控、异常问题全溯源,助力动态调度与安全管控。

图片

总结

  1. 渲染轻量化优势:WebGL+Canvas 双引擎分离 2D 看板与 3D 场景渲染,模型前置轻量化处理 + HT 材质分层渲染,低配置浏览器、移动端均可流畅加载大规模数字孪生场景;
  2. 数据拓展灵活性:无通信协议绑定限制,兼容前端全部数据交互方式,适配物联网、工业、园区、水利等多行业异构后端系统;
  3. 特效可定制化:摒弃固定告警 API,基于底层图形接口自由组合材质、动画、粒子效果,可根据行业需求自定义差异化告警视觉规范;
  4. 低开发成本:统一通过 JavaScript 调用标准化 HT API 完成数据、渲染、交互逻辑,无需深入 WebGL 底层图形学。

落地开发核心技术规范:模型资源前置轻量化、数据与可视化对象解耦绑定、告警特效采用「阈值判断 + 多渲染能力组合」方案、高频数据更新使用批量 API 降低渲染开销。

更多推荐