Spaces:
Sleeping
Sleeping
fschwartzer
commited on
Commit
路
db72775
1
Parent(s):
3a35340
Update app.py
Browse files
app.py
CHANGED
@@ -136,7 +136,7 @@ with st.sidebar:
|
|
136 |
# Add a dropdown for filtering "Tipo"
|
137 |
selected_tipo = st.selectbox('Filtrar por Tipo', data['Tipo'].unique())
|
138 |
|
139 |
-
|
140 |
|
141 |
selected_coords = st.selectbox('Selecione o tipo de pesquisa', ['Ampla', 'Direcionada'])
|
142 |
|
@@ -164,8 +164,8 @@ with st.sidebar:
|
|
164 |
if selected_coords == 'Direcionada':
|
165 |
zoom_level = st.slider('N铆vel de zoom', min_value=1, max_value=15, value=zoom_level)
|
166 |
else:
|
167 |
-
for index, row in
|
168 |
-
distance_all = calculate_distance(row['latitude'], row['longitude'],
|
169 |
if distance_all > max_distance_all:
|
170 |
max_distance_all = distance_all
|
171 |
|
@@ -180,31 +180,36 @@ with st.sidebar:
|
|
180 |
radius_in_meters = st.slider('Selecione raio (em metros)', min_value=100, max_value=5000, value=1000)
|
181 |
|
182 |
# Add sliders to filter data based
|
183 |
-
atotal_range = st.slider('脕rea Total', float(
|
184 |
-
apriv_range = st.slider('脕rea Privativa', float(
|
185 |
-
|
186 |
-
|
187 |
-
|
|
|
|
|
|
|
188 |
|
189 |
# Add checkboxes for dummy features
|
190 |
-
|
191 |
-
|
192 |
-
|
|
|
|
|
|
|
193 |
|
194 |
# Transform checkbox values into 1s and 0s
|
195 |
elev_value = 1 if elev_checkbox else 0
|
196 |
churr_value = 1 if churr_checkbox else 0
|
197 |
esq_value = 1 if esq_checkbox else 0
|
198 |
|
199 |
-
|
200 |
-
(
|
201 |
-
(
|
202 |
-
(
|
203 |
-
(
|
204 |
-
(
|
205 |
-
(
|
206 |
-
(
|
207 |
-
(data['Lot_pos'] == esq_value)]
|
208 |
|
209 |
|
210 |
# Links to other apps at the bottom of the sidebar
|
@@ -214,7 +219,7 @@ with st.sidebar:
|
|
214 |
|
215 |
# Filter data based on the radius
|
216 |
if selected_coords == 'Direcionada':
|
217 |
-
filtered_data =
|
218 |
filtered_data = filtered_data.dropna() # Drop rows with NaN values
|
219 |
|
220 |
# Add a custom CSS class to the map container
|
|
|
136 |
# Add a dropdown for filtering "Tipo"
|
137 |
selected_tipo = st.selectbox('Filtrar por Tipo', data['Tipo'].unique())
|
138 |
|
139 |
+
data_tipo = data[data['Tipo'] == selected_tipo]
|
140 |
|
141 |
selected_coords = st.selectbox('Selecione o tipo de pesquisa', ['Ampla', 'Direcionada'])
|
142 |
|
|
|
164 |
if selected_coords == 'Direcionada':
|
165 |
zoom_level = st.slider('N铆vel de zoom', min_value=1, max_value=15, value=zoom_level)
|
166 |
else:
|
167 |
+
for index, row in data_tipo.iterrows():
|
168 |
+
distance_all = calculate_distance(row['latitude'], row['longitude'], data_tipo['latitude'].mean(), data_tipo['longitude'].mean())
|
169 |
if distance_all > max_distance_all:
|
170 |
max_distance_all = distance_all
|
171 |
|
|
|
180 |
radius_in_meters = st.slider('Selecione raio (em metros)', min_value=100, max_value=5000, value=1000)
|
181 |
|
182 |
# Add sliders to filter data based
|
183 |
+
atotal_range = st.slider('脕rea Total', float(data_tipo['Atotal'].min()), float(data_tipo['Atotal'].max()), (float(data_tipo['Atotal'].min()), float(data_tipo['Atotal'].max())), step=.1)
|
184 |
+
apriv_range = st.slider('脕rea Privativa', float(data_tipo['Apriv'].min()), float(data_tipo['Apriv'].max()), (float(data_tipo['Apriv'].min()), float(data_tipo['Apriv'].max())), step=.1)
|
185 |
+
if int(data_tipo['Dorm'].min()) != 0 and int(data_tipo['Dorm'].max()) != 0:
|
186 |
+
dorm_range = st.slider('Dormit贸rios', int(data_tipo['Dorm'].min()), int(data_tipo['Dorm'].max()), (int(data_tipo['Dorm'].min()), int(data_tipo['Dorm'].max())), step=1)
|
187 |
+
if int(data_tipo['Banheiro'].min()) != 0 and int(data_tipo['Banheiro'].max()) != 0:
|
188 |
+
banho_range = st.slider('Banheiros', int(data_tipo['Banheiro'].min()), int(data_tipo['Banheiro'].max()), (int(data_tipo['Banheiro'].min()), int(data_tipo['Banheiro'].max())), step=1)
|
189 |
+
if int(data_tipo['Vaga'].min()) != 0 and int(data_tipo['Vaga'].max()) != 0:
|
190 |
+
vaga_range = st.slider('Vaga de estacionamento', int(data_tipo['Vaga'].min()), int(data_tipo['Vaga'].max()), (int(data_tipo['Vaga'].min()), int(data_tipo['Vaga'].max())), step=1)
|
191 |
|
192 |
# Add checkboxes for dummy features
|
193 |
+
if int(data_tipo['Elevador'].min()) != 0 and int(data_tipo['Elevador'].max()) != 0:
|
194 |
+
elev_checkbox = st.checkbox('Elevador')
|
195 |
+
if int(data_tipo['Churrasq'].min()) != 0 and int(data_tipo['Churrasq'].max()) != 0:
|
196 |
+
churr_checkbox = st.checkbox('Churrasqueira')
|
197 |
+
if int(data_tipo['Lot_pos'].min()) != 0 and int(data_tipo['Lot_pos'].max()) != 0:
|
198 |
+
esq_checkbox = st.checkbox('Duas ou mais frentes')
|
199 |
|
200 |
# Transform checkbox values into 1s and 0s
|
201 |
elev_value = 1 if elev_checkbox else 0
|
202 |
churr_value = 1 if churr_checkbox else 0
|
203 |
esq_value = 1 if esq_checkbox else 0
|
204 |
|
205 |
+
data_tipo = data_tipo[(data_tipo['Atotal'].between(atotal_range[0], atotal_range[1])) &
|
206 |
+
(data_tipo['Apriv'].between(apriv_range[0], apriv_range[1])) &
|
207 |
+
(data_tipo['Dorm'].between(dorm_range[0], dorm_range[1])) &
|
208 |
+
(data_tipo['Banheiro'].between(banho_range[0], banho_range[1])) &
|
209 |
+
(data_tipo['Vaga'].between(vaga_range[0], vaga_range[1])) &
|
210 |
+
(data_tipo['Elevador'] == elev_value) &
|
211 |
+
(data_tipo['Churrasq'] == churr_value) &
|
212 |
+
(data_tipo['Lot_pos'] == esq_value)]
|
|
|
213 |
|
214 |
|
215 |
# Links to other apps at the bottom of the sidebar
|
|
|
219 |
|
220 |
# Filter data based on the radius
|
221 |
if selected_coords == 'Direcionada':
|
222 |
+
filtered_data = data_tipo[data_tipo.apply(lambda x: calculate_distance(x['latitude'], x['longitude'], custom_lat, custom_lon), axis=1) <= radius_in_meters]
|
223 |
filtered_data = filtered_data.dropna() # Drop rows with NaN values
|
224 |
|
225 |
# Add a custom CSS class to the map container
|