def writeTiff(im_data, im_geotrans, im_proj, path):'''保存tif文件函数'''if 'int8' in im_data.dtype.name:datatype = gdal.GDT_Byteelif 'int16' in im_data.dtype.name:datatype = gdal.GDT_Int16else:datatype = gdal.GDT_Float32if len(im_data.shape) == 3:im_bands, im_height, im_width = im_data.shapeelif len(im_data.shape) == 2:im_data = np.array([im_data])im_bands, im_height, im_width = im_data.shape# 创建文件# dat格式需要将GTiff改成ENVI,保存文件名直接命名为datdriver = gdal.GetDriverByName("ENVI")dataset = driver.Create(path, int(im_width), int(im_height), int(1), datatype)  # 写入波段数:此时定义为1[W波段只用不保存]if(dataset != None):dataset.SetGeoTransform(im_geotrans)  # 写入仿射变换参数dataset.SetProjection(im_proj)  # 写入投影for i in range(im_bands):dataset.GetRasterBand(i+1).WriteArray(im_data[i])del dataset
if __name__=='__main__':tifNameList = os.listdir(tifFolder)tifPath = tifFolder + "/" + tifNameList[0]# 试读入第一个tif,为获取tif的基本信息dataset = readTif(tifPath)width = dataset.RasterXSize  # 栅格矩阵的列数height = dataset.RasterYSize  # 栅格矩阵的行数Tif_geotrans = dataset.GetGeoTransform()Tif_proj = dataset.GetProjection()# 数据波段for i in range(len(tifNameList)):tifPath = tifFolder + "/" + tifNameList[i]dataset = readTif(tifPath)ndvi_band = dataset.GetRasterBand(1)  # 数据波段ndvi = ndvi_band.ReadAsArray(0, 0, width, height)SavePath = "./data/modis_dat/" + \os.path.splitext(tifNameList[i])[0]+".dat"writeTiff(ndvi, Tif_geotrans, Tif_proj, SavePath)del tifPath, dataset, ndvi_band

python gdal迭代写为ENVI的dat格式相关推荐

  1. python/gdal处理遥感影像(读取、投影转换、裁剪、建立图像金字塔等)

    python/gdal处理遥感影像(读取.投影转换.裁剪.建立图像金字塔等) gdal库简单介绍 python使用gdal 一.安装python环境 二.安装gdal库 三.使用gdal处理遥感影像 ...

  2. Python+GDAL几何校正任意自带经纬度数据的遥感影像

    目录 前言 构建虚拟数据集 几何校正 完整代码 前言 李民录老师在他的博客中使用C++ GDAL的gdaltranslate.exe.gdalwarp.exe等工具对FY3A_MERSI数据进行了几何 ...

  3. python基础教程:python+gdal+遥感图像拼接(mosaic)的实

    这篇文章主要介绍了python+gdal+遥感图像拼接(mosaic)的实例,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 作为摄影测量与遥感的从业者,笔者最近开始深入研究gdal, ...

  4. Python遥感图像处理应用篇(二十二):Python+GDAL 批量等距离裁剪影像-续

    之前写过一篇按照指定行列号数量来进行影像等距离裁剪的博客,链接如下: Python遥感图像处理应用篇(二十二):Python+GDAL 批量等距离裁剪影像_空中旋转篮球的博客-CSDN博客_pytho ...

  5. 基于Python+GDAL实现nc格式转geotiff格式

    基于Python+GDAL实现nc格式转geotiff格式 1. 目的 2. 版本 3. 基础知识  3.1 什么是nc文件?  3.2 基于Python处理nc文件需要用到的库 4. 程序示例 5. ...

  6. 素数python函数怎么写_python如何判断一个数是否是素数

    先来看下什么是质数: 质数(Prime number),又称素数,指在大于1的自然数中,除了1和该数自身外,无法被其他自然数整除的数(也可定义为只有1与该数本身两个因数的数). 简单来说就是,只能除以 ...

  7. python机器学习手写算法系列——线性回归

    本系列另一篇文章<决策树> https://blog.csdn.net/juwikuang/article/details/89333344 本文源代码: https://github.c ...

  8. Python 可迭代的对象、迭代器和生成器

    Python中可迭代对象和迭代器对象的理解 我们在用for ... in ...语句循环时,in后面跟随的对象要求是可迭代对象,即可以直接作用于for循环的对象统称为可迭代对象(Iterable),如 ...

  9. python实现迭代的快速排序(Iterative Quick Sort)

    python实现迭代的快速排序(Iterative Quick Sort) 快速排序(Quicksort)是对冒泡排序算法的一种改进. 快速排序由C. A. R. Hoare在1960年提出.它的基本 ...

  10. html文件怎么用Python做后端,利用python实现后端写网页(flask框架).pdf

    利利用用python实实现现后后端端写写网网页页 ((flask框框架架)) 如何用python做后端写网页-flask框架 什么是Flask安装flask模块Hello World更深一步:数据绑 ...

最新文章

  1. java自增运算符与自减运算符
  2. 核试验计算机模拟,随着信息技术的发展,包括核试验在内的许多科学研究都可以用计算机模拟...
  3. 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程(CSS字体,文本)
  4. Executor家族的辨析
  5. 理解:复杂度是O(log^n) 就是二分法
  6. 个人总结1[检查复选框选择个数:]
  7. LeetCode--49. 字母异位词分组(哈希表)
  8. C# 关闭当前窗口打开另一窗口
  9. svn update中文报错_svn不能更新也不能提交!为什么?
  10. FabFilter Total Bundle 2021 for Mac(经典音频效果器合集)
  11. GC.Collect
  12. 个人博客系统开发记录
  13. 荣耀智慧屏和荣耀智慧屏PRO的配置
  14. w ndows10QQ远程,win10系统QQ远程协助无法操作对方电脑的解决办法
  15. 52单片机led灯闪烁c语言程序,单片机LED灯闪烁程序
  16. 计算机硬件系统-CPU中的寄存器
  17. ie兼容模式下跨域访问问题的解决
  18. 机器学习--银行营销方案
  19. python3学习笔记-元祖tupe
  20. 【方案分享】茶叶品牌小罐茶2020品牌营销推广方案.pdf(附下载链接)

热门文章

  1. Python实现英文词频统计:以hamlet为例
  2. Unity优化百科(UWA 博客目录)
  3. 无法听到计算机发出的声音怎么办,为什么视频对方听不到我说话_电脑视频对方听不到声音的解决方法...
  4. js 单击、双击、连续多次点击
  5. 抖音用什么编程语言_抖音app软件开发流程是什么,主要运用的开发工具以及语言是什么?...
  6. 方志仅占古籍数量十分之一,在家谱编修中却举足轻重,方志凭什么
  7. 【2013年总结】思维跌宕起伏,生命颠簸曲折的一年
  8. Windows驱动开发(三)一个WDF入门实例
  9. wdf中的两个宏WDF_DECLARE_CONTEXT_TYPE WDF_DECLARE_CONTEXT_TYPE_WITH_NAME
  10. (转)宅男程序员福利:来自纽约的28位智慧与美貌并存的IT女神