Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from modules.simulator import simulate_data | |
| from modules.filters import apply_filters | |
| from modules.visuals import display_dashboard, display_charts, display_heatmap | |
| st.set_page_config(page_title="Vedavathi Smart Pole Monitoring - Heatmap PoC", layout="wide") | |
| st.title("π‘ Vedavathi Smart Pole Monitoring - PoC Simulator with Heatmap") | |
| # Sidebar controls | |
| st.sidebar.header("π οΈ Simulation Controls") | |
| num_poles = 50 # Fixed to 50 poles | |
| simulate_faults = st.sidebar.checkbox("Simulate Random Faults", value=True) | |
| site_filter = st.sidebar.multiselect("Select Sites", ["Hyderabad", "Ballari", "Kurnool", "Gadwal"], default=["Hyderabad", "Ballari", "Kurnool", "Gadwal"]) | |
| # Simulate data | |
| df = simulate_data(num_poles, simulate_faults) | |
| # Filter data | |
| st.sidebar.header("π Filter Data") | |
| alert_filter = st.sidebar.multiselect("Alert Level", ["Green", "Yellow", "Red"], default=["Green", "Yellow", "Red"]) | |
| cam_filter = st.sidebar.selectbox("Camera Status", ["All", "Online", "Offline"], index=0) | |
| filtered_df = apply_filters(df, alert_filter, cam_filter, site_filter) | |
| # Display dashboard | |
| display_dashboard(filtered_df) | |
| # Pole monitoring table | |
| st.subheader("π Pole Monitoring Table") | |
| st.dataframe(filtered_df, use_container_width=True) | |
| # Charts and heatmap | |
| display_charts(filtered_df) | |
| display_heatmap(filtered_df) |