文章目录

目录

文章目录

前言

一、netCDF格式文件主要内容

二、准备工作

1.所需要的库

netCDF4库

2.GDAL库的安装

3.thinker库

三、nc格式文件主要内容的存储

四、总结


前言

前段时间一直在找nc转tiff格式的程序,中间遇到了很多问题,csdn上其它大神的程序有些虽然完整,但缺少实例,因为不同文件内容不同,转换方式也不同。以下是我遇到的一些问题以及解决方法。


提示:以下是本篇文章正文内容,下面案例可供参考

一、netCDF格式文件主要内容

​ NetCDF数据集(文件名后缀为.nc) 的格式不是固定的,它是使用者根据需求 自己定义的。一个NetCDF数据集包含维(dimensions)、变量(variables)和属性(attributes)三种描述类型,每种类型都会被分配一个名字和一个ID,这些类型共同描述了一个数据集,NetCDF库可以同时访问多个数据集,用ID来识别不同数据集。变量存储实际数据,维给出了变量维度信息,属性则给出了变量或数据集本身的辅助信息属性,又可以分为适用于整个文件的全局属性和适用于特定变量的局部属性,全局属性则描述了数据集的基本属性以及数据集的来源。一个NetCDF文件的结构包括以下对象:

NetCDF name{
Dimensions:… //定义维数
Variables:… //定义变量
Attributes:… //属性
Data:…//数据
}

二、准备工作

1.所需要的库

import numpy
import os
import shutil
from netCDF4 import Dataset
from osgeo import gdal, osr
import tkinter
from tkinter import filedialog
  1. netCDF4库

下载netCDF4的安装包,网址https://www.lfd.uci.edu/~gohlke/pythonlibs/
找到n开头的netCDF4,点击合适的安装包即开始下载:

注意:最好选择与自己python版本匹配的库,例如我的版本是3.8.*,那么就下载cp38---

下载完成之后,找到文件所在文件夹,在文件目录框输入cmd,然后回车便可以进入该目录下,随后输入pip install 下载的库全名。最后便是安装完成了。

2.GDAL库的安装

程序中,有from osgeo import gdal, osr。本来以为是osgeo库,折腾了很久结果发现是安装GDAL库,用pip安装一直报错,最终决定还是从网站下载安装方便网址https://www.lfd.uci.edu/~gohlke/pythonlibs/,主要过程与netCDF4相同,注意python的版本问题就行了。

3.thinker库

该库的主要目的是实现要转换文件所在路径的选取,这样nc路径就可以随意设置,同时转换完成的tiff文件也会保存在该目录下。

# 路径处理和变量定义,选择文件夹
'''打开选择文件夹对话框'''
print("第一次选择文件所在的文件夹,第二次选中该文件")
root = tkinter.Tk()
root.withdraw()
Folderpath = filedialog.askdirectory()  # 获得选择好的文件夹
Filepath = filedialog.askopenfilename()  # 获得选择好的文件,结果为文件的绝对路径RootDir = Folderpath
SPEI_NC = Filepath  # 输入文件的绝对路径# 转换文件的输出路径-OutPath
OutPath = RootDir + '\\tiff'
# print(OutPath)
if os.path.exists(OutPath):shutil.rmtree(OutPath)os.mkdir(OutPath)
else:os.mkdir(OutPath)
OutTif = OutPath + '\\Global_SPEI_Test.tif'   # 将数据写出到该路径下的.tif文件中

三、nc格式文件主要内容的存储

将nc文件里面相关的参数信息读取出来,并存放进入txt文档中

