MonitoringSugarcane / initialize.py
Esmaeilkianii's picture
Create initialize.py
d7c6a6b verified
import streamlit as st
import pandas as pd
import os
import json
import ee
@st.cache_resource
def initialize_app():
"""
Initialize application resources and authenticate GEE
"""
# Set up Earth Engine credentials
try:
# Try to initialize Earth Engine with service account
credentials_file = "ee-esmaeilkiani13877-cfdea6eaf411 (4).json"
if os.path.exists(credentials_file):
credentials = ee.ServiceAccountCredentials(
email=None,
key_file=credentials_file
)
ee.Initialize(credentials)
st.session_state['ee_initialized'] = True
return True
else:
st.warning(f"فایل اعتبارنامه GEE یافت نشد: {credentials_file}")
st.session_state['ee_initialized'] = False
return False
except Exception as e:
st.warning(f"خطا در اتصال به Google Earth Engine: {str(e)}")
st.session_state['ee_initialized'] = False
return False
@st.cache_data(show_spinner="در حال بارگذاری داده‌های مزارع...")
def load_farm_data():
"""
Load farm data from CSV files
"""
try:
# Try to load farm data from CSV
farm_csv = "merged_farm_data_renamed (1).csv"
if os.path.exists(farm_csv):
df = pd.read_csv(farm_csv)
return df
else:
# Try alternative files
alt_csv = "cleaned_output.csv"
if os.path.exists(alt_csv):
df = pd.read_csv(alt_csv)
return df
else:
st.warning("فایل داده‌های مزارع یافت نشد")
return pd.DataFrame() # Return empty dataframe
except Exception as e:
st.warning(f"خطا در بارگذاری داده‌های مزارع: {str(e)}")
return pd.DataFrame() # Return empty dataframe