文章目录

  • 前言
  • 一、资源下载
    • 1.1 首先下载NetCDF-c与NetCDF-cxx
  • 二、使用步骤
    • 1.下载文件
    • 2.将需要的.h与.cpp拷贝出来
    • 3.找到netcdf
    • 4 找到netcdf.h
  • 二.项目使用
    • 1 .资源放到自己项目下
  • 使用

前言

NetCDF简介
NetCDF (Network Common Data Form)是由美国大学大气研究协会(UCAR)下的Unidata项目科学家针对科学数据的特点,提出的一种面向数组型数据、适于网络共享的数据描述和编码标准。已被国内外许多行业和组织采用,目前广泛应用于大气科学、水文、海洋学、环境模拟、地球物理等诸多领域。NetCDF数据具有自描述性(普通二进制数据需要有相关文档介绍数据格式,否则无法正确读出数据),数据与硬件平台无关(不用考虑数据的端序)。目前采用NetCDF格式的资料主要为再分析资料、卫星资料、数值模式资料等。
每个NetCDF文件具备如下所示的结构,其中包含维数、变量、属性和数据4个子域,属性又分为适用于整个文件的全局属性和适用于特定变量的局部属性。
• dimensions(维):一个维可以用来代表一个真实的物理空间、例如时间、纬度、经 度或者高度。一个NetCDF的维有一个名字和长度,维的长度必须是一个正整数。
• variables(变量):在NetCDF数据集中,变量是用来存放数据块的。NetCDF数据集里的变量一般都是数组变量。一个变量代表着具有相同的数据类型的数组的值。每个变量都有一个名字、一个数据类型和数组形状。
• attributes(属性):NetCDF的属性是用来对数据进行辅助说明,存放关于数据的数据,例如变量的单位。
• data(数据):NetCDF支持的数据类型是char、byte、short、int、float或者real、double。


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

一、资源下载

1.1 首先下载NetCDF-c与NetCDF-cxx

下载地址: https://www.unidata.ucar.edu/downloads/netcdf/index.jsp ,NetCDF-c与NetCDF-cxx的下载地址都在这个网页。

a.NetCDF-c的选择,根据系统自行选择32还是64位的使用HTTP下载

b.NetCDF-cxx的选择

二、使用步骤

1.下载文件

这里我多下载了一个4.7版本,这个版本大家下载最新即可

安装NetCDF-c与解压NetCDF-cxx,我的是安装在D盘如下,不过你们可在自定义安装与解压路径:我安装的是netCDF4.7.4-NC4-64.exe

2.将需要的.h与.cpp拷贝出来

新建一个NC_include 文件夹,将NetCDF-cxx中的cxx文件夹下的*.h与*.cpp文件与NetCDF-c文件夹下的bin,include,lib文件夹都复制到时刚才新建的工程目录下。

注:如果NetCDF-cxx中的cxx文件夹下有test.cpp与test.h带有test前缀的测试文件不要复制。**

3.找到netcdf

打开NetCDF-cxx文件夹中的cxx文件夹,找到该文件夹中的netcdf文件,把这个文件的名称改为netcdfcpp.h,并放入NC_include 文件夹

这个文件里面的代码入下,其实就是为了程序使用时候,只需要引入一个
#include “netcdfcpp.h” 就引入了nc所需要的全部头文件,不需要一个个引入了。

//
// generic include file for the netCDF C++ API
//
extern "C" {#include "netcdf.h"
}
#include "ncAtt.h"
#include "ncByte.h"
#include "ncChar.h"
#include "ncCheck.h"
#include "ncCompoundType.h"
#include "ncDim.h"
#include "ncDouble.h"
#include "ncEnumType.h"
#include "ncException.h"
#include "ncFile.h"
#include "ncFloat.h"
#include "ncGroup.h"
#include "ncGroupAtt.h"
#include "ncInt.h"
#include "ncInt64.h"
#include "ncOpaqueType.h"
#include "ncShort.h"
#include "ncString.h"
#include "ncType.h"
#include "ncUbyte.h"
#include "ncUint.h"
#include "ncUint64.h"
#include "ncUshort.h"
#include "ncVar.h"
#include "ncVarAtt.h"
#include "ncVlenType.h"

4 找到netcdf.h

这个在刚刚安装exe程序的安装目录下找到include

之后找到netcdf.h,放入刚刚新建的NC_include 文件夹

在刚刚的lib目录下找到这个,拷贝到自己项目目录下

最终NC_include包含如下的文件

二.项目使用

1 .资源放到自己项目下

我是把自己需要的文件拷贝到自己项目新建的资源目录下:


之后添加现有文件

将NC_include全部文件导入

接下来导入库

选择外部库

找到项目中lib路径,如下包含,设置如下

最终可以看到如下界面,点击完成即可。


使用

最后在要使用的项目中添加如下头文件即可,之后项目就可以编译成功运行

#include "resource/NC_include/netcdfcpp.h"  //这个是头文件路径,每个人不一样,需要修改using namespace netCDF;
using namespace netCDF::exceptions;

