Spaces:
Build error
Build error
| import streamlit as st | |
| def evaluate_erosion_protection(dispersive, sand, height, slope_angle): | |
| if dispersive: | |
| if height <= 3: | |
| return "mattress" | |
| else: # height > 3 | |
| if slope_angle <= 15: | |
| return "mattress" | |
| else: | |
| return "soil bag" | |
| else: # not dispersive | |
| if sand: | |
| if height <= 3: | |
| return "geofabric" | |
| else: # height > 3 | |
| if slope_angle <= 15: | |
| return "geofabric" | |
| else: | |
| return "soil bag" | |
| else: # not sand | |
| if height <= 6: | |
| if slope_angle <= 30: | |
| return "sodding" | |
| else: | |
| return "geofabric" | |
| else: # height > 6 | |
| return "geofabric" | |
| st.title("Erosion Protection Method Evaluator") | |
| st.write("This app helps you determine the recommended method for erosion protection based on soil and slope characteristics.") | |
| dispersive = st.checkbox("Is the soil dispersive?") | |
| sand = st.checkbox("Is the soil sand?") | |
| height = st.number_input("Enter the height of the slope (in meters)", min_value=0.0, value=1.0, step=0.1) | |
| slope_angle = st.number_input("Enter the slope angle (in degrees)", min_value=0.0, max_value=90.0, value=15.0, step=0.1) | |
| if st.button("Evaluate"): | |
| method = evaluate_erosion_protection(dispersive, sand, height, slope_angle) | |
| st.write(f"The recommended erosion protection method is: **{method}**") | |
| st.sidebar.header("About") | |
| st.sidebar.info("This app uses a decision tree model to recommend erosion protection methods based on soil characteristics and slope geometry.") | |
| st.sidebar.warning("Always consult with a geotechnical engineer for professional advice on erosion control measures.") |