NetCDF格式文件读取(下)


本人在win7系统下使用VS2010进行的编程,所以参考了如下博文: http://blog.sina.com.cn/s/blog_687960370101hiks.html

 

**************************************************************************************

程序中添加的头文件是netcdfcpp.h文件

**************************************************************************************

使用的netcdf的c++接口版本是netcdf-cxx-4.2.tar.gz,下载地址: http://www.unidata.ucar.edu/downloads/netcdf/netcdf-cxx/index.jsp
**************************************************************************************

 
**************************************************************************************
netcdf的C++接口是基于netcdf的C语言接口,所以在使用c++接口之前,我们需要安装netcdf的c语言版本。
使用的netcdf的C语言版本是netCDF4.3.1.1-NC3-64,下载地址: http://www.unidata.ucar.edu/software/netcdf/docs/winbin.html
这个版本是二进制版本,直接点击安装即可,然后会得到include,lib和bin等几个文件。
**************************************************************************************

 
使用方法:

1.首先解压这个压缩文件,得到cxx,example,m4和man4文件,还有一些其他配置文件;
2.将解压后的文件中的config.h.in这个文件名改成config.h;
3.我们需要用的是config.h文件和cxx文件夹中的ncvalues.h,ncvalues.cpp,netcdf.cpp和netcdfcpp.h这五个文件;
4.将这五个文件添加到你的工程目录下即可,分别添加到工程头文件和源文件中,在VS项目属性——VC++目录——包含目录,添加config.h,netcdfcpp.h和ncvalues.h头文件所在的位置即可。
5.将netcdf的c语言的头文件netcdf.h,动态链接库netcdf.dll和库文件netcdf.lib添加到VS2010中。
如何添加动态链接库:
a.将netcdf的c语言版本的include,lib和bin文件添加到工程目录下;
b.VS中项目属性——链接器——常规——附加库目录,这里添加你的bin文件中的netcdf.dll路径;
c.VS中项目属性——链接器——输入——附加依赖项,这里添加netcdf.lib库文件;
d.VS中项目属性——VC++目录——包含目录,添加netcdf.h头文件的位置;
e.VS中项目属性——VC++目录——库目录,添加netcdf.lib库文件的位置。
 
  *************************************************************************************

 注意:按照上述方法会报错误:netcdf.obj的无法解析的标识。推测可能是C语言接口版本与c++不匹配,因此重新找寻NetCDF 4.2的库文件,重新尝试,成功。下载网址如下:

    http://download.csdn.net/detail/meng_ndsc/7030025

 

    根据NETCDF文件的特殊结构,所使用的NcFile类中包含了NcDim, NcVar, NcAtt几个类的对象作为成员,分别对应了上篇介绍里的Dimensions, Variables, Attributes部分。

   首先,定义一个NcFile类的对象,用NcFile类的构造函数直接对其初始化

   NcFile(const char * path, FileMode = ReadOnly , … … );
path为文件的存储路径,FileMode为文件的打开方式,除了ReadOnly还有Write, New, Replace 等方式我们只是读文件可以选择ReadOnly.

  然后,使用NcVar的get_var("")方法获取要读取的变量。代码及数据结果如下(输出结果与上篇数据存储对比,以判定正误):

 




NetCDF(Network Common Data Form)是一种用于存储科学数据的文件格式。它是一种自描述、可扩展、多维数组的数据模型,广泛用于气候、气象、海洋学、地球物理学等领域的科学数据存储和交换。 要入门使用NetCDF格式文件,可以按照以下步骤进行: 1. 安装NetCDF库:首先需要安装NetCDF库,可以根据您使用的编程语言选择合适的库。常见的NetCDF库有:netCDF-C(C语言)、netCDF-Fortran(Fortran语言)、netCDF-Java(Java语言)等。您可以通过各个库的官方网站下载和安装。 2. 创建和打开NetCDF文件:使用所选编程语言的NetCDF库,可以创建一个新的NetCDF文件或打开现有的NetCDF文件。打开现有文件时,可以读取其中的数据或修改其中的变量和属性。 3. 定义变量和维度:在NetCDF文件中,可以定义变量和维度。维度表示数据集的尺寸,变量则存储实际的科学数据。可以为每个维度和变量指定名称、类型和属性等信息。 4. 写入和读取数据:通过NetCDF库提供的函数,可以将数据写入到NetCDF文件中或从文件中读取数据。根据数据的维度,可以使用不同的函数来写入和读取数据。 5. 设置和获取属性:NetCDF文件中的变量和维度可以有相关的属性,用来描述它们的特性。可以通过NetCDF库提供的函数来设置和获取属性。 6. 关闭NetCDF文件:在完成对NetCDF文件的操作后,应该关闭文件,释放资源。 请注意,具体的使用方法和代码示例会根据您选择的编程语言和使用的NetCDF库有所不同。您可以参考所选库的官方文档、示例代码或在线资源进行更详细的学习和实践。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值