如下所示:
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