python gdal 重采样_Python遥感影像重采样
时间: 2023-11-05 20:19:37 浏览: 184
gdal重写影像
对于Python遥感影像重采样,可以使用GDAL(Geospatial Data Abstraction Library)库来实现。GDAL是一个开源的地理信息系统(GIS)库,它提供了许多用于处理栅格数据的功能,包括重采样。
下面是一个简单的示例代码,演示如何使用GDAL库进行遥感影像重采样:
```python
from osgeo import gdal
def resample_image(input_path, output_path, pixel_size):
# 打开输入影像
input_ds = gdal.Open(input_path)
# 获取输入影像的投影和仿射变换参数
projection = input_ds.GetProjection()
geotransform = input_ds.GetGeoTransform()
# 获取输入影像的宽度和高度
width = input_ds.RasterXSize
height = input_ds.RasterYSize
# 计算重采样后的宽度和高度
new_width = int(width / pixel_size)
new_height = int(height / pixel_size)
# 创建输出影像
driver = gdal.GetDriverByName('GTiff')
output_ds = driver.Create(output_path, new_width, new_height, 1, gdal.GDT_Float32)
# 设置输出影像的投影和仿射变换参数
output_ds.SetProjection(projection)
output_ds.SetGeoTransform((geotransform[0], pixel_size, 0, geotransform[3], 0, -pixel_size))
# 执行重采样
gdal.ReprojectImage(input_ds, output_ds, None, None, gdal.GRA_Bilinear)
# 关闭数据集
input_ds = None
output_ds = None
# 使用示例
input_path = 'input_image.tif'
output_path = 'resampled_image.tif'
pixel_size = 10 # 新的像素大小(单位:米)
resample_image(input_path, output_path, pixel_size)
```
在上面的示例中,`input_path`是输入影像的路径,`output_path`是重采样后的输出影像的路径,`pixel_size`是新的像素大小,用于指定重采样后每个像素的大小(单位:米)。代码将使用双线性插值进行重采样操作,并将结果保存为GeoTIFF格式的影像文件。
请注意,执行此代码需要安装GDAL库。你可以使用pip安装它:`pip install gdal`。
希望这个示例对你有帮助!如果你有任何其他问题,请随时提问。
阅读全文