用python批量改变tif投影坐标系

目录

  • 准备工作
  • 设置重投影选项和输出文件夹
  • 执行重投影
  • 完整代码

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)

你可能感兴趣的:(遥感图像处理,python,开发语言,gdal)