基于 HTML+ECharts 实现智慧工地数据可视化大屏(含源码) ...

王柳  金牌会员 | 2024-7-31 04:19:14 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 826|帖子 826|积分 2478

构建智慧工地数据可视化大屏:基于 HTML 和 ECharts 的实现

   智慧工地已成为修建行业的新趋势。通过及时监控和数据分析,智慧工地可以提高施工服从、降低安全风险。本文将详细介绍怎样利用 HTML 和 ECharts 实现一个功能强大的智慧工地数据可视化大屏。
  源码下载

https://download.csdn.net/download/p445098355/54807010
智慧工地可视化大屏,可以结合BIM(修建信息模子,Building Information Modeling,形容那些以三维图形为主的电脑辅助设计)、物联网等技术,将各种施工工地控制器数据,融合至智慧工地可视化大屏中,即时、公道、准确的反映施工工地的状态。保持了智慧工地数据信息内容集成化、数据统计分析的功效,公道提高了新项目品质,做到工地智慧管理方法、智慧管理决策的目的,提升修建项目当场管理信息化水准,进而逐渐保持绿色工地、安全工地。
效果演示

观测站综合监控平台:

修建工地智慧管控平台:

设备运行状态监控平台:

设备环境监测平台:

设备故障监测平台:

水质环境及时监测预警系统:

污染羁系大数据可视化平台:

1. 预备工作

在开始之前,我们需要预备以下工具和库:


  • HTML:用于构建网页布局。
  • ECharts:一个强大的数据可视化库,由百度开发。
  • JavaScript:用于实现交互逻辑。
  • CSS:用于样式设计。
2. 创建 HTML 布局

首先,我们创建一个底子的 HTML 文件,包罗必要的标签和引入 ECharts 库。
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6.     <title>智慧工地数据可视化大屏</title>
  7.     <style>
  8.         body {
  9.             margin: 0;
  10.             padding: 0;
  11.             display: flex;
  12.             justify-content: center;
  13.             align-items: center;
  14.             height: 100vh;
  15.             background-color: #f0f0f0;
  16.         }
  17.         #main {
  18.             width: 100%;
  19.             height: 100%;
  20.         }
  21.     </style>
  22. </head>
  23. <body>
  24.     <div id="main"></div>
  25.     <script src="https://cdn.jsdelivr.net/npm/echarts@5.3.2/dist/echarts.min.js"></script>
  26.     <script src="app.js"></script>
  27. </body>
  28. </html>
复制代码
3. 初始化 ECharts 实例

在 app.js 文件中,我们初始化 ECharts 实例,并配置图表。
  1. // 基于准备好的dom,初始化echarts实例
  2. var myChart = echarts.init(document.getElementById('main'));
  3. // 指定图表的配置项和数据
  4. var option = {
  5.     title: {
  6.         text: '智慧工地数据可视化',
  7.         subtext: '实时监控与分析',
  8.         left: 'center'
  9.     },
  10.     tooltip: {
  11.         trigger: 'axis'
  12.     },
  13.     legend: {
  14.         data: ['工人数量', '设备状态', '环境监测'],
  15.         left: 'center',
  16.         top: 'bottom'
  17.     },
  18.     toolbox: {
  19.         show: true,
  20.         feature: {
  21.             dataView: {readOnly: false},
  22.             restore: {},
  23.             saveAsImage: {}
  24.         }
  25.     },
  26.     xAxis: {
  27.         type: 'category',
  28.         data: ['00:00', '01:00', '02:00', '03:00', '04:00', '05:00', '06:00', '07:00', '08:00', '09:00', '10:00', '11:00']
  29.     },
  30.     yAxis: {
  31.         type: 'value'
  32.     },
  33.     series: [
  34.         {
  35.             name: '工人数量',
  36.             type: 'line',
  37.             data: [50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 105]
  38.         },
  39.         {
  40.             name: '设备状态',
  41.             type: 'line',
  42.             data: [10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65]
  43.         },
  44.         {
  45.             name: '环境监测',
  46.             type: 'line',
  47.             data: [200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310]
  48.         }
  49.     ]
  50. };
  51. // 使用刚指定的配置项和数据显示图表。
  52. myChart.setOption(option);
复制代码
4. 添加交互功能

为了增强用户体验,我们可以添加一些交互功能,例如数据筛选、图表切换等。
  1. // 添加数据筛选功能
  2. document.getElementById('filter').addEventListener('change', function (e) {
  3.     var filterValue = e.target.value;
  4.     var filteredData = originalData.filter(function (item) {
  5.         return item.region === filterValue || filterValue === 'all';
  6.     });
  7.     myChart.setOption({
  8.         series: [
  9.             {
  10.                 data: filteredData.map(function (item) {
  11.                     return item.workers;
  12.                 })
  13.             },
  14.             {
  15.                 data: filteredData.map(function (item) {
  16.                     return item.equipment;
  17.                 })
  18.             },
  19.             {
  20.                 data: filteredData.map(function (item) {
  21.                     return item.environment;
  22.                 })
  23.             }
  24.         ]
  25.     });
  26. });
复制代码
5. 样式优化

最后,我们可以通过 CSS 对页面进行样式优化,使其更加美观和适应差别屏幕尺寸。
  1. body {
  2.     margin: 0;
  3.     padding: 0;
  4.     display: flex;
  5.     justify-content: center;
  6.     align-items: center;
  7.     height: 100vh;
  8.     background-color: #f0f0f0;
  9. }
  10. #main {
  11.     width: 100%;
  12.     height: 100%;
  13. }
  14. .filter-container {
  15.     position: absolute;
  16.     top: 20px;
  17.     left: 20px;
  18. }
复制代码
6. 总结

通过以上步骤,我们实现了一个基于 HTML 和 ECharts 的智慧工地数据可视化大屏。这个大屏不仅能够直观地展示工地数据,还能通过交互功能提升用户体验。希望本文能对你在实现类似项目时提供一些帮助和启发。

源码下载

https://download.csdn.net/download/p445098355/54807010

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王柳

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表