写一段gdal读写的代码
时间: 2023-12-01 13:56:24 浏览: 100
以下是使用GDAL库读写栅格数据的示例代码:
```python
import gdal
# 打开输入栅格数据
input_raster = gdal.Open('input.tif')
# 获取栅格数据的基本信息
cols = input_raster.RasterXSize
rows = input_raster.RasterYSize
bands = input_raster.RasterCount
geotransform = input_raster.GetGeoTransform()
projection = input_raster.GetProjection()
# 创建输出栅格数据
driver = gdal.GetDriverByName('GTiff')
output_raster = driver.Create('output.tif', cols, rows, bands, gdal.GDT_Float32)
# 将输入栅格数据的基本信息复制到输出栅格数据中
output_raster.SetGeoTransform(geotransform)
output_raster.SetProjection(projection)
# 读取输入栅格数据的每个波段,进行处理,并写入输出栅格数据的相应波段
for i in range(bands):
band = input_raster.GetRasterBand(i+1)
data = band.ReadAsArray()
# 进行处理操作
# ...
output_band = output_raster.GetRasterBand(i+1)
output_band.WriteArray(data)
# 关闭输入和输出栅格数据
input_raster = None
output_raster = None
```
该代码使用GDAL库打开输入栅格数据,并获取栅格数据的基本信息,然后创建输出栅格数据,将输入栅格数据的基本信息复制到输出栅格数据中。接着,读取输入栅格数据的每个波段,进行处理,并将处理结果写入输出栅格数据的相应波段。最后,关闭输入和输出栅格数据。
阅读全文