【GDAL基础教程】多张二维tif数据转三维tif数据

今天分享一下多张二维单波段tif数据合并为一张三维多波段tif数据的脚本,话不多说,详见代码。

原数据

# -*- encoding: utf-8 -*-
'''
@File    :   tif_3d.py
@Time    :   2022/04/26 21:10:58
@Author  :   HMX
@Version :   1.0
@Contact :   kzdhb8023@163.com
'''# here put the import lib
from osgeo import gdal
import os
import glob
import numpy as np
import timet1 = time.time()
tiflist = []
filepath = r'E:\Project\XINAN\WWLLN_NEW\CG\YEAR'
for file in glob.glob(os.path.join(filepath,'*.tif')):print(file)tiflist.append(file)
inds = gdal.Open(tiflist[0])
inband = inds.GetRasterBand(1)
indriver = gdal.GetDriverByName('GTiff')
outds = indriver.Create(r'D:\公众号\NO.10\out.tif',inband.XSize,inband.YSize,len(tiflist),inband.DataType)
outds.SetProjection(inds.GetProjection())
outds.SetGeoTransform(inds.GetGeoTransform())
ds = inds.ReadAsArray()
m,n = ds.shape[0],ds.shape[1]
ds_new = np.zeros((len(tiflist),m,n))
for r in range(len(tiflist)):rds = gdal.Open(tiflist[r]).ReadAsArray()nodatavalue = rds[0,0]rds[rds==nodatavalue] = np.nands_new[r,:,:] = rds[:,:]outband = outds.GetRasterBand(r+1)outband.WriteArray(ds_new[r,:,:])outband.SetDescription(os.path.basename(tiflist[r]))
inds = None
rds = None
t2 = time.time()
print('共计用时:{:.2f}s'.format(t2-t1))

结果

利用gis打开可以发现已经成功合并。

如果对你有帮助的话,请‘点赞’、‘收藏’,‘关注’,你们的支持是我更新的动力。欢迎关注【森气笔记】。

【GDAL基础教程】多张二维tif数据转三维tif数据相关推荐

  1. 如何使用12tool二维码合成器将多张二维码图片生成一张动态GIF图?

    我们会有以下二维码合成单张GIF图的场景需求: 1.怎样把几张支付宝付款码合成一张动态的二维码图轮流切换然后扫描识别: 2.如何将几张微信名片二维码或者微信付款码.商家码合成一张动态的二维码图片: 3 ...

  2. 用JAVA自己画一张二维码

    我们都知道,最近2年移动支付在中国堪称新四大发明之一. 二维码无处不在,特别是最近的支付宝扫码领红包,微信,qq,到处在发,阿里有点攻占腾讯移动支付市场的势头啊~博主忽然就对二维码是怎么画的有了点好奇 ...

  3. Matlab多张二维图堆叠成一张三维图

    我想让500张1024*500的二维图堆叠成一张1024*500*500的三维图. 在网上找了好几天,不是运行不了,就是跟我想要的结果不一样. 所以我就自己编写了一个matlab代码 %% 二维图堆叠 ...

  4. 两张二维人物图像互相换脸代码

    之前看了一篇介绍两张二维人物图像互相换脸代码:http://www.cnblogs.com/wm123/p/5370064.html,但是配置环境挺麻烦文章没讲清楚,而且代码有问题,特此重新写个清楚的 ...

  5. 让一句话生成一张二维码图片

    让一句话生成一张二维码图片 使用了core.3.3.0.jar包,推荐maven 一共三步就可以完成 第一步:创建一个 输出流 第二步:画一个虚拟对象 第三步:二维码对象的信息写入文件 注释很清楚 p ...

  6. ICLR 2021|基于GAN的二维图像无监督三维形状重建

    2D GAN知道3D形状吗?基于GAN的二维图像无监督三维形状重建 论文.代码地址:在公众号「计算机视觉工坊」,后台回复「二维图像GAN」,即可直接下载. 摘要: 自然图像是三维物体在二维图像平面上的 ...

  7. numpy使用[]语法索引二维numpy数组中指定范围数据行的数值内容(accessing rows in numpy array with specific range)

    numpy使用[]语法索引二维numpy数组中指定范围数据行的数值内容(accessing rows in numpy array with specific range) 目录

  8. 基于二维切片图序列的三维立体建模MATLAB仿真

    目录 1.算法概述 2.仿真效果预览 3.核心MATLAB程序 4.完整MATLAB程序 1.算法概述 isosurface 等值面函数 调用格式: fv = isosurface(X,Y,Z,V,i ...

  9. MATLAB编程(4)——MATLAB绘制二维高斯函数的三维图

    本篇博文记录使用MATLAB绘制二维高斯函数的三维图. 用到的MATLAB函数--mesh()(绘制三维线框图)和surf()(绘制三维表面图). MATLAB命令窗口输入>> doc 函 ...

最新文章

  1. Python包管理工具pip安装
  2. java 一次性输入与输出_Java入门——(7)IO(输入与输出)
  3. JS 导出Excel,Word
  4. Springboot整合缓存
  5. [2010-8-24]
  6. Aqua - Mac OS X平台的用户界面(user interface)
  7. Oracle表空间设计理念
  8. unity创建一个简单对象的开销_SpringBoot第一篇:创建一个简单的SpringBoot
  9. 博客园 添加 Live 2D 模型
  10. 计算机网研究课题,中学生计算机类课题研究范例
  11. K650D安装黑苹果
  12. java程序的组织结构
  13. PhotoSweeper X for Mac(重复照片清理工具)
  14. python之if语句not in与in
  15. JAVA将日期类型(xx年xx月xx日)转化 成字符串变量
  16. C语言课设分享:图片加载
  17. win10-2016企业版长期服务版激活
  18. 浅谈linux - 内核时间的处理
  19. 创业实践案例课程随堂检测答案
  20. PHP实现24节气的计算方法

热门文章

  1. Python3教程@hikali
  2. 初识CornerNet
  3. vs-cad二次开发-C#-拖动类-右键选项卡
  4. Linux系统鲁大师查看CPU、内存、显卡信息
  5. dos命令之 assoc 用法详解
  6. 苹果最新消息_最新消息称苹果延期举行发布会:iPhone 12或将于10月推出
  7. 关于matplotlib的绘图风格
  8. 《三国演义》之人物出场统计
  9. 成功=正确的方法+艰苦的努力+少说空话——《学习之道》+《刻意练习》+《练习的心态》
  10. jq获取span标签的赋值和取值