18 create landsat timelapse
Uncomment the following line to install geemap if needed.
In [ ]:
Copied!
# !pip install geemap
# !pip install geemap
In [ ]:
Copied!
import geemap
import geemap
In [ ]:
Copied!
geemap.show_youtube('OwjSJnGWKJs')
geemap.show_youtube('OwjSJnGWKJs')
In [ ]:
Copied!
# geemap.update_package()
# geemap.update_package()
In [ ]:
Copied!
Map = geemap.Map()
Map
Map = geemap.Map()
Map
Generate a Landsat timelapse animation¶
In [ ]:
Copied!
import os
out_dir = os.path.join(os.path.expanduser("~"), 'Downloads')
if not os.path.exists(out_dir):
os.makedirs(out_dir)
import os
out_dir = os.path.join(os.path.expanduser("~"), 'Downloads')
if not os.path.exists(out_dir):
os.makedirs(out_dir)
In [ ]:
Copied!
label = 'Urban Growth in Las Vegas'
Map.add_landsat_ts_gif(
label=label,
start_year=1985,
bands=['Red', 'Green', 'Blue'],
font_color='white',
frames_per_second=10,
progress_bar_color='blue',
)
label = 'Urban Growth in Las Vegas'
Map.add_landsat_ts_gif(
label=label,
start_year=1985,
bands=['Red', 'Green', 'Blue'],
font_color='white',
frames_per_second=10,
progress_bar_color='blue',
)
Create Landsat timeseries¶
In [ ]:
Copied!
import os
import ee
import geemap
import os
import ee
import geemap
In [ ]:
Copied!
Map = geemap.Map()
Map
Map = geemap.Map()
Map
You and define an roi or draw a rectangle on the map
In [ ]:
Copied!
roi = ee.Geometry.Polygon(
[
[
[-115.471773, 35.892718],
[-115.471773, 36.409454],
[-114.271283, 36.409454],
[-114.271283, 35.892718],
[-115.471773, 35.892718],
]
],
None,
False,
)
roi = ee.Geometry.Polygon(
[
[
[-115.471773, 35.892718],
[-115.471773, 36.409454],
[-114.271283, 36.409454],
[-114.271283, 35.892718],
[-115.471773, 35.892718],
]
],
None,
False,
)
In [ ]:
Copied!
# roi = Map.draw_last_feature
# roi = Map.draw_last_feature
In [ ]:
Copied!
collection = geemap.landsat_timeseries(
roi=roi, start_year=1985, end_year=2019, start_date='06-10', end_date='09-20'
)
collection = geemap.landsat_timeseries(
roi=roi, start_year=1985, end_year=2019, start_date='06-10', end_date='09-20'
)
In [ ]:
Copied!
print(collection.size().getInfo())
print(collection.size().getInfo())
In [ ]:
Copied!
first_image = collection.first()
vis = {'bands': ['NIR', 'Red', 'Green'], 'min': 0, 'max': 4000, 'gamma': [1, 1, 1]}
Map.addLayer(first_image, vis, 'First image')
first_image = collection.first()
vis = {'bands': ['NIR', 'Red', 'Green'], 'min': 0, 'max': 4000, 'gamma': [1, 1, 1]}
Map.addLayer(first_image, vis, 'First image')
Download ImageCollection as a GIF¶
In [ ]:
Copied!
# Define arguments for animation function parameters.
video_args = {
'dimensions': 768,
'region': roi,
'framesPerSecond': 10,
'bands': ['NIR', 'Red', 'Green'],
'min': 0,
'max': 4000,
'gamma': [1, 1, 1],
}
# Define arguments for animation function parameters.
video_args = {
'dimensions': 768,
'region': roi,
'framesPerSecond': 10,
'bands': ['NIR', 'Red', 'Green'],
'min': 0,
'max': 4000,
'gamma': [1, 1, 1],
}
In [ ]:
Copied!
work_dir = os.path.join(os.path.expanduser("~"), 'Downloads')
if not os.path.exists(work_dir):
os.makedirs(work_dir)
out_gif = os.path.join(work_dir, "landsat_ts.gif")
work_dir = os.path.join(os.path.expanduser("~"), 'Downloads')
if not os.path.exists(work_dir):
os.makedirs(work_dir)
out_gif = os.path.join(work_dir, "landsat_ts.gif")
In [ ]:
Copied!
geemap.download_ee_video(collection, video_args, out_gif)
geemap.download_ee_video(collection, video_args, out_gif)
Add animated text to GIF¶
In [ ]:
Copied!
geemap.show_image(out_gif)
geemap.show_image(out_gif)
In [ ]:
Copied!
texted_gif = os.path.join(work_dir, "landsat_ts_text.gif")
geemap.add_text_to_gif(
out_gif,
texted_gif,
xy=('3%', '5%'),
text_sequence=1985,
font_size=30,
font_color='#ffffff',
add_progress_bar=False,
)
texted_gif = os.path.join(work_dir, "landsat_ts_text.gif")
geemap.add_text_to_gif(
out_gif,
texted_gif,
xy=('3%', '5%'),
text_sequence=1985,
font_size=30,
font_color='#ffffff',
add_progress_bar=False,
)
In [ ]:
Copied!
label = 'Urban Growth in Las Vegas'
geemap.add_text_to_gif(
texted_gif,
texted_gif,
xy=('2%', '88%'),
text_sequence=label,
font_size=30,
font_color='#ffffff',
progress_bar_color='cyan',
)
label = 'Urban Growth in Las Vegas'
geemap.add_text_to_gif(
texted_gif,
texted_gif,
xy=('2%', '88%'),
text_sequence=label,
font_size=30,
font_color='#ffffff',
progress_bar_color='cyan',
)
In [ ]:
Copied!
geemap.show_image(texted_gif)
geemap.show_image(texted_gif)