在Windows环境下配置QT Creator 读取NC文件(NetCDP,C++接口)相关推荐

  1. Windows环境下配置环境变量

    安装好MySQL后,在Windows环境下配置环境变量 1)新建MYSQL_HOME系统变量 配置MySQL的安装路径:C:\Program Files\MySQL\MySQL Server 8.0 ...

  2. 如何在 Windows 环境下配置 PHP 开发运行环境

    我们都知道 PHP 运行需要的环境通常被称为 AMP. 其中 A 是 Apache 应用服务器,M 是 Mysql,P 就是 PHP 了. 实际上,很多人可能会使用一个测试 Mysql,但是针对一些小 ...

  3. 在windows环境下配置mongoDB集群

    在windows环境下配置mongoDB集群 mongodb官网 官网分片文档 首先感谢这次参考的文章: mongodb搭建高可用分片集群示例-天才卧龙 MongoDB高可用集群搭建示例-lizh 配 ...

  4. Windows环境下配置Ceres(带suitesparse-metis)

    1 配置环境与源代码包 环境 Windows>=8.1 Visual Studio>=2013 专业版x64 Cmake GUI>=3.13 Ceres-solver 1.14.0 ...

  5. Windows环境下配置php的curl扩展

    在安装wordpress/ zen-cart / magento ,提示需要打开curl扩展,于是打开我的php.ini文件,找到";extension=php_curl.dll" ...

  6. 在windows环境下配置gitlab本地代码库

    题外话:最近在从事一个NLP算法课题.因为我负责的模块偏重弄理论,更倾向于做为团队竞争力的技术储备,故而与其他模块的交流并不多.一个人做久了,发现欠下的技术债越来越多,要是不好好整理代码,之后的窟窿可 ...

  7. Cython——Windows环境下配置faster-rcnn、yolo、ctpn等目标检测框架中Cython文件[cython_nms、bbox、gpu_nms]编译问题解决方案

    问题描述 AttributeError: 'MSVCCompiler' object has no attribute 'compiler_so' ValueError: Buffer dtype m ...

  8. Tomcat之Windows环境下配置多个服务器

    在应对多项目多端口的情况配置一个服务器是远不能满足开发条件的.例如微信公众号回调域名只接受80端口,而其他项目一般为默认的8080或者自定义的其他的端口. 废话多说,直入主题 准备条件:tomcat文 ...

  9. easy php moodle,Windows 环境下配置easyphp+moodle方法及设置外部IP访问方法

    安装有很多方法,最简单的方法就是easyphp+moodle,具体方法如下: 1.准备好安装必须的软件,包括easyphp和moodle.easyphp到http://easyphp.org/下载,m ...

最新文章

  1. 推断给定的IP地址是否是内网IP
  2. 将C1Chart数据导出到Excel
  3. windows的几个原则
  4. python argparse模块详解_python学习之argparse模块
  5. 征战蓝桥 —— 2014年第五届 —— C/C++A组第10题——波动数列
  6. yum因被锁定导致无法执行相关操作的解决方法
  7. 一个关于python装饰器参数的问题
  8. 已知一个掺杂了多个数字字符的中文名拼音,去掉所有数字字符之后,形式为“名”+空格+“姓”;并且名和姓的首字母大写,其他小写,要求输出姓名全拼,且全为小写。(后附详细样例说明)
  9. linux Wi-Fi信号放大,wifi信号增强器
  10. WEB前端开发规范文档
  11. 菜谱系列:蒜香炸鸡翅
  12. 广西高中有没有计算机课程,广西普通高中学业水平考试信息技术学科-广西招生考试院.doc...
  13. iOS App集成Apple Pay 编程指南
  14. IPv6实验5:IPv4到IPv6的过渡
  15. CLIENT_PLUGIN_AUTH is required 解决办法
  16. java面向对象题目_经典面向对象题,用Java做,要详细点的。
  17. 台式电脑经常碰到的一些问题
  18. 电子表格文件读写控件Spreadsheet免费下载购买地址
  19. 数据库学习-三种异常
  20. 输入netsh winsock reset 重启电脑生效

热门文章

  1. PAT甲级1114 Family Property:[C++题解]结构体、并查集、测试点3、4、5有问题的进来!!
  2. android+模拟器皮肤,自定义android模拟器皮肤和键盘映射
  3. 一个小而美的博客——前端——index
  4. 塔菲尔曲线斜率的大小_分段函数函数值(自变量)大小(范围)的六种题型
  5. kettle将多个文件压缩_如何使用WinRAR将一个大文件压缩成多个小的压缩包
  6. 软件商店下载java_Sun升级Java应用商店
  7. MySQL审查工具_MySQL审计工具Audit插件使用
  8. pygame两图层怎么搞_每天解决一个卖酒问题(176):小白怎么开拓市场?
  9. linux/CentOS7安装MySQL(完整版)【笔记自用】
  10. C++模板中的函数式参数