danielle-losos commited on
Commit
70e6d9b
·
verified ·
1 Parent(s): 5a5402c

CHANGED EVERTYHING!!

Browse files
Files changed (1) hide show
  1. pages/burn_mapping.py +58 -32
pages/burn_mapping.py CHANGED
@@ -12,14 +12,18 @@ dNBRvisParams = {'min': 0.0,'max': 0.8, 'palette': ['green', 'yellow','orange','
12
  class Map(geemap.Map):
13
  def __init__(self, **kwargs):
14
  super().__init__(**kwargs)
15
- self.add_ee_data()
16
- self.customize_ee_data(30)
 
 
 
 
17
  self.add_selector()
18
  self.add_intSlider()
19
 
20
  self.add("layer_manager")
21
- self.remove("toolbar")
22
-
23
  def add_ee_data(self):
24
  def calc_nbr(pre_start, pre_stop, post_start, post_stop, bbox):
25
  PREgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPF').filter(ee.Filter.date(pre_start, pre_stop)).mean()
@@ -44,53 +48,75 @@ class Map(geemap.Map):
44
  self.addLayer(dixie, dNBRvisParams, 'Dixie Complex GOES NBR', False)
45
  self.addLayer(cam_peak, dNBRvisParams, 'Cameron Peak GOES NBR', False)
46
  self.addLayer(aug_complex, dNBRvisParams, 'August Complex GOES NBR', False)
 
47
 
48
- def customize_ee_data(self, elapDays):
49
- def calc_nbr(pre_start, pre_stop, post_start, post_stop, bbox):
50
- PREgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPF').filter(ee.Filter.date(pre_start, pre_stop)).mean()
51
- POSTgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPF').filter(ee.Filter.date(post_start, post_stop)).mean()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  preNBR = PREgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR')
53
  postNBR = POSTgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR')
54
  dNBR = preNBR.subtract(postNBR).select('NBR')
55
  dNBRclipped = dNBR.clip(bbox)
56
  return dNBRclipped
57
-
58
- north_complex_bb = ee.Geometry.BBox(-121.616097, 39.426723, -120.668526, 40.030845)
59
- startDate = ee.Date('2020-08-16')
60
- elapDayNum = ee.Number(elapDays)
61
- postStart = startDate.advance(elapDayNum, 'day')
62
- postStop = postStart.advance(elapDayNum, 'day')
63
- north_complex = calc_nbr('2020-08-15', '2020-08-16', postStart, postStop, north_complex_bb)
64
- self.addLayer(north_complex, dNBRvisParams, 'North Complex GOES NBR', True)
65
-
66
-
 
 
 
 
 
67
  def add_selector(self):
68
  selector = widgets.Dropdown(options=fireList, value="North Complex", description='Wildfire Case Study:')
69
 
70
  def on_selector_change(change):
71
- selected_fire = change['new']
72
- #self.clear_layers()
73
- if selected_fire == "North Complex":
74
- self.find_layer('North Complex GOES NBR').visible = True
75
- elif selected_fire == "Dixie":
76
- self.find_layer('Dixie Complex GOES NBR').visible = True
77
- elif selected_fire == "Cameron Peak":
78
- self.find_layer('Cameron Peak GOES NBR').visible = True
79
- elif selected_fire == "August Complex":
80
- self.find_layer('August Complex GOES NBR').visible = True
 
 
 
81
 
82
  selector.observe(on_selector_change, names='value')
83
-
84
- #widget = widgets.VBox(selector)
85
  self.add_widget(selector, position="topleft")
86
 
87
  def add_intSlider(self):
88
- slider = widgets.IntSlider(value=7,min=1,max=30,step=1,description='Elapsed days:',)
89
 
90
  def on_slider_change(change):
91
  if change['name'] == 'value':
92
  selected_days = change['new']
93
- self.customize_ee_data(selected_days)
94
 
95
  slider.observe(on_slider_change, names='value')
96
  self.add_widget(slider, position="topleft")
 
12
  class Map(geemap.Map):
13
  def __init__(self, **kwargs):
14
  super().__init__(**kwargs)
15
+ # Default starting configuration
16
+ selected_fire == "North Complex"
17
+ selected_days == 30
18
+
19
+ #self.add_ee_data()
20
+ self.customize_ee_data(selected_fire, selected_days)
21
  self.add_selector()
22
  self.add_intSlider()
23
 
24
  self.add("layer_manager")
25
+ self.remove("draw_control")
26
+ '''
27
  def add_ee_data(self):
28
  def calc_nbr(pre_start, pre_stop, post_start, post_stop, bbox):
29
  PREgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPF').filter(ee.Filter.date(pre_start, pre_stop)).mean()
 
48
  self.addLayer(dixie, dNBRvisParams, 'Dixie Complex GOES NBR', False)
49
  self.addLayer(cam_peak, dNBRvisParams, 'Cameron Peak GOES NBR', False)
50
  self.addLayer(aug_complex, dNBRvisParams, 'August Complex GOES NBR', False)
51
+ '''
52
 
53
+ def customize_ee_data(self, fire, elapDays):
54
+ elapDayNum = ee.Number(elapDays)
55
+ elapDay_plusOne = elapDayNum.add(ee.Number(1))
56
+
57
+ north_startDate = ee.Date('2020-08-16')
58
+ dixie_startDate = ee.Date('2021-07-13')
59
+ cam_startDate = ee.Date('2020-08-13')
60
+ aug_startDate = ee.Date('2020-08-15')
61
+
62
+ north_complex_bb = ee.Geometry.BBox(-121.616097, 39.426723, -120.668526, 40.030845)
63
+ dixie_bb = ee.Geometry.BBox(-121.680467, 39.759303, -120.065477, 40.873387)
64
+ cam_peak_bb = ee.Geometry.BBox(-106.014784, 40.377907, -105.116651, 40.822094)
65
+ aug_complex_bb = ee.Geometry.BBox(-123.668726, 39.337654, -122.355860, 40.498304)
66
+
67
+ def calc_nbr(pre_start, pre_stop, post_start, post_stop, bbox):
68
+ PREgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPC').filter(ee.Filter.date(pre_start, pre_stop))\
69
+ .filter(ee.Filter.calendarRange(17, 21, 'hour')).mean()
70
+ POSTgoesCMI = ee.ImageCollection('NOAA/GOES/17/MCMIPC').filter(ee.Filter.date(post_start, post_stop))\
71
+ .filter(ee.Filter.calendarRange(17, 21, 'hour')).mean()
72
  preNBR = PREgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR')
73
  postNBR = POSTgoesCMI.select(['CMI_C03','CMI_C06']).normalizedDifference(['CMI_C03', 'CMI_C06']).toFloat().rename('NBR')
74
  dNBR = preNBR.subtract(postNBR).select('NBR')
75
  dNBRclipped = dNBR.clip(bbox)
76
  return dNBRclipped
77
+
78
+ if fire == "North Complex":
79
+ north_complex = calc_nbr(north_startDate.advance(-7, 'day'), north_startDate, north_startDate.advance(elapDayNum, 'day'), north_startDate.advance(elapDay_plusOne,'day'), north_complex_bb)
80
+ self.addLayer(north_complex, dNBRvisParams, 'North Complex GOES NBR', True)
81
+ elif fire == "Dixie":
82
+ dixie = calc_nbr(dixie_startDate.advance(-7, 'day'), dixie_startDate, dixie_startDate.advance(elapDayNum, 'day'), dixie_startDate.advance(elapDay_plusOne,'day'), dixie_bb)
83
+ self.addLayer(dixie, dNBRvisParams, 'Dixie Complex GOES NBR', True)
84
+ elif fire == "Cameron Peak":
85
+ cam_peak = calc_nbr(cam_startDate.advance(-7, 'day'), cam_startDate, cam_startDate.advance(elapDayNum, 'day'), cam_startDate.advance(elapDay_plusOne,'day'), cam_peak_bb)
86
+ self.addLayer(cam_peak, dNBRvisParams, 'Cameron Peak GOES NBR', True)
87
+ elif fire == "August Complex":
88
+ aug_complex = calc_nbr(aug_startDate.advance(-7, 'day'), aug_startDate, aug_startDate.advance(elapDayNum, 'day'), aug_startDate.advance(elapDay_plusOne,'day'), aug_complex_bb)
89
+ self.addLayer(aug_complex, dNBRvisParams, 'August Complex GOES NBR', True)
90
+
91
+
92
  def add_selector(self):
93
  selector = widgets.Dropdown(options=fireList, value="North Complex", description='Wildfire Case Study:')
94
 
95
  def on_selector_change(change):
96
+ if change['name'] == 'value':
97
+ selected_fire = change['new']
98
+ self.customize_ee_data(selected_fire, selected_days)
99
+
100
+ '''#self.clear_layers()
101
+ if selected_fire == "North Complex":
102
+ self.find_layer('North Complex GOES NBR').visible = True
103
+ elif selected_fire == "Dixie":
104
+ self.find_layer('Dixie Complex GOES NBR').visible = True
105
+ elif selected_fire == "Cameron Peak":
106
+ self.find_layer('Cameron Peak GOES NBR').visible = True
107
+ elif selected_fire == "August Complex":
108
+ self.find_layer('August Complex GOES NBR').visible = True'''
109
 
110
  selector.observe(on_selector_change, names='value')
 
 
111
  self.add_widget(selector, position="topleft")
112
 
113
  def add_intSlider(self):
114
+ slider = widgets.IntSlider(value=30,min=1,max=30,step=1,description='Elapsed days:',)
115
 
116
  def on_slider_change(change):
117
  if change['name'] == 'value':
118
  selected_days = change['new']
119
+ self.customize_ee_data(selected_fire, selected_days)
120
 
121
  slider.observe(on_slider_change, names='value')
122
  self.add_widget(slider, position="topleft")