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); isize = reader . dimensions[0].size; jsize = reader .dimensions[1].size; var dimoName = reader . dimens ions[0]. name; var dim1Name = reader . dimensions[1] .name; axiso = reader. getDataVariable(dimoName); axis1 = reader . getDataVariable(dim1Name); var valuesVar1 = reader . getDataVariable(' UWND'); valuesVar1 = reverseVar(valuesVar1); var valuesVar2 = reader . getDataVariable('VwND'); valuesVar2 = reverseVar(valuesVar2);