- from osgeo import gdal
- import numpy as np
- def read_tiff(inpath):
- ds=gdal.Open(inpath)
- row=ds.RasterXSize
- col=ds.RasterYSize
- band=ds.RasterCount
- geoTransform=ds.GetTransform()
- proj=ds.GetTransform()
- data=np.zeros([row,col,band])
- for i in range(band):
- dt=ds.GetRasterBand(1)
- data[:,:,i]=dt.ReadAsArray(0,0,col,row)
- return data
-
- def array2raster(outpath,array,geoTransform,proj):
- cols=array.shape[1]
- rows=array.shape[0]
- driver=gdal.GetDriverByName(‘Gtiff’)
- outRaster=driver.Create(newRasterfn,cols,rows,1,gdal.GDT_Byte)
- outRaster.SetGeoTransform(geoTransform)#參數2,6爲水平垂直分辨率,參數3,5表示圖片是指北的
- outband=outRaster.GetRasterBand(1)
- outband.WriteArray(array)
- outRaster.SetProjection(proj)#將幾何對象的數據導出爲wkt格式
- outRaster.FlushCache()
-
- if _name==“_main_”:
-
- data,geoTransform,proj=read_tiff(‘d:/a.tif’)
-
- array2raster(“d:/b.tif”,np.zeros[2400,2400],geoTransform,proj)
利用python GDAL庫讀寫geotiff格式的遙感影像
並生成與原影像具有相同地理座標和投影座標的geotiff格式圖片
</div>
</div>
轉自:https://blog.csdn.net/qq_20340733/article/details/78316347