vs2013+NetCDF4.4.2一维数据读取

一、环境

环境:win7+vs2013+NetCDF4.4.2

二、测试数据样例

测试的是读取一维经度是的数据,该数据个数总共有241个。

这里写图片描述

数据图:

这里写图片描述

三、测试效果

仔细观察的数据对吗,数据貌似和表格中的有点出入,但出入不大,这是因为表格中存储的都是小数点后保留一位,而我们读取的是保留小数点后两位,仔细看数据图表格头上的数据。仔细看!红圈圈住的部分!(数据中显示的小数点后几位是可以调节的,和你打开使用的工具有关系)

这里写图片描述

四、核心代码

1、主要函数接口

// 函数说明:获得一维数据
int  ReadNCFile::getVarDataArray1D(const char *varName, float *dataArray)
{
	int ret = 0;
	int varid = 0;
	if ((ret = nc_inq_varid(m_ncid, varName, &varid)))
		ERR(ret);

	if ((ret = nc_get_var_float(m_ncid, varid, dataArray)))
		ERR(ret);
}

2、测试代码:

	float latitude[241];
	pTempFile->getVarDataArray1D("latitude", latitude);
	for (size_t i = 0; i < 30; i++)
	{
		cout << "latI==" << i << endl;
		cout << "latitude:" << latitude[i] << endl;
	}

说明:由于自己目前正在学习NC文件的读取与写入并不是擅长难免有错,这里只是自己的一点思路,希望能帮助刚开始学习的人。后续自己会把自己的一些心得分享出来。

  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值