Spaces:
Sleeping
Sleeping
import streamlit as st | |
# import leafmap.foliumap as geemap | |
import geemap.foliumap as geemap | |
from streamlit.components.v1 import html | |
import ee | |
import folium | |
import pandas | |
# import geemap.foliumap as geemap | |
# import ee | |
from datetime import date, timedelta, datetime | |
import os | |
# st.set_page_config(layout="wide") | |
def ee_authenticate(token_name): | |
geemap.ee_initialize(token_name=token_name) | |
os.environ["EARTHENGINE_TOKEN"] == st.secrets["EARTHENGINE_TOKEN"] | |
st.write(os.environ["EARTHENGINE_TOKEN"]) | |
ee_authenticate("1//0g82Zr46QN_hwCgYIARAAGBASNwF-L9IrGuzCU-_xOupeDXg2Py8lCLem-3OD0U-mSZMC9yTVY7_OXfGG3BhePoOPahKU15QEVXM") | |
st.sidebar.info( | |
""" | |
URL: <https://onfarmview.com> | |
""" | |
) | |
st.sidebar.title("Contact") | |
st.sidebar.markdown('<a href="mailto:admin@onfarmview.com">Contact Us</a>', unsafe_allow_html=True) | |
st.title("On Farm View") | |
footer_content = """ | |
<p>© 2023 On Farm View. </p> | |
""" | |
st.sidebar.markdown(footer_content, unsafe_allow_html=True) | |
def ee_authenticate(token_name="EARTHENGINE_TOKEN"): | |
geemap.ee_initialize(token_name=token_name) | |
def maskCloudAndShadows(image): | |
cloudProb = image.select('MSK_CLDPRB') | |
snowProb = image.select('MSK_SNWPRB') | |
cloud = cloudProb.lt(5) | |
snow = snowProb.lt(5) | |
scl = image.select('SCL') | |
shadow = scl.eq(3); # 3 = cloud shadow | |
cirrus = scl.eq(10); # 10 = cirrus | |
# Cloud probability less than 5% or cloud shadow classification | |
mask = (cloud.And(snow)).And(cirrus.neq(1)).And(shadow.neq(1)) | |
return image.updateMask(mask).divide(10000) | |
map_center=(-43.525650, 172.639847) | |
ee_authenticate(token_name="EARTHENGINE_TOKEN") | |
m = geemap.Map( | |
basemap="HYBRID", | |
plugin_Draw=True, | |
Draw_export=True, | |
locate_control=True, | |
plugin_LatLngPopup=True, | |
center=map_center, zoom=15, | |
) | |
ed = date.today() | |
sd = ed - timedelta(days=30) | |
startDate = sd.strftime("%Y-%m-%d") + "T" | |
endDate = ed.strftime("%Y-%m-%d") + "T" | |
se2 = ee.ImageCollection('COPERNICUS/S2_SR').filterDate( | |
startDate,endDate).filter( | |
ee.Filter.lt("CLOUDY_PIXEL_PERCENTAGE",80)).map(maskCloudAndShadows).median() | |
band = ['B4','B3','B2'] | |
rgbViza = {"min":0.0, "max":0.7,"bands":band} | |
titlemap = "Sentinel 2 - Natural Color" | |
m.addLayer(se2, rgbViza, titlemap) | |
m.to_streamlit(height=650) | |