GEE Tutorial #18 - Creating Landsat timelapse animations with animated text using Earth Engine
HTML-код
- Опубликовано: 21 апр 2020
- This tutorial shows you how to create Landsat timelapse GIF animations and added text, label, progress bar to GIF.
Earth Engine Videos Playlist:
• Google Earth Engine an...
geemap GitHub repository:
github.com/giswqs/geemap
Jupyter notebook for this video:
github.com/giswqs/geemap/blob...
Follow my Twitter for more updates:
/ giswqs Хобби
It's just great and you have done it in so simple way. That's a great job.
Have nothing to say but MANY THANKS! Really is!
Great Job.
Thank you for watching!
Hello, It is fascinating. My doctoral theme about build geoinformation system, so I use GEE. Your videos help me.
It is completely awesome, Qiusheng!
I have on question, is it possible to import a shapefile to the map?
Yes, you can. See ruclips.net/video/OlNlqfj4uHo/видео.html
Hi thanks for great tutorial, how we can use landsat derived products such as burned area index(BAI) available in GEE.
neat
I have followed this tutorial last semester and created Landsat time-lapse animations. I am trying to do the same for another region now, following this tutorial. But the animation that I am getting is all black. I can see the text and the progress bar, but the actual imagery is not visible in the animation as a time-lapse. Can someone please help me to figure out what can be the possible issue?
Cool, we can do these GIFs with other satellites? Like Copernicus Sentinel-2 (that has a better spatial resolution) or VIIRS (for the nighttime lights)?
Thank you very much for putting this volume of knowledge for free. Please sir, how do I extract the coordinates of the object i manually selected i.e. the Roi or Aoi? thanks.
Map.user_roi and Map.user_rois
Great video, I was wondering if there is a way to have a time series with as many images possible instead on 1 per year. For example if I want to look at the summer melt season I would only want at least one image from May - September every year. Is this possible? Thank you!
Yes, you can use the create_timeseries() and create_timelapse() functions to create timeseries from any ImageCollection. Basically, you filter the ImageCollection to May-September using ee.Filter.calendarRange() then use create_timeseries() to create timeseries at whatever frequency by setting the frequency parameter to day, month, quarter, year, etc.
geemap.org/timelapse/#geemap.timelapse.create_timelapse
geemap.org/timelapse/#geemap.timelapse.create_timeseries
developers.google.com/earth-engine/apidocs/ee-filter-calendarrange
Thank you professor for this tutorial I've followed thouroughly your steps repeating the same example but i'am having a black image. can you help?
Great tutorial! How can we get one Landsat image each month (or every cloudless Landsat image available) to animate? Now it seems to be just 1/year.
You can composite monthly imagery by yourself, and then download the GIF to add animated text. See this example github.com/giswqs/geemap/blob/master/examples/notebooks/16_add_animated_text.ipynb
@@giswqs Thanks!
Thanks a lot for sharing your tutorial, I'll practice. Do you have a video about NDVI for agriculture or is it possible to do this for NDVI?. Greetings from Perú. New suscriber!
You can create a timelapse for any ImageCollection. Check out this notebook example github.com/giswqs/geemap/blob/master/examples/notebooks/18_create_landsat_timelapse.ipynb
Thank you for such a great job.Just a quick one on minute 4:09 what key combination did you mention?
Shift + Tab
@@giswqs Thankyou
Do you have an algorithm for removing the scanlines
Thanks for the useful video. Please help, how can I download images as a link with text?
First of all thank you, this videos help me so much! Is it possible to do this with a Sentinel imagecollection?
Yes you can! See geemap.org/common/#geemap.common.sentinel2_timeseries
@@giswqs Thank you for you respond! I hope the very best!
hi! im using GEE for my dissertation and this tutorial was so useful for a beginner! I have a question though, Ive used Landsat and the resolution is brilliant for what I am looking at however when I create a timelapse of the same area the resolution completely disappears and is very blurry, is there a way to fix this??
TImelapse is suitable for relatively large areas only. For high-resolution, you need to create timeseries book.geemap.org/chapters/09_timelapse.html#creating-timeseries
Hello Dr Wu, your work is really great and push the humanity to a better place. Thank you!
Also have a question if you have the time for this : How to change the image frequency? I see it's in year by default, we just have to put frequency = "month" ? Thanks a lot :)
Correct. You might need to the timespan so that you don’t exceed the memory by having too many monthly images
I really appreciate your responsiveness! One last question, I don't want to waste your time: I don't know how and where I should put frequency="month". when I try it, it doesn't work. Should I introduce this variable?
book.geemap.org/chapters/09_timelapse.html#sentinel-2-timelapse
Thanks a lot! I tried a lot of things but I still have this issue " Map.add_landsat_ts_gif() got an unexpected keyword argument 'frequency' ". I also tried with the notebook 27 and 39 (github). I think i don't have enough skills
if you have the approach to change the frequency for a timelapse landsat (how to put this new argument?) it would be great. I've tried a lot of things in the last couple of days, with no success. Have a nice day
Hi Qiusheng, great job, how can I do this same process but with SENTINEL images from the Copernicus program?
See geemap.readthedocs.io/en/latest/source/geemap.html#geemap.geemap.sentinel2_timeseries
Hi, thank you for your work. Your tutorials are easy to follow! Is it possible to add a custom polygon to the gif? I´ve tried loading the polygon and hoping the gif gets it witout luck.
You can use *image.blend()*. See ruclips.net/video/v-FWj9dAMJ8/видео.html
@@giswqs Thank you!. I add this: collection = collection.map(lambda img: img.blend(countries.style(**style))) and it was ok, but then I tried to export the gif with geemap.download_ee_video(collection, video_args, out_gif) and I got this error: Image.blend: Images must contain the same number of bands or only 1 band. Got 8 and 3. Sorry for bothering you here.
Awesome!
Just a quick question. Is it possible to make it so I can get images for a region in different months in the same year, rather than over the years? I tried it but ended up with one image.
Thanks a lot for keeping up with the comments :)
Yes, it is possible. You will have to know GEE to do some coding.
Yes, I have basic knowledge in GEE I'll try it out with the code and let you know when I get it to work. Thanks!
Try the geemap.date_sequence() to create a time series and then use a map function to create an ImageCollection.
geemap.org/common/#geemap.common.date_sequence
I'll do that, Thank you so much! 🙏
Thanks for the video again. I have a quick question. When I load the first image as you instructed the image looks black and when i download the gif, it is also black colour. What is the reason for this?
Don’t pan and zoom too far away from the map center. If the longitude is outside [-180, 180], then you will end up with black images
Hello Dr Wu, thank you so much for sharing your knowledge, this is beautiful!
I have a question if you can answer it. When I run the code there is "Request had insufficient authentication scopes.
The input gif file does not exist." at the end of the part 'Generate a Landsat timelapse animation', I don't know how to go throught this issue..
Thanks a lot! :)
import ee
ee.Authenticate()
@@giswqs Thank you so much for your reactivity and your generosity :)
Hi there, I am getting import error when I try to run the generate timelapse animation>? it seems it cant' import to the map
Thank you for the video. If I want to make a time series of an area out of Sentinel-1 SAR data, how can I proceed?
See book.geemap.org/chapters/09_timelapse.html#sentinel-1-timelapse
@@giswqsThank you so much! I've tried the code you provided, and it works. Now, my question is, how can I ensure that I only use SAR data that completely covers my area of interest? I created a time-lapse, but some of the data only cover part of my AOI. Also, when I extend the time period, for example, from 2015 to 2020, the result still shows only data from 2019, which is the default value in the code. Lastly, I'm curious if it's possible to incorporate speckle filtered data into the final time-lapse.
Mr. Wu, you used ee.Geometry.Polygon where the coordinates are needed for drawing the polygon. What if I want to use a local shape filed as a polygon for the time-lapse area. What should I do then?
See ruclips.net/video/OlNlqfj4uHo/видео.html
谢谢老师非常通俗易懂的讲解。我还有一个问题,landsat的时间序列变化gif可以通过landsat_timeseries函数添加到map上,那其他的gif怎样将添加到map上显示呢?
See geemap.org/notebooks/image_overlay/
Thanks! is it possible to have the 'gif' a little bit more zoomed in, thanks again ?
Draw a smaller ROI
@@giswqs thanks
I am following your all tutorial videos. Here, I am interested in making Landsat animation (GIF). Could you tell us, how can I customize the variables that you mentioned at 4:19 of the video? I can not edit the code. Also, I am unable to download the GIF and export it to my computer. I will be happy to hear from you.
Check out the notebook example. Define variables and pass those variables to the function.
github.com/giswqs/geemap/blob/master/examples/notebooks/18_create_landsat_timelapse.ipynb
@@giswqs I followed your notebook example and it downloaded the timelapse automatically. But the results were full of cloud cover or snow cover, I can not customize the code to include only could and snow-free images. Also, How can I skip the year, where no images are available? Your help is highly appreciated.
Dr. Wu, I have a question. Which images will get selected in the Landsat Timelapse Animation given a time window (06-01 / 09/01)?
It is based on a median filter applied on all available images within the selected time winder. See developers.google.com/earth-engine/guides/ic_reducing.
@@giswqs Perfect. Thank you! I wonder if there's a way to generate a timeseries by entering, for example, 8 images in a list ['image1, 'image2',...] and entering my own text also in a list ['label1', 'label2',...]?
Hi! I am trying to follow this tutorial once again, but am having trouble with the bug for the 2.0.2. I have downgraded for 1.12.8 last week and it worked, but now it no longer works. I have also ran the command you posted on github a few days ago: "pip install -U earthengine-api
" and still getting the "UnknownApiNameOrVersion: name: earthengine version: v1alpha" error. Any suggestions, please?
See github.com/giswqs/geemap/discussions/341#discussioncomment-472587. Try creating a new conda install env to install it.
I am getting this error Please wait ...
An error occurred while downloading.
User memory limit exceeded. How can I solve this?
I didn't catch how to see the variable description- Ctrl+Shift+???
Shift+Tab
same question for me, thanks :)
Thank you so much for such a brilliant job.
Can I increase the output timelapse video max pixels?
I am getting this error : (Total request size (337087488 pixels) must be less than or equal to 26214400 pixels.)
Unfortunately, that’s the size limit enforced by Google. It can’t be changed
@@giswqs Oh I see!
Thank You so much for such a nice package.
It helps me a lot.
comment vous faites l'entrée au clavier sur la vidéo? J'arrive pas trop à suivre vu que c'est en anglais.
Well done sir.
I really appreciate your effort. I sent you a connection request on LinkedIn few days ago, kindly accept it.
Thanks.
I got this error
ModuleNotFoundError Traceback (most recent call last)
in
----> 1 import geemap
ModuleNotFoundError: No module named 'geemap'
Make sure you activate the conda env where geemap is installed.
Is there a way to visualize cloud free timelapse?
Also, are all these images Landsat 7 images?
It should be cloud-free timelapse already, including Landsat 4/5/7/8. See geemap.readthedocs.io/en/latest/_modules/geemap/geemap.html#landsat_timeseries
@@giswqs I wanted to know if the shortcut method: Map.add_landsat_ts_gif() could be used to produce cloud free gif. Thank you.
@@nitant The gif is created based on the ImageCollection. You can composite a cloud free ImageCollection and then use geemap.download_ee_video() to download GIF. See the links below:
geemap.readthedocs.io/en/latest/geemap.html#module-geemap.geemap
developers.google.com/earth-engine/ic_visualization
I really love your video :) I try to draw a map in Seoul, Korea but it's not working. Maybe because the Landsat doesn't cover South Korea?
This is a bug. A fix is on the way. Stay tuned.
@@giswqs Ohhhh! Thank you!!! You are the best!!!!!♥
This bug has been fixed. Please update geemap using `geemap.update_package()` and restart the Jupyter kernel to take effect.
See github.com/giswqs/geemap/issues/134
@@giswqs WOW!!!!!! Now it's working X) So coooool!! I really appreciate for such quick update.
You are very welcome! Enjoy😀
When I run code Map=geemap.Map(), it got a problem "EEException: Permission denied." Coul you help me to solve it
Have you signed up for a Google Earth Engine account? earthengine.google.com/signup/
@@giswqs Thank you for your answer. I set the FramePerSecond is 120, but it is still quite fast. Could I reduce the speed of animation???
Set it to a smaller number. 10 means 10 images per second. 1 means 1 Image per second.
Hello Mr. Wu! I am also having problems with selecting ROI in Asia and then running it unsuccessfully. After trying geemap.update_package() as mentioned in (github.com/giswqs/geemap/issues/134) it still doesn't work, display and download. The downloaded GIF is black. I don't know what the problem is, but I would appreciate it if you could answer my questions.
See github.com/giswqs/geemap/issues/642
Can I do timelapse of Sentinel 5? help pls
You can create a timelapse for any ImageCollection. Check out this notebook example github.com/giswqs/geemap/blob/master/examples/notebooks/18_create_landsat_timelapse.ipynb
@@giswqs Sentinel 5P (NO2) image collection not working. want to clip it by roi, year :2019 to 2020. help pls
I am having the same problem with Sentinel NO2 data. I tried it in GEE. Here is the code:
code.earthengine.google.com/1e6030fdabf3ae874a7a45ad3cfa400c?
But I can't figure out how to add the time stamp/label on it
Hi! First, you job is awesome!
second, I am getting this error :UnknownApiNameOrVersion: name: earthengine version: v1alpha
See github.com/giswqs/geemap/discussions/341#discussioncomment-472587
Noble how can I subscribe *10