Sanjayraju30 commited on
Commit
9155fa7
·
verified ·
1 Parent(s): f76931e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -9
app.py CHANGED
@@ -7,22 +7,22 @@ import pydeck as pdk
7
  AREA_DETAILS = {
8
  "Hyderabad": {
9
  "coords": [17.4036, 78.5247],
10
- "area_name": "Ramanthapur Dairy Farm",
11
  "purpose": "Dairy Farm"
12
  },
13
  "Ballari": {
14
  "coords": [15.1468, 76.9237],
15
- "area_name": "Cowl Bazar Power Station",
16
  "purpose": "Power Station"
17
  },
18
  "Gadwal": {
19
  "coords": [16.2315, 77.7965],
20
- "area_name": "Bheem Nagar Solar Station",
21
  "purpose": "Solar Station"
22
  },
23
  "Kurnool": {
24
  "coords": [15.8281, 78.0373],
25
- "area_name": "Venkata Ramana Agriculture Field",
26
  "purpose": "Agriculture Monitoring"
27
  }
28
  }
@@ -33,14 +33,20 @@ POLES_PER_SITE = 12
33
  def generate_open_area_poles(site_name, center_lat, center_lon, area, purpose):
34
  poles = []
35
  spacing = 0.0006
36
- anomalies_options = ['None', 'Sensor Fault', 'Overheat', 'Power Surge']
37
- anomaly_weights = [0.6, 0.2, 0.1, 0.1]
 
 
38
 
39
  for i in range(POLES_PER_SITE):
40
  lat = center_lat + random.uniform(-0.0002, 0.0002)
41
  lon = center_lon + (i - POLES_PER_SITE // 2) * spacing
42
  alert_level = random.choices(['Green', 'Yellow', 'Red'], weights=[6, 4, 2])[0]
43
- anomaly = random.choices(anomalies_options, weights=anomaly_weights)[0]
 
 
 
 
44
 
45
  poles.append({
46
  "Pole ID": f"{site_name[:3].upper()}-{i+1:03}",
@@ -51,7 +57,7 @@ def generate_open_area_poles(site_name, center_lat, center_lon, area, purpose):
51
  "Health Score": round(random.uniform(70, 100), 2),
52
  "Power Status": random.choice(['Sufficient', 'Insufficient']),
53
  "Camera Status": random.choice(['Online', 'Offline']),
54
- "Location Area": area,
55
  "Purpose": purpose,
56
  "Anomalies": anomaly
57
  })
@@ -130,4 +136,4 @@ st.pydeck_chart(pdk.Deck(
130
 
131
  # ---- Data Table ----
132
  st.subheader("📋 Detailed Pole Information")
133
- st.dataframe(filtered_df, use_container_width=True)
 
7
  AREA_DETAILS = {
8
  "Hyderabad": {
9
  "coords": [17.4036, 78.5247],
10
+ "area_name": "Ramanthapur",
11
  "purpose": "Dairy Farm"
12
  },
13
  "Ballari": {
14
  "coords": [15.1468, 76.9237],
15
+ "area_name": "Cowl Bazar",
16
  "purpose": "Power Station"
17
  },
18
  "Gadwal": {
19
  "coords": [16.2315, 77.7965],
20
+ "area_name": "Bheem Nagar",
21
  "purpose": "Solar Station"
22
  },
23
  "Kurnool": {
24
  "coords": [15.8281, 78.0373],
25
+ "area_name": "Venkata Ramana",
26
  "purpose": "Agriculture Monitoring"
27
  }
28
  }
 
33
  def generate_open_area_poles(site_name, center_lat, center_lon, area, purpose):
34
  poles = []
35
  spacing = 0.0006
36
+ anomalies_options = ['Sensor Fault', 'Overheat', 'Power Surge']
37
+ anomaly_weights = [0.5, 0.3, 0.2]
38
+ anomaly_options_with_none = ['None'] + anomalies_options
39
+ anomaly_weights_with_none = [0.6] + [0.4 * w for w in anomaly_weights]
40
 
41
  for i in range(POLES_PER_SITE):
42
  lat = center_lat + random.uniform(-0.0002, 0.0002)
43
  lon = center_lon + (i - POLES_PER_SITE // 2) * spacing
44
  alert_level = random.choices(['Green', 'Yellow', 'Red'], weights=[6, 4, 2])[0]
45
+
46
+ if alert_level == 'Red':
47
+ anomaly = random.choices(anomalies_options, weights=anomaly_weights)[0]
48
+ else:
49
+ anomaly = random.choices(anomaly_options_with_none, weights=anomaly_weights_with_none)[0]
50
 
51
  poles.append({
52
  "Pole ID": f"{site_name[:3].upper()}-{i+1:03}",
 
57
  "Health Score": round(random.uniform(70, 100), 2),
58
  "Power Status": random.choice(['Sufficient', 'Insufficient']),
59
  "Camera Status": random.choice(['Online', 'Offline']),
60
+ "Location Area": area, # Only location name, no purpose here
61
  "Purpose": purpose,
62
  "Anomalies": anomaly
63
  })
 
136
 
137
  # ---- Data Table ----
138
  st.subheader("📋 Detailed Pole Information")
139
+ st.dataframe(filtered_df, use_container_width=True)