File size: 1,319 Bytes
5095fe6
 
 
 
 
 
f0d5d5d
 
 
8e0f60f
 
 
 
 
 
eca7f1c
8e0f60f
f0d5d5d
8e0f60f
 
 
 
f0d5d5d
8e0f60f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import random
import pandas as pd
import streamlit as st
import pydeck as pdk
from datetime import datetime, timedelta

# Map with Alert Level Color Coding
st.subheader("📍 Pole Alert Levels (Green, Yellow, Red)")

# Define color mapping
def alert_level_to_color(alert_level):
    if alert_level == 'Red':
        return [255, 0, 0, 160]  # Red
    elif alert_level == 'Yellow':
        return [255, 255, 0, 160]  # Yellow
    else:
        return [0, 255, 0, 160]  # Green

# Only if site_df is available
if not site_df.empty:
    site_df = site_df.copy()  # To avoid SettingWithCopyWarning
    site_df['Color'] = site_df['Alert Level'].apply(alert_level_to_color)

    st.pydeck_chart(pdk.Deck(
        initial_view_state=pdk.ViewState(
            latitude=SITES[selected_site][0],
            longitude=SITES[selected_site][1],
            zoom=12,
            pitch=50
        ),
        layers=[
            pdk.Layer(
                'ScatterplotLayer',
                data=site_df,
                get_position='[Longitude, Latitude]',
                get_color='Color',
                get_radius=100,
            )
        ]
    ))

    st.markdown("<h3 style='text-align: center;'>Poles Color-coded by Alert Level</h3>", unsafe_allow_html=True)
else:
    st.info("No poles data available for this site.")