TIFF(Tagged Image File Format)
是一种常用的栅格图像文件格式,而 GDAL(Geospatial Data Abstraction Library)
是用于处理地理空间数据的开源库。本文将使用GDAL库对一组TIFF图像进行重投影,将它们从原始坐标系转换到 GCS_WGS_1984
坐标系。
首先,确保你已经安装了GDAL
库,并导入所需的模块:
from osgeo import gdal
import os
然后,将当前文件夹设置为工作目录,并获取所有的TIFF文件:
input_directory = os.getcwd()
tiff_files = [os.path.join(input_directory, f) for f in os.listdir(input_directory) if f.endswith('.tif')]
在对图像进行重投影之前,我们需要设置一些选项。这里我们将设置目标坐标系为EPSG:4326
,并指定输出图像格式为GTiff
,并使用LZW
压缩:
warp_options = gdal.WarpOptions(dstSRS='EPSG:4326', format='GTiff', creationOptions=['COMPRESS=LZW'])
然后,我们创建一个文件夹来存放重投影后的图像:
reprojected_dir = 'reprojected_tiffs'
os.makedirs(reprojected_dir, exist_ok=True)
现在,我们可以开始对每个TIFF图像进行重投影,并将结果保存到指定的文件夹中:
for tiff in tiff_files:
reprojected_tiff = os.path.join(reprojected_dir, os.path.basename(tiff))
gdal.Warp(reprojected_tiff, tiff, options=warp_options)
以上代码将逐个遍历TIFF图像文件,并使用gdal.Warp()
函数执行重投影操作。重投影后的图像将保存在指定的输出文件夹中,文件名与原始文件保持一致。
本文介绍了使用GDAL库对TIFF图像进行重投影的Python实践。通过重投影,我们可以将图像从一个坐标系转换到另一个坐标系,以满足不同的空间分析需求。使用GDAL库的gdal.Warp()函数,我们可以轻松地进行图像重投影操作,并保存结果到指定的文件夹中,以下是完整代码:
from osgeo import gdal
import os
# 设置当前文件夹为工作目录
input_directory = os.getcwd()
# 获取所有TIFF文件
tiff_files = [os.path.join(input_directory, f) for f in os.listdir(input_directory) if f.endswith('.tif')]
# 设置用于重投影的选项
warp_options = gdal.WarpOptions(dstSRS='EPSG:4326', format='GTiff', creationOptions=['COMPRESS=LZW'])
# 创建用于存放重投影图像的文件夹
reprojected_dir = 'reprojected_tiffs'
os.makedirs(reprojected_dir, exist_ok=True)
# 重投影所有图像到GCS_WGS_1984坐标系,并保存到指定文件夹
for tiff in tiff_files:
reprojected_tiff = os.path.join(reprojected_dir, os.path.basename(tiff))
# 执行重投影
gdal.Warp(reprojected_tiff, tiff, options=warp_options)