Backup mirror of the terrain50-cli on npm
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Starbeamrainbowlabs 548afee7d6
4 months ago
src json: Fix crash when --output is specified 4 months ago
.gitignore .gitignore: ignore all .asc files 4 months ago tweak changelog 4 months ago
LICENSE Initial commit - create skeleton repo to migrate code into 3 years ago README: add todo 4 months ago
package-lock.json 1.10.1 4 months ago
package.json 1.10.1 4 months ago


CLI for parsing Ordnance Survey Digital Elevation Model files

This is the CLI for the sister terrain50 library on npm for parsing Ordnance Survey DEM files in the ASCII Esri Grid format I also implemented.


Install via npm:

npm install terrain50-cli --global


The command-line interface works on a subcommand-based system using applause-cli (another package of mine).

Display the usage information like this:

terrain50 --help

If you installed it locally, you'll need to do this:

path/to/node_modules/.bin/terrain50 --help

Environment Variables

Additionally, a number of environment variables are supported.

Variable Purpose
NO_COLOR Disables ANSI escape codes in output (i.e. coloured output). Not recommended unless you have a reason.
QUIET Suppress all output except for warnings and errors (not fully supported everywhere yet)


image subcommand: --boundaries argument

This argument's purpose is the divide the incoming data into categories so that an AI can be potentially trained on the data (e.g. water depth data, as I'm using). It takes a comma separated list of values like this:


...and turns it into a number of bins like so:

  • -Infinity ≤ value < 0.1
  • 0.1 ≤ value < 0.5
  • 0.5 ≤ value < 1
  • 1 ≤ value < 5
  • 5 ≤ value < Infinity

Each bin is assigned a colour. Then, for each value in the input, it draws the colour that's assigned to the bin that the value fits into.

Read-world use

  • I'm using it for for my PhD in Computer Science!
  • (Are you using this project? Get in touch by opening an issue)


Contributions are welcome as PRs! Don't forget to say that you donate your contribution under the Mozilla Public License 2.0 in your PR comment.

TODO: Use gunzip-maybe to transparently support reading from gzipped .gz input files


This project is licensed under the Mozilla Public License 2.0. See the LICENSE file in this repository for the full text.