Skip to content

RaveCenter/himawari.js

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Download real-time images of Earth from the Himawari-8 satellite

[![npm][npm-image]][npm-url] [npm-image]: https://img.shields.io/npm/v/himawari.svg?style=flat-square [npm-url]: https://www.npmjs.com/package/himawari

Himawari 8 is a geostationary weather satellite deployed by the Japan Meteorological Agency. It takes photographs of Earth every 10 minutes.

Getting Started

brew install imagemagick
brew install graphicsmagick
npm i himawari

Usage

var himawari = require('himawari');

himawari({

  /**
   * The zoom level of the image. Can be 1-5 (default: 1)
   * Each zoom level requires more images to be downloaded and therefore stitched
   * together. Higher zoom yields a higher resolution image.
   * @type {Number}
   */
  zoom: 1,

  /**
   * The time of the picture desired. If you want to get the latest image, use 'latest'
   * @type {String|Date}
   */
  date: 'latest', // Or new Date() or a date string

  /**
   * Turns on logging
   * @type {Boolean}
   */
  debug: false,

  /**
   * If set to true, an image on the infrared light spectrum will be generated
   * @type {Boolean}
   */
  infrared: false,

  /**
   * The location to save the resulting image
   * @type {String}
   */
  outfile: '/path/to/output/earth.jpg',

  /**
   * Skip empty images from being saved
   * @type {Boolean}
   */
  skipEmpty: true,

  /**
   * A success callback if the image downloads successfully
   * @type {Function}
   */
  success: function () { process.exit(); },

  /**
   * A callback if the image cannot be downloaded or saved
   * @type {Function}
   * @param  {Object} err An error object or information surrounding the issue
   */
  error: function (err) { console.log(err); },

  /**
   * A callback that is fired every time a tile has been downloaded.
   * @param  {Object} info Information about the download such as filepath, part, and total images
   */
  chunk: function (info) {
    console.log(info.outfile + ': ' + info.part + '/' + info.total);
  }
});

Command Line Interface

There is also a command-line interface available if you install it with -g.

npm i -g himawari

This installs a program called himawari that can be used like so:

Usage: himawari [options]
    --zoom, -z            The zoom level of the image. Can be 1-5. (Default: `1`)
    --date, -d            The time of the picture desired. If you want to get the latest image, use 'latest'. (Default: `"latest"`)
    --debug, -l           Turns on logging. (Default: `false`)
    --outfile, -o         The location to save the resulting image. (Default: `"himawari-{date}.jpg"` in current directory)
    --skipempty, -s       Skip saving images that contain no useful information (i.e. "No Image") (Default: `true`)
    --infrared, -i        Capture picture on the infrared spectrum (Default: `false`)
    --help, -h            Show help

Acknowledgement

Michael Pote created a Powershell Script that inspired this library.

Example Images

License

MIT

About

Download real-time images of Earth from the Himawari-8 satellite

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 72.8%
  • HTML 27.2%