我的github

NetCDF(network Common Data Form)网络通用数据格式是由美国大学大气研究协会(University Corporation for Atmospheric Research,UCAR)的Unidata项目科学家针对科学数据的特点开发的,是一种面向数组型并适于网络共享的数据的描述和编码标准。

特点:NetCDF文件是自描述的二进制数据格式,即自带描述属性信息。通常包含了变量、维度和属性,变量包含了维度、属性(如数据单位)信息及变量的值。维度部分记录的是每个变量的维度名及长度。属性部分包含了一些额外信息,比如文件创建者等。

很多工具都可以处理NetCDF文件,比如MATLAB,Python,Java,NCL,GrADS,CDO,NCO,Panoply,ArcMap等等。NetCDF文件数据下载​ ​地址​

这里主要讲一下如何利用D3在前端处理NetCDF文件进行可视化分析。
核心代码如下:

//读取netCDF文件数据
var oReq = new XMLHttpRequest();
oReq.open("GET",urlpath, true);
oReq. responseType = "blob";
oReq.onload = function(oEvent) {
var blob = oReq. response;
reader_ url = new FileReader();
reader_ url.onload = function(e) {
//====================================================================================
reader = new netcdfjs(this.result);//netcdfjs是一个开源库
isize = reader.dimensions[0].size;
jsize = reader.dimensions[1].size;
var dimoName = reader.dimensions[0].name;//获取第0维数组的名称
var dim1Name = reader.dimensions[1].name;//获取第1维数组的名称
axiso = reader.getDataVariable(dimoName);//根据第0维的名称获取该维度的数组?
axis1 = reader.getDataVariable(dim1Name);//根据第1维的名称获取该维度的数组?
var valuesVar1 = reader.getDataVariable('UWND');//获取第UWND的数值
valuesVar1 = reverseVar(valuesVar1); //反转?
var valuesVar2 = reader.getDataVariable('VWND');//获取第VWND的数值
valuesVar2 = reverseVar(valuesVar2); //反转?

参考:https://blog.51cto.com/u_15127559/4745398

posted on 2023-04-18 16:13  XiaoNiuFeiTian  阅读(129)  评论(0编辑  收藏  举报