# !pip install geemap import os import ee import geemap import ipywidgets as widgets Map = geemap.Map() Map.add_basemap('HYBRID') Map style = {'description_width': 'initial'} title = widgets.Text( description='Title:', value='Landsat Timelapse', width=200, style=style ) bands = widgets.Dropdown( description='Select RGB Combo:', options=[ 'Red/Green/Blue', 'NIR/Red/Green', 'SWIR2/SWIR1/NIR', 'NIR/SWIR1/Red', 'SWIR2/NIR/Red', 'SWIR2/SWIR1/Red', 'SWIR1/NIR/Blue', 'NIR/SWIR1/Blue', 'SWIR2/NIR/Green', 'SWIR1/NIR/Red', ], value='NIR/Red/Green', style=style, ) hbox1 = widgets.HBox([title, bands]) hbox1 speed = widgets.IntSlider( description=' Frames per second:', tooltip='Frames per second:', value=10, min=1, max=30, style=style, ) cloud = widgets.Checkbox( value=True, description='Apply fmask (remove clouds, shadows, snow)', style=style ) hbox2 = widgets.HBox([speed, cloud]) hbox2 start_year = widgets.IntSlider( description='Start Year:', value=1984, min=1984, max=2020, style=style ) end_year = widgets.IntSlider( description='End Year:', value=2020, min=1984, max=2020, style=style ) start_month = widgets.IntSlider( description='Start Month:', value=5, min=1, max=12, style=style ) end_month = widgets.IntSlider( description='End Month:', value=10, min=1, max=12, style=style ) hbox3 = widgets.HBox([start_year, end_year, start_month, end_month]) hbox3 font_size = widgets.IntSlider( description='Font size:', value=30, min=10, max=50, style=style ) font_color = widgets.ColorPicker( concise=False, description='Font color:', value='white', style=style ) progress_bar_color = widgets.ColorPicker( concise=False, description='Progress bar color:', value='blue', style=style ) hbox4 = widgets.HBox([font_size, font_color, progress_bar_color]) hbox4 create_gif = widgets.Button( description='Create timelapse', button_style='primary', tooltip='Click to create timelapse', style=style, ) download_gif = widgets.Button( description='Download GIF', button_style='primary', tooltip='Click to download timelapse', disabled=False, style=style, ) output = widgets.Output() hbox5 = widgets.HBox([create_gif]) hbox5 def submit_clicked(b): with output: output.clear_output() if start_year.value > end_year.value: print('The end year must be great than the start year.') return if start_month.value > end_month.value: print('The end month must be great than the start month.') return if start_year.value == end_year.value: add_progress_bar = False else: add_progress_bar = True start_date = str(start_month.value).zfill(2) + '-01' end_date = str(end_month.value).zfill(2) + '-30' print('Computing...') Map.add_landsat_ts_gif( roi=Map.user_roi, label=title.value, start_year=start_year.value, end_year=end_year.value, start_date=start_date, end_date=end_date, bands=bands.value.split('/'), font_color=font_color.value, frames_per_second=speed.value, font_size=font_size.value, add_progress_bar=add_progress_bar, progress_bar_color=progress_bar_color.value, download=True, apply_fmask=cloud.value, ) create_gif.on_click(submit_clicked) output