jsdap

8.1.0 • Public • Published

jsdap

A JavaScript OPeNDAP client.

Installation

For use with Node.js, simply install using npm:

:::bash
$ npm install jsdap

For use with a browser, the source must be checked out from the git repository. After checking out the source code, install the dev dependencies and use npm to compile the source:

:::bash
$ npm install
$ npm run build

This should generate jsdap.js and the minified jsdap.min.js in the project root. These files can used directly by the browser.

Use

The API is as simple as it gets:

:::js
jsdap.loadDataset(url, callback [, proxy]);

This will load the metadata from an OPeNDAP url, and return it to your callback function as a JavaScript object identical to pydap's JSON response (http://pydap.org/2.x/responses/json.html).

Note that if the server is on a different domain you need to specify a proxy to handle the requests. There's a simple proxy written in Python contained in examples/ajaxproxy.py.

To load dods data:

:::js
jsdap.loadData(url, callback [, proxy]);

This reads the data from a .dods URL (http://example.com/dataset.dods?var1,var2&var3>0), returning it as a nested list. This is the data for the whole dataset, so the outer list corresponds to the dataset objects, and each contained list is the data of a given variable, an so on recursively.

:::js
jsdap.loadDataAndDDS(url, callback [, proxy]);

This reads the data from a .dods URL (http://example.com/dataset.dods?var2,var1&var3>0), returning an object with a dds property containing a JavaScript object equivalent to the DDS for the given query, and a data property containing the requested data as a nested list. This can be useful when a projection changes the order of the returned data.

Examples

More detailed examples can be found in the examples folder, examples/README.md covers how to run them.

Limitations

Due to the XHR policy on not allowing cross-domain requests, you need a proxy to handle external datasets.

Dods data is parsed using an ArrayBuffer, so IE 9 and below are not supported.

Development

Jsdap is composed of 3 separate files: parser.js, xdr.js, and api.js. They are located within the src directory.

It is recommended to develop in a virtualenv with nodeenv installed:

:::bash
$ virtualenv jsdap
$ cd jsdap
$ source bin/activate
$ pip install nodeenv

Install the latest node and set nodeenv to activate with the parent virtualenv:

:::bash
$ nodeenv -p

Checkout the source and install the requirements in the nodeenv:

:::bash
$ git clone git@bitbucket.org:jetfuse/jsdap.git
$ cd jsdap
$ npm install

To get started with development install the dev dependencies:

You may wish to link eslint into your path for JavaScript linting, assuming development inside a nodeenv:

:::bash
$ ln -s --relative node_modules/eslint/bin/eslint.js ../bin/eslint

Unit tests are written with Jasmine and run by the Karma test runner. Tests are run against Firefox, Chrome, and Node.js. They can be run using npm:

:::bash
$ npm run test

License

Jsdap is (c) 2007--2009 Roberto De Almeida, licensed under the MIT license.

References

Readme

Keywords

none

Package Sidebar

Install

npm i jsdap

Weekly Downloads

71

Version

8.1.0

License

MIT

Last publish

Collaborators

  • nielsenb-jetfuse