c#读取netcdf文件小结

因为项目需求,需要使用C#读取nc文件,故各种搜索。其中方法比较多,我没有一一尝试。现列如下:

1 使用netcdf library for .net

作者有两种版本,一种是用J#写的,一种是将C的DLL引用在C#中使用。

前者需要注意的是需要有vjslib.dll文件,.net framework 2.0经实际测试可用,更高版本因为我无条件测试故需大家自己测试了。不过我vs2010默认安装中并没有J#这个选项,更没有vjslib.dll文件了。具体查询http://netcdf.codeplex.com/的讨论区。

后者是C语言的netcdf.dll的C#引用。需要注意的点可以去MSDN上查DLLimport的具体使用。可耻的说,尝试此方法失败,因为我不知道如何将C中的指针在C#中表示出来。如果有谁能写出一个C# wrapper最好。另外,如何想自己做个中间件,可以去http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-c/

查看C语言版的API。附上该作者的项目:http://netcdf.codeplex.com/releases/view/18852

 

2 使用预先编译好的DLL

该方法我没有尝试,但是官网的建议可以考虑此方法一试,故在此附上:http://www.unidata.ucar.edu/software/netcdf/docs/faq.html#windows_netcdf4

 

3 使用JAVA到C#的转换器转netcdf java成为C#的类库

比较好的是两个,sharpen和JLCA。具体可以GOOGLE

JLCA 3.0(MSDN) http://msdn.microsoft.com/zh-tw/library/dd229213.aspx

Sharpen  http://developer.db4o.com/Blogs/Product/tabid/167/entryid/95/Default.aspx

 

4 参照其他程序版本或者自己做轻量级简化/完全功能开发

以下是一个vb.net版本的库参考:

ftp://ftp.unidata.ucar.edu/pub/netcdf/contrib/win32/netcdf_vb_net_wrapper.zip
或者自行参考netcdf数据结构进行开发,(对选择此项的程序员表示敬意)

------------------------------------------------------------------------------------------------------------------------------------
最后附上两个官网关于C#库的提问,恐怕结果令广大C#程序员失望了。
http://www.unidata.ucar.edu/support/help/MailArchives/netcdf/msg03975.html
http://www.unidata.ucar.edu/support/help/MailArchives/netcdf/msg05764.html
最后的最后,希望大家集思广益,各种尝试,总结出一些实用的方法吧,当然也也期待高手写个C#库以给我等不专业人士使用。

版权所有,转载请注明出处和链接,并发邮件通知本人:qwop369258@gmail.com
posted @ 2010-10-29 03:31  repay  阅读(4688)  评论(4编辑  收藏  举报