add map per request type

#1
by loubnabnl HF staff - opened
Files changed (1) hide show
  1. app.py +46 -3
app.py CHANGED
@@ -42,9 +42,53 @@ df = parse_gg_sheet(
42
  "https://docs.google.com/spreadsheets/d/1gYoBBiBo1L18IVakHkf3t1fOGvHWb23loadyFZUeHJs/edit#gid=966953708"
43
  )
44
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
45
  m = folium.Map(location=[31.628674, -7.992047], zoom_start=7.5)
46
 
47
- for index, row in df.iterrows():
48
  if row["latlng"] is None:
49
  continue
50
  folium.Marker(
@@ -52,7 +96,6 @@ for index, row in df.iterrows():
52
  tooltip=row["العنوان أو اسم القرية"] if not pd.isna(row["العنوان أو اسم القرية"]) else None,
53
  popup=row["رقم الهاتف (اختياري)"] if not pd.isna(row["رقم الهاتف (اختياري)"]) else None,
54
  ).add_to(m)
55
-
56
  st_data = st_folium(m, use_container_width=True)
57
 
58
  # Google Sheet Table
@@ -73,4 +116,4 @@ st.markdown(
73
 
74
  if auto_refresh:
75
  time.sleep(number)
76
- st.experimental_rerun()
 
42
  "https://docs.google.com/spreadsheets/d/1gYoBBiBo1L18IVakHkf3t1fOGvHWb23loadyFZUeHJs/edit#gid=966953708"
43
  )
44
 
45
+
46
+ def display_tab(input):
47
+ m = folium.Map(location=[31.628674, -7.992047], zoom_start=7.5)
48
+ filtered_df = df[df["ما هي احتياجاتك؟ (أضفها إذا لم يتم ذكرها)"] == input]
49
+
50
+ for index, row in filtered_df.iterrows():
51
+ if row["latlng"] is None:
52
+ continue
53
+ folium.Marker(
54
+ location=row["latlng"],
55
+ tooltip=row["العنوان أو اسم القرية"] if not pd.isna(row["العنوان أو اسم القرية"]) else None,
56
+ popup=row["رقم الهاتف (اختياري)"] if not pd.isna(row["رقم الهاتف (اختياري)"]) else None,
57
+ ).add_to(m)
58
+ st_data = st_folium(m, use_container_width=True)
59
+
60
+
61
+
62
+ #request_type = st.selectbox('Choose request type/اختر نوع الطلب', ("إغاثة", "مساعدة طبية", "مأوى", "طعام وماء", "مخاطر (تسرب الغاز، تلف في الخدمات العامة...)"))
63
+
64
+ headers_mapping = {
65
+ "إغاثة": "Rescue/إغاثة",
66
+ "مساعدة طبية": "Medical Assistance/مساعدة طبية",
67
+ "مأوى": "Shelter/مأوى",
68
+ "طعام وماء": "Food & Water/طعام وماء",
69
+ "مخاطر (تسرب الغاز، تلف في الخدمات العامة...)": "Danger/مخاطر"
70
+ }
71
+ options = ["إغاثة", "مساعدة طبية", "مأوى", "طعام وماء", "مخاطر (تسرب الغاز، تلف في الخدمات العامة...)"]
72
+ selected_options = []
73
+
74
+ st.markdown('👉 **Choose request type / اختر نوع الطلب**')
75
+ cols = st.columns(len(options))
76
+
77
+ for i, option in enumerate(options):
78
+ default_value = True if option == "إغاثة" else False
79
+ checked = cols[i].checkbox(option, value=default_value)
80
+
81
+ if checked:
82
+ selected_options.append(option)
83
+
84
+
85
+ filtered_df = df[df["ما هي احتياجاتك؟ (أضفها إذا لم يتم ذكرها)"].isin(selected_options)]
86
+ selected_headers = [headers_mapping[request] for request in selected_options]
87
+ st.subheader(", ".join(selected_headers))
88
+
89
  m = folium.Map(location=[31.628674, -7.992047], zoom_start=7.5)
90
 
91
+ for index, row in filtered_df.iterrows():
92
  if row["latlng"] is None:
93
  continue
94
  folium.Marker(
 
96
  tooltip=row["العنوان أو اسم القرية"] if not pd.isna(row["العنوان أو اسم القرية"]) else None,
97
  popup=row["رقم الهاتف (اختياري)"] if not pd.isna(row["رقم الهاتف (اختياري)"]) else None,
98
  ).add_to(m)
 
99
  st_data = st_folium(m, use_container_width=True)
100
 
101
  # Google Sheet Table
 
116
 
117
  if auto_refresh:
118
  time.sleep(number)
119
+ st.experimental_rerun()