我们正在构建用于数据分析的Web服务,并希望从运行浏览器的本地计算机访问netcdf文件。 Javascript提供了一个文件浏览器,但是(出于安全原因,我了解到)它将在选择后自动上传文件,而不是允许(只读)访问它。这是一个show-stopper,因为netcdf文件可以是 HUGE 。请注意,netcdf格式和API明确允许切片和提取单个变量,这是格式如此受欢迎的一个原因。
现在,对此问题的一些研究表明,服务器 - 客户端架构通常不允许访问本地文件结构以防止间谍。另一方面,在HTML5中有一个文件API,它完全支持我们需要的操作类型 - 除了你可以通过指定字节范围来访问文件的一部分,但是没有可用的netcdf API;因此,在能够在服务器上对其进行切片之前,将再次复制整个文件。
当然,另一种选择是Web服务,例如OpenDAP,它们可以完全满足我们的需要,即通过互联网访问netcdf文件的各个部分。但是,这当然要求每个用户必须先安装OpenDAP服务器,然后才能从Web服务中访问其本地文件。 (或者,他们至少必须安装一个Web服务器才能通过http://localhost/...
访问该文件。)
那么:有没有人知道从Web应用程序读取本地netcdf文件的特定部分的解决方案?具体来说,有没有可用的javascript工具?
答案 0 :(得分:3)
目前,您可以使用netcdfjs,它是一个允许读取NetCDF v3文件的JavaScript库。因为它是一个NodeJS软件包,你可以在服务器端运行它,对于常规大小的文件你可以在线阅读,这里你有一个example。
答案 1 :(得分:1)
没有Javascript工具可以读取NetCDF,但有Java库:http://www.unidata.ucar.edu/downloads/netcdf/index.jsp。
您可以部署Java Applet以在本地读取NetCDF文件。从那里你可以让Applet尝试处理文件,或者与后端服务进行通信,甚至尝试从Javascript调用Applet:http://docs.oracle.com/javase/tutorial/deployment/applet/invokingAppletMethodsFromJavaScript.html。
答案 2 :(得分:0)
据我所知,没有用于阅读NetCDF的特定Javascript库。但是让我放下一些想法:
希望我帮助过。