To upload files, please first save the app
import streamlit as st
import pandas as pd
import numpy as np
# Przygotowanie przykładowych danych hydrologicznych
dates = pd.date_range(start='2015-01-01', end='2025-01-01', freq='M')
water_levels = np.random.normal(loc=125, scale=2, size=len(dates))
# Tytuł aplikacji
st.title('Hydrologiczne zmiany w Mazurach')
st.write('Aplikacja ta analizuje zmiany hydrologiczne na Mazurach na podstawie przykładowych danych.')
# Filtry w panelu bocznym
st.sidebar.header('Filtry')
start_date = st.sidebar.date_input('Początek', dates.min())
end_date = st.sidebar.date_input('Koniec', dates.max())
lake = st.sidebar.selectbox('Wybierz jezioro', ['Śniardwy', 'Mamry', 'Niegocin', 'Tałty', 'Bełdany'])
# Filtrowanie danych według wybranej daty
mask = (dates >= pd.to_datetime(start_date)) & (dates <= pd.to_datetime(end_date))
filtered_dates = dates[mask]
filtered_levels = water_levels[mask]
# Wyświetlenie danych
st.subheader(f'Dane poziomu wód dla {lake}')
df = pd.DataFrame({
'Data': filtered_dates,
'Poziom Wód (m)': filtered_levels
})
st.dataframe(df)
# Wykresy
st.subheader('Wykres liniowy - poziom wody w czasie')
st.line_chart(df.set_index('Data'))
st.subheader('Wykres warstwowy - poziom wody w czasie')
st.area_chart(df.set_index('Data'))
# Element interaktywny - symulacja scenariusza
st.subheader('Symulacja zmian klimatycznych')
temp_increase = st.slider('Wzrost temperatury (°C)', 0.0, 5.0, 2.0, 0.5)
rain_decrease = st.slider('Spadek opadów (%)', 0, 50, 20, 5)
# Symulacja wpływu zmian klimatycznych
adjusted_levels = filtered_levels - (temp_increase * 0.5) - (rain_decrease * 0.05)
st.subheader('Poziom wód')
df_simulated = pd.DataFrame({
'Data': filtered_dates,
'Poziom wód (m)': adjusted_levels
})
st.dataframe(df_simulated)
# Wykres symulacji
st.line_chart(df_simulated.set_index('Data'))
# Przywitanie użytkownika
st.sidebar.subheader('Użytkownik')
name = st.sidebar.text_input('Podaj nazwę')
if name:
st.sidebar.write(f'Witaj {name}!')
# Stopka
st.markdown("---")
st.caption('Wersja testowa nie zawierająca danych z Google Earth')
Hi! I can help you with any questions about Streamlit and Python. What would you like to know?