Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import tropycal.tracks as tracks | |
| def read_data(basin='north_atlantic', source='hurdat', include_btk=False): | |
| return tracks.TrackDataset(basin=basin, source=source, include_btk=include_btk) | |
| def app(): | |
| st.title("Hurricane Mapping") | |
| row1_col1, row1_col2 = st.columns([3, 1]) | |
| with row1_col1: | |
| empty = st.empty() | |
| empty.image("https://i.imgur.com/Ec7qsR0.png") | |
| with row1_col2: | |
| checkbox = st.checkbox("Select from a list of hurricanes", value=False) | |
| if checkbox: | |
| if st.session_state.get('hurricane') is None: | |
| st.session_state['hurricane'] = read_data() | |
| years = st.slider( | |
| 'Select a year', min_value=1950, max_value=2022, value=(2000, 2010) | |
| ) | |
| storms = st.session_state['hurricane'].filter_storms(year_range=years) | |
| selected = st.selectbox('Select a storm', storms) | |
| storm = st.session_state['hurricane'].get_storm(selected) | |
| ax = storm.plot() | |
| fig = ax.get_figure() | |
| empty.pyplot(fig) | |
| else: | |
| name = st.text_input("Or enter a storm Name", "michael") | |
| if name: | |
| if st.session_state.get('hurricane') is None: | |
| st.session_state['hurricane'] = read_data() | |
| basin = st.session_state['hurricane'] | |
| years = basin.search_name(name) | |
| if len(years) > 0: | |
| year = st.selectbox("Select a year", years) | |
| storm = basin.get_storm((name, year)) | |
| ax = storm.plot() | |
| fig = ax.get_figure() | |
| empty.pyplot(fig) | |
| else: | |
| empty.text("No storms found") | |
| st.write("No storms found") | |