当前位置:  开发笔记 > 编程语言 > 正文

C#NetCDF库

如何解决《C#NetCDF库》经验,为你挑选了2个好方法。

我目前正致力于(或至少计划)一些处理大量重复数据的项目.这种数据在电子表格或数据库中运行良好,但在XML中却很讨厌.:)

NetCDF似乎是文件格式的绝佳选择.但是,我的工作是在C#中,并且没有"官方"NetCDF实现可用.我可以在IronPython中使用"官方"Python版本.另一种选择是CodePlex上的".Net的NetCDF库",但看起来很安静(http://www.codeplex.com/netcdf).

有没有人与这些图书馆合作过?你能提供任何建议吗?



1> dylanT..:

我现在正在添加这个,因为当我用Google搜索这个主题时,这是最佳答案.


ETA根据下面的回复,现在有另一个Microsoft NetCDF库:

https://www.nuget.org/packages/SDSLite

Scientific DataSet Lite 1.4.0

这是一个用于操作netCDF,CSV和TSV文件的跨平台库.


由于最初询问和回答了这个问题,微软发布了一个支持NetCDF的Scientific DataSet库

http://research.microsoft.com/en-us/downloads/ccf905f6-34c6-4845-892e-a5715a508fa3/

项目描述

SDS库使.Net开发人员可以轻松读取,编写和共享在科学建模中非常常见的标量,向量,矩阵和多维网格.它支持CSV,NetCDF和其他文件格式

使用该库的程序在紧凑的自描述包中存储相关数据和相关元数据.库带有一组实用程序和包:sds命令行实用程序,DataSet Viewer应用程序和Microsoft Excel 2007(及更高版本)的加载项.有关详情,请参阅发布页面



2> dmazzoni..:

首先,你确定NetCDF是正确的选择吗?如果你想与需要读取大量数据并且已经支持NetCDF的其他程序进行交互,那么它可能是一个很好的选择.没有那么多支持大型多维数组的标准和良好支持的文件格式.但如果您只是从C#读取和编写文件,它可能不是一个好的选择.

我是"经典"NetCDF文件格式的忠实粉丝.它结构紧凑,非常简单,但足够灵活,可以支持许多常见的多维结构良好的数据.我花了一天的时间为经典的NetCDF编写一个完整的解析器,编写一个程序只需要一个小时就可以输出格式化的经典NetCDF文件.您可以自己实现一个纯C#NetCDF库,这不会太麻烦.您只需实现所需的功能即可轻松开始. 这是规范.

不幸的是,NetCDF-4选择使用HDF-5作为其数据格式.它增加了很多复杂性,并且使用另一种语言编写完整的NetCDF解析器变得更加困难.HDF-5是非常通用的,在我看来,它是过度设计的 - 它试图为太多人提供太多东西.除非你打算花一个月的时间编写单元测试,否则我不建议尝试直接使用它.如果必须使用C#中的netCDF-4/HDF-5,那么唯一可行的选择就是使用SWIG或类似的东西来封装C库.

请注意,NetCDF for Python只是C代码的包装器,所以它并没有那么有用; 如果你打算使用一个包装的C库,你也可以编写一个C#包装器,而不是使用Python作为中间层.


+1 SWIG之外的另一个选择是使用PInvoke互操作助手.它是由.NET框架团队编写的.http://clrinterop.codeplex.com/releases/view/14120
推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有