Python-gdal读取卫星数据,并提取三个波段写入新的tif
#导入gdal包
from osgeo import gdal
#读取遥感影像数据
path=r'E:\oil.tif'
ds=gdal.Open(path)
num=ds.RasterCount #获取影像波段数
#栅格矩阵的列数
im_width = ds.RasterXSize
#栅格矩阵的行数
im_height = ds.RasterYSize
#获取仿射矩阵,左上角像素的大地坐标和像素分辨率。
#共有六个参数,分表代表左上角x坐标;东西方向上图像的分辨率;如果北边朝上,地图的旋转角度,0表示图像的行与x轴平行;左上角y坐标;
#如果北边朝上,地图的旋转角度,0表示图像的列与y轴平行;南北方向上地图的分辨率。
im_geotrans = ds.GetGeoTransform()
#地图投影信息
im_proj = ds.GetProjection()
#读取某一像素点的值
#读取波段为数组,其参数为波段的索引号,波段索引号从1开始,本文读取影像的前三个波段
band=ds.GetRasterBand(1).ReadAsArray()
band2=ds.GetRasterBand(2).ReadAsArray()
band3=ds.GetRasterBand(3).ReadAsArray()
#创建与读取影像相同属性的三波段影像
tif_driver = gdal.GetDriverByName('GTiff')
out_ds = tif_driver.Create(outpath, im_width,im_height, 3, band.DataType)
out_ds.SetProjection(im_proj)
out_ds.SetGeoTransform(im_geotrans)
#将影像写入新的文件
#写入第一个
out_band = out_ds.GetRasterBand(1)
out_band.WriteArray(band)
#写入第二个
out_band = out_ds.GetRasterBand(2)
out_band.WriteArray(band2)
#写入第三个
out_band = out_ds.GetRasterBand(3)
out_band.WriteArray(band3)
#计算各个波段统计值
out_ds.FlushCache()
for i in range(1,4):
out_ds.GetRasterBand(i).ComputeStatistics(False)
del out_ds
Python-gdal读取卫星数据,并提取三个波段写入新的tif相关推荐
- python提取邮件附件_详解python实现读取邮件数据并下载附件的实例
详解python实现读取邮件数据并下载附件的实例 实现结果图: 实现代码: #!/usr/bin/python2.7 # _*_ coding: utf-8 _*_ """ ...
- python 实现读取excel中的所有sheet后,增加新的sheet,生成新的excel文件
python 实现读取excel中的所有sheet后,增加新的sheet,生成新的excel文件 import pandas as pd import osPath = r"C:\Users ...
- 51单片机串口SBUF是特殊寄存器,只要不写入新的数据就不会消失,写入新的数据就会覆盖之前的,单片机复位后初始值为不确定值
如题,请问51单片机接收数据的SBUF能存活多久呢? 比如下面这个串口中断复函函数(片段),我将接收中断标志RI清0之后,SBUF的值多久会消失呢? unsigned char data = 0; v ...
- Python遥感图像处理应用篇(十四):GDAL 读取多光谱数据为二维数组并存入csv文件
1.使用数据 之前写过一遍文章是采用Arcgis读取多光谱数据为csv文件的,相对来说有一些麻烦,本文有个更简单一点的方法,使用python直接读取. 本文使用Landsat05数据,采用GEE下载的 ...
- 大话 Python:python 操作 excel 系列 -- 数据的提取与筛选
在数据整理完成后,接着就要对条件数据进行提取.并且筛选我们所需要的数据,这就是本篇文章所要讲的数据的提取与筛选,跟本系列其他文章一样我们采取实例的方式进行说明.新来的童鞋请先查看本系列文章的前面几篇内 ...
- python如何读取excel数据-python怎么读取excel中的数值
最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用过程中读取excel数据相关操作. 安装xlrd库(推荐学习:Python视频教程) 可以下载x ...
- python csv读取-python如何读取csv数据
python读取csv数据的方法:首先利用csv.reader方法来读取csv文件,该方法会返回一个可迭代的对象csv_read,然后我们可以直接从csv_read对象中获取数据. python中读取 ...
- python读取二进制数据转整形,在python中读取二进制数据(替换C代码)
我正在写一个python程序来代替C程序,它从微控制器接收数据.这是在C语言中使用一个简单的socket和read函数完成的.在我的python程序中,我可以从微控制器读取一系列数据,但我似乎无法将其 ...
- python怎么读取csv文件-python如何读取csv数据
python读取csv数据的方法:首先利用csv.reader方法来读取csv文件,该方法会返回一个可迭代的对象csv_read,然后我们可以直接从csv_read对象中获取数据. python中读取 ...
最新文章
- 梯度算法求步长的公式_LM(Levenberg-Marquarelt)算法
- WINDOWS下调用GetTokenInformation的奇怪之处--两次调用
- 面试奇淫巧技之——面试非专业的工作的方法
- window编程_消息分类
- Katalon Studio之swagger中的API导入
- 添加MySql用户并授权
- winform空间批量控制
- 跟我一起考PMP---项目范围管理
- 在VS Code中直接调试Web程序,是怎样一种体验?
- mac os和linux和安卓,在我的安卓手机里,安装Windows和macOS系统
- pythonutf8转gbk,Python实现把utf-8格式的文件转换成gbk格式的文件
- 判断一个单链表是否有环及环的链接点
- 苹果iOS系统源码思考:对象的引用计数存储在哪里?--从runtime源码得到的启示...
- tamtam-nuget-imageserver
- 电路分压的基本公式忘记了~~
- SEO内链优化,网站内部链接优化方法
- 视频播放器三大底层架构
- 交房后,如何办理产权证、土地证?
- mongodb可视化工具 mac版 Studio 3T破解
- 临床执业助理医师(综合练习)题库【4】