如下所示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
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格式图片。
以上这篇利用python GDAL库读写geotiff格式的遥感影像方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/qq_20340733/article/details/78316347