Spaces:
Runtime error
Runtime error
File size: 5,460 Bytes
f63cb2d 50cb32e 628c5fb e81552f 628c5fb 0047175 e81552f f63cb2d a43ae41 f63cb2d 50cb32e f63cb2d a43ae41 f63cb2d a43ae41 f63cb2d f598d77 34ddbbd f63cb2d 2edea2c 0047175 f63cb2d a43ae41 f63cb2d 34ddbbd f63cb2d |
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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 |
import streamlit as st
import json
import matplotlib.pyplot as plt
import time
st.set_page_config(layout="wide")
# HIN Number +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
from SPARQLWrapper import SPARQLWrapper, JSON
from streamlit_agraph import agraph, TripleStore, Node, Edge, Config
import json
# Green Village ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# Function to load and parse the JSON data
def load_data(filename):
with open(filename, 'r') as file:
data = json.load(file)
return data
# Color codes updated with hexadecimal values for compatibility
color_codes = {
"residential": "#ADD8E6", # Light Blue
"commercial": "#90EE90", # Light Green
"community_facilities": "#FFFF00", # Yellow
"school": "#FFFF00", # Yellow
"healthcare_facility": "#FFFF00", # Yellow
"green_space": "#90EE90", # Light Green
"utility_infrastructure": "#90EE90", # Light Green
"emergency_services": "#FF0000", # Red
"cultural_facilities": "#D8BFD8", # Light Purple
"recreational_facilities": "#D8BFD8", # Light Purple
"innovation_center": "#90EE90", # Light Green
"elderly_care_home": "#FFFF00", # Yellow
"childcare_centers": "#FFFF00", # Yellow
"places_of_worship": "#D8BFD8", # Light Purple
"event_spaces": "#D8BFD8", # Light Purple
"guest_housing": "#FFA500", # Orange
"pet_care_facilities": "#FFA500", # Orange
"public_sanitation_facilities": "#A0A0A0", # Grey
"environmental_monitoring_stations": "#90EE90", # Light Green
"disaster_preparedness_center": "#A0A0A0", # Grey
"outdoor_community_spaces": "#90EE90" # Light Green
}
# Function to draw the grid layout with color coding
def draw_grid(data):
# Create a figure and a grid of subplots
fig, ax = plt.subplots(figsize=(12, 12))
# Setting the grid size
nrows, ncols = data['size']['rows'], data['size']['columns']
ax.set_xlim(0, ncols)
ax.set_ylim(0, nrows)
ax.set_xticks(range(ncols+1))
ax.set_yticks(range(nrows+1))
ax.grid(True)
# Plotting each building with its assigned color from the color_codes dictionary
for building in data['buildings']:
# Extracting the building details
coords = building['coords']
b_type = building['type']
size = building['size']
color = color_codes.get(b_type, '#FFFFFF') # Default color is white if not specified
# Plotting the building on the grid with color
ax.add_patch(plt.Rectangle((coords[1], nrows-coords[0]-size), size, size, color=color, edgecolor='black', linewidth=1))
ax.text(coords[1]+0.5*size, nrows-coords[0]-0.5*size, b_type, ha='center', va='center', fontsize=8, color='black')
# Draw roads
for road in data.get('roads', []): # Check for roads in the data, default to empty list if not found
start, end = road['start'], road['end']
# Determine if the road is vertical or horizontal based on start and end coordinates
if start[0] == end[0]: # Vertical road
for y in range(min(start[1], end[1]), max(start[1], end[1]) + 1):
ax.add_patch(plt.Rectangle((start[0], nrows-y-1), 1, 1, color=road['color']))
else: # Horizontal road
for x in range(min(start[0], end[0]), max(start[0], end[0]) + 1):
ax.add_patch(plt.Rectangle((x, nrows-start[1]-1), 1, 1, color=road['color']))
# Setting labels and title
ax.set_xlabel('Columns')
ax.set_ylabel('Rows')
ax.set_title('Village Layout with Color Coding')
return fig
# Streamlit application starts here
def main():
st.title('Green Smart Village Application')
# Creating three columns
col1, col2, col3 = st.columns(3)
with col1:
st.header("Today's Agenda")
# Example content for Today's Agenda
st.write("1. Morning Meeting\n2. Review Project Plans\n3. Lunch Break\n4. Site Visit\n5. Evening Wrap-up")
with col2:
st.header("Green Smart Village Layout")
# Load and display the data with color coding
data = load_data('grid.json') # Ensure this path is correct
fig = draw_grid(data)
st.pyplot(fig)
with col3:
st.header("Check Your HIN Number")
config = Config(height=400, width=400, nodeHighlightBehavior=True, highlightColor="#F7A7A6", directed=True,
collapsible=True)
#based on Insurance Fraud
with open("data/fraud.json", encoding="utf8") as f:
fraud_file = json.loads(f.read())
st.session_state['fraud_topic'] = fraud_file
fraud_store = TripleStore()
for sub_graph in fraud_file["children"]:
fraud_store.add_triple(fraud_file["name"], "has_subgroup", sub_graph["name"], picture=fraud_file["img"])
for node in sub_graph["children"]:
node1 = node["role"]
link = "blongs_to"
node2 = sub_graph["name"]
pic = node["img"]
fraud_store.add_triple(node1, link, node2, picture=pic)
agraph(list(fraud_store.getNodes()), (fraud_store.getEdges()), config)
hin_number = st.text_input("Enter your HIN number:")
if hin_number:
st.write("HIN number details...") # Placeholder for actual HIN number check
if __name__ == "__main__":
main()
|