Skip to content

Query hgt files (typically SRTM elevation data) with performance

License

Notifications You must be signed in to change notification settings

hemamaps/node-hgt

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-hgt

Greenkeeper badge

npm version Build status

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:

    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, by default.

    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:

    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);
            }
        });
    });

About

Query hgt files (typically SRTM elevation data) with performance

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%