利用python GDAL库读写geotiff格式的遥感影像方法

yipeiwu_com5年前Python基础

如下所示:

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格式的遥感影像方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python修改list中所有元素类型的三种方法

修改list中所有元素类型: 方法一: new = list() a = ['1', '2', '3'] for x in a: new.append(int(x)) print(...

Python设计模式之抽象工厂模式

Python设计模式之抽象工厂模式

python面向对象编程入门,我们需要不断学习进步 """抽象工厂模式的实现""" import random class PetShop: """宠物商店""" d...

python 动态加载的实现方法

脚本语言都有一个优点,就是动态加载。lua语言有这个优点,python也有这个特性。说简单点就是,如果开发者发现自己的代码有bug,那么他可以在不关闭原来代码的基础之上,动态替换模块。替...

python3+requests接口自动化session操作方法

在进行接口自动化测试时,有好多接口都基于登陆接口的响应值来关联进行操作的,在次之前试了很多方法,都没有成功,其实很简单用session来做。 1、在登陆接口创建一个全局session...

Python中unittest用法实例

本文实例讲述了Python中unittest的用法,分享给大家供大家参考。具体用法分析如下: 1. unittest module包含了编写运行unittest的功能,自定义的test...