笔者最近需要下载一个区域的长时间序列影像,然后将其制作成动图展示其动态变化过程。这其中涉及到两个问题,一是将tif数据绘制成PNG或jpg等格式图片,二是由图片绘制动图GIF。
一、由TIF绘制PNG
这里需要用到matplotlib和GDAL两个库来将tif格式图像绘制为PNG图片,如果没有相关包,则需要提前pip安装。
1.1 导入相关库
from osgeo import gdal
import numpy as np
import os
#os.environ['PROJ_LIB'] = r'E:\ProgramData\Anaconda3\envs\qt39\Lib\site-packages\pyproj\proj_dir\share\proj'
# os.environ['GDAL_DATA'] = r'E:\ProgramData\Anaconda3\envs\qt39\Library\share'
import random
import matplotlib.pyplot as plt
import numpy as np
import imageio
1.2 确定文件读取和输出路径
tifDir = './tifs'
outputDir = './imgs'
if not os.path.exists(outputDir):
os.makedirs(outputDir)
tifs = [i for i in os.listdir(tifDir) if i.endswith(".tif")]
print("有 %s 个tif文件" % len(tifs))
1.3 绘制图像
tif = tifs[0]
year = tif.split('_')[2].split('.')[0]
print

最低0.47元/天 解锁文章
2432





