# power_data_visualization **Repository Path**: tang-yang-1111/power_data_visualization ## Basic Information - **Project Name**: power_data_visualization - **Description**: 电力数据可视化 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-22 - **Last Updated**: 2026-03-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 澳大利亚光伏电站数据可视化系统

🌞 Solar Power Data Visualization System

澳大利亚 Alice Springs 和 Yulara Solar System 太阳能电站数据分析与可视化平台

--- ## 📖 项目简介 本项目是一个完整的**电力数据可视化系统**,用于分析和展示澳大利亚两个太阳能电站的运行数据: | 电站名称 | 数据时间范围 | 原始数据频率 | 数据记录数 | |----------|--------------|--------------|------------| | **Alice Springs 太阳能电站** | 2017.10 - 2023.10 | 5分钟 | ~620,528条 | | **Yulara Solar System 太阳能电站** | 2017.10 - 2023.10 | 5分钟 | ~627,946条 | ## 🎯 主要功能 - 📊 **数据可视化仪表板** - 日历热力图、风玫瑰图、趋势面积图、统计图表 - 🛠️ **数据管理中心** - 完整的增删改查(CRUD)功能 - 💾 **数据持久化** - 自动备份、版本恢复 - 📤 **数据导出** - 支持JSON格式导出 ## 📁 项目结构 ``` 电力数据可视化系统代码/ │ ├── power-html/ # 🌐 独立HTML版本(轻量级) │ ├── power.html # 主页面(约6700行) │ ├── start.bat # Windows启动脚本 │ ├── 说明.txt # 中文使用说明 │ ├── README.md # 版本说明文档 │ └── data/ # JSON数据文件 │ ├── power-vue/ # ⚡ Vue 3 版本(功能完整) │ ├── src/ # Vue源代码 │ ├── server/ # Express API服务器 │ ├── public/ # 静态资源和数据 │ ├── start-with-api.bat # Windows启动脚本 │ └── README.md # 版本说明文档 │ └── README.md # 本文件(项目总览) ``` ## 🚀 快速开始 ### 版本选择指南 | 需求 | 推荐版本 | 说明 | |------|----------|------| | 快速查看数据 | power-html | 仅需Python,无需安装依赖 | | 完整功能体验 | power-vue | 需要Node.js,支持API服务 | ### 方式一:独立HTML版本(推荐新手) ```bash # 进入目录 cd power-html # 运行启动脚本 start.bat ``` 浏览器自动打开 `http://localhost:8080/power.html` **要求**:Python 3.x ### 方式二:Vue 3 版本(推荐开发者) ```bash # 进入目录 cd power-vue # 运行启动脚本(自动安装依赖) start-with-api.bat ``` - 前端地址:`http://localhost:5173` - API地址:`http://localhost:3001` **要求**:Node.js 16+ ## 📊 数据说明 ### Alice Springs 电站数据字段 | 字段 | 中文名称 | 单位 | |------|----------|------| | Timestamp | 时间戳 | - | | Active_Energy_Delivered_Received | 已接受有效能量 | kWh | | Current_Phase_Average | 当前相位平均值 | kW | | Active_Power | 有效发电功率 | kW | | Performance_Ratio | 性能比 | - | | Wind_Speed | 风速 | m/s | | Weather_Temperature_Celsius | 摄氏温度 | °C | | Weather_Relative_Humidity | 相对湿度 | % | | Global_Horizontal_Radiation | 全球水平辐射 | W/m² | | Diffuse_Horizontal_Radiation | 水平面散射辐射 | W/m² | | Wind_Direction | 风向 | 度 | | Weather_Daily_Rainfall | 日降雨量 | mm | | Radiation_Global_Tilted | 太阳能倾斜辐照 | W/m² | | Radiation_Diffuse_Tilted | 太阳能辐射扩散倾斜 | W/m² | ### Yulara 电站数据字段 | 字段 | 中文名称 | 单位 | |------|----------|------| | Current_Phase_Average_Mean | 当前相位平均值 | kW | | Active_Energy_Delivered_Received | 已接收有效能量 | kWh | | Active_Power | 有功功率 | kW | | Wind_Speed | 风速 | m/s | | Weather_Temperature_Celsius | 摄氏温度 | °C | | Global_Horizontal_Radiation | 全球水平辐射 | W/m² | | Wind_Direction | 风向 | 度 | | Weather_Daily_Rainfall | 日降雨量 | mm | | Max_Wind_Speed | 最大风速 | m/s | | Air_Pressure | 气压 | Pa | | Hail_Accumulation | 冰雹累积量 | mm | | Temperature_Probe_1 | 温度探针1 | °C | | Temperature_Probe_2 | 温度探针2 | °C | ## 🔧 数据处理流程 ### Alice Springs 电站数据处理 ``` 原始数据 (5分钟/条) │ ▼ 1. 修改数据精度 (Excel ROUND函数) │ └─ 精度从0.000000000001修改为0.001 ▼ 2. 改变数据颗粒度 (Python resample) │ └─ 5分钟 → 1小时(取平均值) ▼ 3. 填补空白值和去重 │ └─ 空白值用列平均值填充 ▼ 4. 计算发电量 │ └─ 发电量 = 当前累计能量 - 上一时刻累计能量 ▼ 处理后数据 (AliceSpring.xlsx) ``` ### Yulara 电站数据处理 ``` 原始数据 (solarsys.xlsx, ~627,946条) │ ▼ 1. 数据加载与初始检查 │ └─ 检查缺失值、异常值 ▼ 2. 异常值处理 │ └─ 超出物理范围的值标记为NaN ▼ 3. 缺失值处理(分层策略) │ ├─ 光伏数据: 时间序列线性插值 │ ├─ 气象数据: 前向填充(限3小时) │ └─ 剩余: 后向填充兜底 ▼ 4. 小时级数据聚合 │ ├─ 发电功率: 取均值 │ ├─ 风向: 矢量平均 │ ├─ 最大风速: 取最大值 │ └─ 温度探针: 双探针取平均 ▼ 5. 计算每小时发电量 │ └─ clip(lower=0) 确保非负 ▼ 处理后数据 (solarsys_hourly.csv) ``` ## 🖼️ 界面预览 ### 数据仪表板布局 ``` ┌─────────────────────────────────────────────────────────┐ │ 导航栏 │ ├──────────┬────────────────────────────┬─────────────────┤ │ │ │ │ │ 左侧 │ 中间区域 │ 右侧 │ │ 两电站 │ ┌──────────────────────┐ │ 气象 │ │ 对比 │ │ 日历热力图 │ │ & │ │ 图表 │ └──────────────────────┘ │ 光伏 │ │ │ ┌──────────┬───────────┐ │ 图表 │ │ │ │ 风玫瑰图 │ 面积图 │ │ │ │ │ └──────────┴───────────┘ │ │ └──────────┴────────────────────────────┴─────────────────┘ ``` ### 数据管理中心 ``` ┌─────────────────────────────────────────────────────────┐ │ 🔄 重新加载 📤 导出 🔄 重置 ❓ 使用说明 │ ├─────────────────────────────────────────────────────────┤ │ 🔍 搜索: [ ] 📅 日期范围: [ ] 至 [ ] │ ├─────────────────────────────────────────────────────────┤ │ ☐ │ ID │ 日期时间 │ 发电量 │ 有效功率 │ 温度 │ 辐射 │ │ ──┼────┼──────────┼────────┼──────────┼──────┼────── │ │ ☐ │... │ ... │ ... │ ... │ ... │ ... │ ├─────────────────────────────────────────────────────────┤ │ ➕ 新增 📤 导出选中 🗑️ 删除选中 │ └─────────────────────────────────────────────────────────┘ ``` ## 🛠️ 技术栈 ### 前端 | 技术 | 版本 | 用途 | |------|------|------| | Vue.js | 3.4.0 | 前端框架(Vue版本) | | Vite | 5.0.0 | 构建工具 | | ECharts | 5.4.3 | 数据可视化 | | ECharts-GL | 2.0.9 | 3D图表 | ### 后端 | 技术 | 版本 | 用途 | |------|------|------| | Express | 4.18.2 | API服务器 | | CORS | 2.8.5 | 跨域支持 | ### 数据处理 | 技术 | 版本 | 用途 | |------|------|------| | Python | 3.8+ | 数据处理 | | pandas | 1.5+ | 数据分析 | | numpy | 1.21+ | 数值计算 | ## 📋 版本对比 | 特性 | power-html | power-vue | |------|:----------:|:---------:| | 环境要求 | Python 3.x | Node.js 16+ | | 安装依赖 | 无需安装 | 需要 npm install | | 启动速度 | 快(3秒) | 中等(10秒) | | API服务器 | ❌ | ✅ | | 数据备份 | 手动 | 自动 | | 组件化 | ❌ | ✅ | | 可维护性 | 中 | 高 | | 适用场景 | 快速演示 | 生产开发 | ## ⚠️ 常见问题 ### Q1: 直接双击HTML文件无法正常显示? **A**: 由于浏览器安全策略,必须通过HTTP服务器访问。请使用 `start.bat` 启动。 ### Q2: Vue版本启动后页面空白? **A**: 1. 确保 API 服务器已启动 2. 检查控制台是否有错误 3. 确认 Node.js 版本 ≥16 ### Q3: 数据修改后如何保存? **A**: - HTML版本:首次需选择文件授权,后续自动保存 - Vue版本:API服务器自动保存并创建备份 ### Q4: 如何处理自己的数据? **A**: 参考上方「数据处理流程」章节,按照相同的数据格式和处理步骤进行即可。 ## 📝 更新日志 ### v1.0.0 - ✅ 完整的数据可视化仪表板 - ✅ 数据管理中心(CRUD) - ✅ 双版本支持(HTML/Vue) - ✅ 自动备份机制 - ✅ 响应式布局 ## 📄 许可证 MIT License