danielle-losos commited on
Commit
1b49e66
·
verified ·
1 Parent(s): be0641f

Made slider interactive

Browse files
Files changed (1) hide show
  1. pages/burn_mapping.py +27 -0
pages/burn_mapping.py CHANGED
@@ -13,6 +13,7 @@ class Map(geemap.Map):
13
  def __init__(self, **kwargs):
14
  super().__init__(**kwargs)
15
  self.add_ee_data()
 
16
  self.add("layer_manager")
17
  self.add_selector()
18
  self.add_intSlider()
@@ -41,6 +42,25 @@ class Map(geemap.Map):
41
  self.addLayer(dixie, dNBRvisParams, 'Dixie Complex GOES NBR', False)
42
  self.addLayer(cam_peak, dNBRvisParams, 'Cameron Peak GOES NBR', False)
43
  self.addLayer(aug_complex, dNBRvisParams, 'August Complex GOES NBR', False)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
 
45
  def add_selector(self):
46
  selector = widgets.Dropdown(options=fireList, value="North Complex", description='Wildfire Case Study:')
@@ -68,7 +88,14 @@ class Map(geemap.Map):
68
 
69
  def add_intSlider(self):
70
  slider = widgets.IntSlider(value=7,min=1,max=30,step=1,description='Elapsed days:',)
 
 
 
 
 
 
71
  self.add_widget(slider, position="topleft")
 
72
 
73
  @solara.component
74
  def Page():
 
13
  def __init__(self, **kwargs):
14
  super().__init__(**kwargs)
15
  self.add_ee_data()
16
+ self.customize_ee_data(10)
17
  self.add("layer_manager")
18
  self.add_selector()
19
  self.add_intSlider()
 
42
  self.addLayer(dixie, dNBRvisParams, 'Dixie Complex GOES NBR', False)
43
  self.addLayer(cam_peak, dNBRvisParams, 'Cameron Peak GOES NBR', False)
44
  self.addLayer(aug_complex, dNBRvisParams, 'August Complex GOES NBR', False)
45
+
46
+ def customize_ee_data(elapDays):
47
+ def calc_nbr(pre_start, pre_stop, post_start, post_stop, bbox):
48
+ PREgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPF').filter(ee.Filter.date(pre_start, pre_stop)).mean()
49
+ POSTgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPF').filter(ee.Filter.date(post_start, post_stop)).mean()
50
+ preNBR = PREgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR')
51
+ postNBR = POSTgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR')
52
+ dNBR = preNBR.subtract(postNBR).select('NBR')
53
+ dNBRclipped = dNBR.clip(bbox)
54
+ return dNBRclipped
55
+
56
+ north_complex_bb = ee.Geometry.BBox(-121.616097, 39.426723, -120.668526, 40.030845)
57
+ startDate = ee.Date('2020-08-16')
58
+ elapDayNum = ee.Number(elapDays)
59
+ postStart = startDate.advance(1, 'day')
60
+ postStop = postStart.advance(1, 'day')
61
+ north_complex = calc_nbr('2020-08-15', '2020-08-16', postStart, postStop, north_complex_bb)
62
+ self.addLayer(north_complex, dNBRvisParams, 'North Complex GOES NBR', True)
63
+
64
 
65
  def add_selector(self):
66
  selector = widgets.Dropdown(options=fireList, value="North Complex", description='Wildfire Case Study:')
 
88
 
89
  def add_intSlider(self):
90
  slider = widgets.IntSlider(value=7,min=1,max=30,step=1,description='Elapsed days:',)
91
+
92
+ def on_slider_change(change):
93
+ selected_days = change['new']
94
+ customize_ee_data(selected_days)
95
+
96
+ slider.observe(on_slider_change)
97
  self.add_widget(slider, position="topleft")
98
+
99
 
100
  @solara.component
101
  def Page():