Анимированный GIF с аннотациями. Раздражающий бар сбоку

#python #geopandas #google-earth-engine #geemap

Вопрос:

Я написал сценарий, который загружает серию изображений с помощью движка Google Earth в GIF-файл и помещает на него дату изображения в качестве аннотации. Смотрите код ниже:

 import geopandas as gpd
import ee
import os
import geemap

from datetime import date, timedelta
# ee.Authenticate()
ee.Initialize()

rect = ee.Geometry.Polygon(
  [[[-269.6484375, 77.9156690],
    [-269.6484375, 46.0122238],
    [-168.8378906, 46.0122238],
    [-168.8378906, 77.9156690]]],
)

collection = ee.ImageCollection("MODIS/006/MOD13Q1")
  .filterDate('2020-01-01', '2020-12-31')
  .select('NDVI')

sdate = date(2020, 1, 1)   # start date
edate = date(2020, 12, 18)   # end date
date_modified = sdate
datelist = [sdate]

while date_modified < edate:
    date_modified  = timedelta(days=16)
    datelist.append(date_modified)

print(list)

mask = gpd.read_file('Data/RUS_adm1.shp')

im = ee.Image(collection.first().clip(mask))

args = {'dimensions': 600,
        'crs': 'EPSG:3857',
        'region': rect,
        'min': 0,
        'max': 10000,
        'palette': ['FFFFFF', 'CE7E45', 'DF923D', 'F1B555', 'FCD163', '99B718', '74A901', '66A000', '529400', '3E8601',
                    '207401', '056201', '004C00', '023B01', '012E01', '011D01', '011301'],
        'framesPerSecond': 1}


print(collection.select('NDVI').sort('system:time_start', True).getVideoThumbURL(args))
# print((collection,args))

saved_gif = os.path.join(os.path.expanduser('~'), 'Downloads/NDVI.gif')
geemap.download_ee_video(collection, args, saved_gif)

out_gif = os.path.join(os.path.expanduser('~'), 'Downloads/NDVI.gif')

geemap.add_text_to_gif(saved_gif, out_gif, xy=('10%', '5%'), text_sequence=datelist, font_size=30, font_color='#ffffff',
                       duration=250, add_progress_bar=False)
geemap.add_text_to_gif(out_gif, out_gif, xy=('50%', '5%'), text_sequence='16 Day NDVI for the year 2020', 
                       font_color='white', duration=250, add_progress_bar=False)
geemap.show_image(out_gif)




 

Пока все работает нормально. Только выходной GIF имеет раздражающую полосу справа, которая меняется с каждым кадром GIF. Смотрите рисунок ниже:
Пример кадра выходного GIF-файла

Есть идеи, как это исправить?

Заранее благодарю вас!

Ответ №1:

Я нашел решение для своего первоначального вопроса:

Я уменьшил прямоугольник, который служил «областью», чтобы он лучше соответствовал размеру фигуры, которую я хотел покрыть.