Spaces:
Sleeping
Sleeping
Update pages/05_GOES_NBR.py
Browse files- pages/05_GOES_NBR.py +57 -15
pages/05_GOES_NBR.py
CHANGED
@@ -2,11 +2,9 @@ import ee
|
|
2 |
import geemap
|
3 |
import solara
|
4 |
|
5 |
-
# Initialize the Earth Engine client library
|
6 |
-
#ee.Initialize()
|
7 |
-
|
8 |
fireList = ["North Complex", "Dixie", "Cameron Peak", "August Complex"]
|
9 |
four_fires = solara.reactive([fireList[0]])
|
|
|
10 |
|
11 |
|
12 |
class Map(geemap.Map):
|
@@ -15,11 +13,20 @@ class Map(geemap.Map):
|
|
15 |
self.add_ee_data()
|
16 |
self.add_plot_gui()
|
17 |
|
18 |
-
def add_ee_data(
|
19 |
-
#
|
20 |
-
|
21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
22 |
|
|
|
23 |
# Create a bounding box geometry
|
24 |
NorthComplexBB = ee.Geometry.BBox(-121.616097, 39.426723, -120.668526, 40.030845)
|
25 |
|
@@ -29,13 +36,34 @@ class Map(geemap.Map):
|
|
29 |
postNBR = POSTgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR');
|
30 |
dNBR = preNBR.subtract(postNBR).select('NBR')
|
31 |
dNBRclipped = dNBR.clip(NorthComplexBB)
|
|
|
|
|
32 |
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
|
40 |
@solara.component
|
41 |
def Page():
|
@@ -43,9 +71,23 @@ def Page():
|
|
43 |
solara.Markdown(f"**Selected**: {four_fires.value}")
|
44 |
|
45 |
with solara.Column(style={"min-width": "500px"}):
|
46 |
-
Map.element(
|
47 |
center=[40, -100],
|
48 |
-
zoom=
|
49 |
height="600px",
|
50 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
|
|
|
2 |
import geemap
|
3 |
import solara
|
4 |
|
|
|
|
|
|
|
5 |
fireList = ["North Complex", "Dixie", "Cameron Peak", "August Complex"]
|
6 |
four_fires = solara.reactive([fireList[0]])
|
7 |
+
dNBRvisParams = {'min': 0.0,'max': 0.8, 'palette': ['green', 'yellow','orange','red']}
|
8 |
|
9 |
|
10 |
class Map(geemap.Map):
|
|
|
13 |
self.add_ee_data()
|
14 |
self.add_plot_gui()
|
15 |
|
16 |
+
def add_ee_data(map_widget): #self
|
17 |
+
# Create a bounding box geometry
|
18 |
+
NorthComplexBB = ee.Geometry.BBox(-121.616097, 39.426723, -120.668526, 40.030845)
|
19 |
+
|
20 |
+
PREgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPF').filter(ee.Filter.date('2020-08-15', '2020-08-16')).mean()
|
21 |
+
POSTgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPF').filter(ee.Filter.date('2020-09-15', '2020-09-16')).mean()
|
22 |
+
preNBR = PREgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR');
|
23 |
+
postNBR = POSTgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR');
|
24 |
+
dNBR = preNBR.subtract(postNBR).select('NBR')
|
25 |
+
dNBRclipped = dNBR.clip(NorthComplexBB)
|
26 |
+
#self.addLayer(dNBRclipped, dNBRvisParams, "GOES dNBR")
|
27 |
+
map_widget.addLayer(dNBR, dNBRvisParams, "GOES dNBR - North Complex")
|
28 |
|
29 |
+
def add_Dixie_data(map_widget):
|
30 |
# Create a bounding box geometry
|
31 |
NorthComplexBB = ee.Geometry.BBox(-121.616097, 39.426723, -120.668526, 40.030845)
|
32 |
|
|
|
36 |
postNBR = POSTgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR');
|
37 |
dNBR = preNBR.subtract(postNBR).select('NBR')
|
38 |
dNBRclipped = dNBR.clip(NorthComplexBB)
|
39 |
+
#self.addLayer(dNBRclipped, dNBRvisParams, "GOES dNBR")
|
40 |
+
map_widget.addLayer(dNBR, dNBRvisParams, "GOES dNBR - North Complex")
|
41 |
|
42 |
+
def add_Cameron_Peak_data(map_widget):
|
43 |
+
# Create a bounding box geometry
|
44 |
+
NorthComplexBB = ee.Geometry.BBox(-121.616097, 39.426723, -120.668526, 40.030845)
|
45 |
+
|
46 |
+
PREgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPF').filter(ee.Filter.date('2020-08-15', '2020-08-16')).mean()
|
47 |
+
POSTgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPF').filter(ee.Filter.date('2020-09-15', '2020-09-16')).mean()
|
48 |
+
preNBR = PREgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR');
|
49 |
+
postNBR = POSTgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR');
|
50 |
+
dNBR = preNBR.subtract(postNBR).select('NBR')
|
51 |
+
dNBRclipped = dNBR.clip(NorthComplexBB)
|
52 |
+
#self.addLayer(dNBRclipped, dNBRvisParams, "GOES dNBR")
|
53 |
+
map_widget.addLayer(dNBR, dNBRvisParams, "GOES dNBR - North Complex")
|
54 |
+
|
55 |
+
def add_August_Complex_data(map_widget):
|
56 |
+
# Create a bounding box geometry
|
57 |
+
NorthComplexBB = ee.Geometry.BBox(-121.616097, 39.426723, -120.668526, 40.030845)
|
58 |
+
|
59 |
+
PREgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPF').filter(ee.Filter.date('2020-08-15', '2020-08-16')).mean()
|
60 |
+
POSTgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPF').filter(ee.Filter.date('2020-09-15', '2020-09-16')).mean()
|
61 |
+
preNBR = PREgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR');
|
62 |
+
postNBR = POSTgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR');
|
63 |
+
dNBR = preNBR.subtract(postNBR).select('NBR')
|
64 |
+
dNBRclipped = dNBR.clip(NorthComplexBB)
|
65 |
+
#self.addLayer(dNBRclipped, dNBRvisParams, "GOES dNBR")
|
66 |
+
map_widget.addLayer(dNBR, dNBRvisParams, "GOES dNBR - North Complex")
|
67 |
|
68 |
@solara.component
|
69 |
def Page():
|
|
|
71 |
solara.Markdown(f"**Selected**: {four_fires.value}")
|
72 |
|
73 |
with solara.Column(style={"min-width": "500px"}):
|
74 |
+
map_widget = Map.element(
|
75 |
center=[40, -100],
|
76 |
+
zoom=4,
|
77 |
height="600px",
|
78 |
)
|
79 |
+
|
80 |
+
def update_map(change):
|
81 |
+
selected_fire = change["new"]
|
82 |
+
map_widget.clear_layers()
|
83 |
+
if selected_fire == "North Complex":
|
84 |
+
add_North_Complex_data(map_widget)
|
85 |
+
elif selected_fire == "Dixie":
|
86 |
+
add_Dixie_data(map_widget)
|
87 |
+
elif selected_fire == "Cameron Peak":
|
88 |
+
add_Cameron_Peak_data(map_widget)
|
89 |
+
elif selected_fire == "August Complex":
|
90 |
+
add_August_Complex_data(map_widget)
|
91 |
+
|
92 |
+
four_fires.observe(update_map, names="value")
|
93 |
|