Esmaeilkianii commited on
Commit
d80c68b
·
verified ·
1 Parent(s): 4e80d38

Create map_view.py

Browse files
Files changed (1) hide show
  1. map_view.py +79 -0
map_view.py ADDED
@@ -0,0 +1,79 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import pandas as pd
3
+ import geopandas as gpd
4
+ from streamlit_folium import folium_static
5
+ import folium
6
+ import json
7
+
8
+ def render_map(farm_data_df, filters):
9
+ """
10
+ Renders a map view of the farm data with NDVI visualization
11
+ """
12
+ st.title("🗺️ نقشه مزارع و شاخص NDVI")
13
+
14
+ if farm_data_df.empty:
15
+ st.warning("داده‌های مزارع بارگذاری نشده است")
16
+ return
17
+
18
+ # Try to load GeoJSON data
19
+ try:
20
+ geojson_file = "farm_geodata_fixed.geojson"
21
+
22
+ # Load GeoJSON file
23
+ with open(geojson_file, 'r', encoding='utf-8') as f:
24
+ farm_geojson = json.load(f)
25
+
26
+ # Create a map centered on the area
27
+ m = folium.Map(location=[31.0, 48.5], zoom_start=10)
28
+
29
+ # Add GeoJSON layer to map
30
+ folium.GeoJson(
31
+ farm_geojson,
32
+ name="مزارع",
33
+ tooltip=folium.GeoJsonTooltip(
34
+ fields=["name", "area_ha"],
35
+ aliases=["نام مزرعه:", "مساحت (هکتار):"],
36
+ localize=True
37
+ ),
38
+ style_function=lambda x: {
39
+ 'fillColor': '#28a745',
40
+ 'color': '#000',
41
+ 'weight': 1,
42
+ 'fillOpacity': 0.7
43
+ }
44
+ ).add_to(m)
45
+
46
+ # Add layer control
47
+ folium.LayerControl().add_to(m)
48
+
49
+ # Display the map
50
+ folium_static(m)
51
+
52
+ except Exception as e:
53
+ st.error(f"خطا در بارگذاری داده‌های نقشه: {str(e)}")
54
+ st.info("برای نمایش نقشه، فایل GeoJSON مزارع مورد نیاز است.")
55
+
56
+ # Add NDVI information section
57
+ st.subheader("راهنمای شاخص NDVI")
58
+
59
+ col1, col2 = st.columns([1, 2])
60
+
61
+ with col1:
62
+ st.markdown("""
63
+ **مقادیر شاخص NDVI:**
64
+ - 0.8 - 1.0: پوشش گیاهی متراکم سالم
65
+ - 0.6 - 0.8: پوشش گیاهی خوب
66
+ - 0.4 - 0.6: پوشش گیاهی متوسط
67
+ - 0.2 - 0.4: پوشش گیاهی کم
68
+ - 0.0 - 0.2: خاک بایر یا پوشش گیاهی ضعیف
69
+ - منفی: آب، ابر یا برف
70
+ """)
71
+
72
+ with col2:
73
+ st.markdown("""
74
+ **شاخص NDVI (Normalized Difference Vegetation Index)** یا شاخص نرمال‌شده اختلاف پوشش گیاهی:
75
+
76
+ شاخصی است که وضعیت سلامت و تراکم پوشش گیاهی را نشان می‌دهد. این شاخص از تفاوت بازتاب نور مرئی و مادون قرمز نزدیک محاسبه می‌شود. گیاهان سالم نور مرئی را جذب و نور مادون قرمز نزدیک را بازتاب می‌کنند.
77
+
78
+ NDVI برای مدیریت مزارع نیشکر اهمیت زیادی دارد و می‌تواند وضعیت رشد، تنش‌های محیطی و مشکلات احتمالی را نشان دهد.
79
+ """)