Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/perliedman/node-hgt
Query hgt files (typically SRTM elevation data) with performance
https://github.com/perliedman/node-hgt
Last synced: 4 months ago
JSON representation
Query hgt files (typically SRTM elevation data) with performance
- Host: GitHub
- URL: https://github.com/perliedman/node-hgt
- Owner: perliedman
- License: isc
- Created: 2015-04-03T11:51:08.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2020-05-25T04:08:52.000Z (over 4 years ago)
- Last Synced: 2024-09-17T05:10:03.983Z (5 months ago)
- Language: JavaScript
- Size: 966 KB
- Stars: 45
- Watchers: 6
- Forks: 20
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
node-hgt
========[](https://greenkeeper.io/)
[](https://www.npmjs.com/package/node-hgt) [](https://travis-ci.org/perliedman/node-hgt)
Read and query HGT files, for example from SRTM, for elevation data with high performance.
Optionally, this module can also use cached and automatically download HGT files as required.node-hgt tries to be reasonably performant. A rough benchmark shows it can do 1.8M elevation calculations
per second on my years old laptop.## Install
```
npm install --save node-hgt
```## Usage
Load and query a HGT file:
```js
var hgt = new Hgt(__dirname + '/data/N57E011.hgt', [57, 11]);
// Return elevation in meters above sea level.
// By default, elevation is interpolated bilinearly.
hgt.getElevation([57, 11])
```Use a cache directory of HGT files for querying. Missing data will be downloaded
using the elevation data index from [imagico.de](http://www.imagico.de/map/demsearch.php),
by default.```js
var tileset = new TileSet('./data/');
tileset.getElevation([57.7, 11.9], function(err, elevation) {
if (err) {
console.log('getElevation failed: ' + err.message);
} else {
console.log(elevation);
}
});
```There's also a synchronous tile set, if you know before hand which area you will query:
```js
var tileset = new SyncTileSet('./data/', [57, 11], [58, 12], function(err) {
if (err) {
console.log(err);
return;
}// All tiles are loaded (or downloaded, if they were not already on disk)
// and queries can be made synchronous.var elevation = tileset.getElevation([57.7, 11.9]);
console.log(elevation);
});
```