# 将读取文件的信息写入到txt文档中
file_path = open(RootDir + '\\detail.txt', mode='w')
file_path.write(f"转换成的tiff文件输出的路径:{OutPath}\n"f"NC_DS的数据类型: {NC_DS, type(NC_DS)}\n"f"变量的基本信息:{NC_DS.variables}\n"f"了解SPEI的基本信息: {NC_DS.variables['spei']}\n"f"SPEI的数据类型,和维数:{type(SPEI), SPEI.shape}\n"f"地理坐标系统信息: {type(srs)}\n{srs}"

四、总结

源代码以及示例程序:netCDF转tiff源代码以及示例程序-小程序文档类资源-CSDN下载

主要参考的文章:基于Python+GDAL实现nc格式转geotiff格式_EWBA_GIS_RS_ER的博客-CSDN博客_gdal nc 转tif

基于Python的netCDF格式文件转换为GeoTiff格式相关推荐

  1. 如何用python将nc格式文件转换为tif格式

    可以使用gdal库来将nc格式文件转换为tif格式,具体步骤如下: 安装gdal库:pip install gdal 使用gdal库中的gdal_translate函数:gdal_translate ...

  2. 如何将csv格式文件转换为Json格式文件?

    如何使用python将csv格式文件转换为Json格式文件? 文章目录 如何使用python将csv格式文件转换为Json格式文件? 前言 一.使用execl方式打开csv文档 二.python转换代 ...

  3. ncm格式文件转换为mp3格式文件

    我们经常会遇到ncm格式的文件,然而,有了一款小工具,我们可以轻松将ncm格式转换为常见的mp3格式,以便更方便地播放和共享音乐.本文将介绍这个小工具的实现方式,让我们一起来看看吧! 首先,让我们来看 ...

  4. ogg格式文件转换为MP3格式

    目录 下载编译libmp3lame 配置编译ffmpeg 验证libmp3lame 下载编译libmp3lame 在ubuntu下使用ffmpeg时出现了如下Unknown encoder 'libm ...

  5. 如何快速无损地把flv格式文件转换为mp4格式(可在iPhone上播放)

    众所周知,mp4格式文件是现在非常主流且高质的视频格式.flv格式相对于mp4格式的视频来说,适用范围比较窄,现在很多播放器也都不支持播放flv格式的视频.解决办法也简单,用MP4/RM转换专家把fl ...

  6. linux ubuntu下怎样将pdf格式文件转换为doc格式文件,如何在Ubuntu命令行上将文档转换为PDF格式...

    在打印,共享和通过电子邮件发送文档(尤其是较大的文档)时,PDF或可移植文档格式通常是首选.对于Windows和macOS,您可能非常熟悉,也依赖于广泛使用的Acrobat产品进行pdf创建,查看和编 ...

  7. 如何将CAJ格式文件转换为PDF格式

    目录 1.打开CAJViewer 2.打印机名称选择如下图所示 3.选择位置保存转换后的PDF文件 4.正在转换--- 5.转换成功 众所众知,知网很多论文下载下来都是caj格式,想要打开就要专门使用 ...

  8. 在线免费把Markdown格式文件转换为PDF格式

    用CSDN的MarkDown编辑器在线转换 CSDN的MarkDown编辑器说实话还是挺好用的. 导出PDF操作步骤,图文配合看: 在MD编辑模式下写好MarkDown文章或者直接把要转换的MarkD ...

  9. 如何使用视频转换器将flv格式文件转换为MP4格式

    哪一款软件可以实现视频文件格式的快速.完美转换呢?下面吧一款软件分享给大家~它支持转换市面主流视频文件格式.音频文件格式,基础参数可以结合实际情况进行自定义设置,操作简单,直接上手,最适合新手不过~浏 ...

最新文章

  1. 你应该知道的7个写出更好的 Java 代码的技巧
  2. 小米用户画像_腾讯企鹅智库发布手机品牌用户画像:华为一二线城市用户少于小米...
  3. AMD因虚假宣传遭集体诉讼 向消费者赔偿1210万美元
  4. Atitit db access req数据库访问规范jdo jdbc jpa pdo sql 目录 1. 常见特性 1 1.1. 元数据 API 1 1.2. 分布式事务 vs事务中使用 Sav
  5. julia 使用修改后的pkg
  6. 卡巴斯基蓝屏问题处理
  7. 计算机九九乘法口诀表,九九乘法口诀表
  8. weblogic 启动很慢_【转】解决weblogic启动慢和创建域慢的方法
  9. VM 中设置 Mac 虚拟机 系统联网与时间
  10. STK10与MATLAB互联
  11. 计算机及应用课程实验,计算机网络及应用课程实验指导书
  12. 【Java】奇偶数判断
  13. Apache ShenYu源码阅读系列-基于ZooKeeper的数据同步
  14. Open3D 渐进式形态学滤波
  15. Python数据处理035:结构化数据分析工具Pandas之Pandas概览
  16. 2022浙江省计算机三级网络及安全技术考试自学资料(3)(更新于3.9)
  17. linux下使用代理连接外网
  18. 华为机试真题 Python 实现【无向图染色】【2022.11 Q4新题】
  19. 文件操作——批量修改文件名
  20. Netkiller FreeBSD 手札之前言

热门文章

  1. PostgreSQL(Pgsql)快速开始/ ubuntu、centos下PostgreSQL数据库安装配置/查看已经编译的pg 编译选项
  2. 超详细JavaScript入门基础+练手小案例
  3. 【随笔】Windows 查看端口占用并关闭
  4. 全球及中国喷雾式鼻腔清洗剂行业消费现状与运营商业模式咨询报告2022版
  5. C++习题--筛法求素数
  6. 投资十几万可以做点什么生意?
  7. 黑客专业术语——入门详细介绍
  8. 什么是GB、BIG5、GBK、GB18030字集?
  9. cvs added independently by second party Error, CVS operation failed
  10. VMware Workstation 不可恢复错误 (vcpu-0)