Latest Threat Research:SANDWORM_MODE: Shai-Hulud-Style npm Worm Hijacks CI Workflows and Poisons AI Toolchains.Details
Socket
Book a DemoInstallSign in
Socket

latlon-formatter

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

latlon-formatter

A set of functions to format latitude and longitude angles

latest
Source
npmnpm
Version
0.3.0
Version published
Weekly downloads
159
-49.84%
Maintainers
1
Weekly downloads
 
Created
Source

latlon-formatter

NPM Version Build Status Coverage Status Downloads/month Greenkeeper badge License: MIT

A set of functions to format latitude and longitude angles.

Installation

npm install latlon-formatter --save

Usage

  • ES6:

    import { formatLatitude, formatLongitude } from 'latlon-formatter';
    const latitude = formatLatitude(Math.PI / 3); // => 60° 00′ 00″ N 
    const longitude = formatLongitude(-33.4, {
        degrees: true
    });   // => 034° 24′ 00″ W 
    
  • require with Node.js:

    var formatter = require('latlon-formatter');
    var latitude = formatter.latitude(Math.PI / 3); // => 60° 00′ 00″ N 
    var longitude = formatter.longitude(-33.4, {
        degrees: true
    });   // => 034° 24′ 00″ W
    
  • in browser include dist/latlon-formatter.js or dist/latlon-formatter.min.js script:

    var formatter = window.latlonFormatter;
    var latitude = formatter.latitude(Math.PI / 3); // => 60° 00′ 00″ N 
    var longitude = formatter.longitude(-33.4, {
        degrees: true
    });   // => 034° 24′ 00″ W
    

Methods

  • latitude or formatLatitude — format latitude angle.

    Arguments:

    • value — angle's value;
    • options:
      • template — custom template (optional, default — {degree}° {prime}′ {doublePrime}″ {direction});
      • degrees — specifies whether value is in degrees or in radians (optional, default — false);
      • fixedCount — count of precision digits (optional, default — null leaving precision as is).

    Examples:

    formatter.latitude(33.4); // => 34° 24′ 00″ N
    
    formatter.latitude(-14.75, { degrees: true }); // => 14° 45′ 00″ S
    
    formatter.latitude(-14.75, {
        template: '{negativeSign}{value}°',
        degrees: true,
        fixedCount: 1
    }); // => —14.8°
    
  • longitude or formatLongitude — format longitude angle.

    Arguments:

    • value — angle's value;
    • options:
      • template — custom template (optional, default — {degree}° {prime}′ {doublePrime}″ {direction});
      • degrees — specifies whether value is in degrees or in radians (optional, default — false);
      • fixedCount — count of precision digits (optional, default — null leaving precision as is).

    Examples:

    formatter.longitude(33.4); // => 034° 24′ 00″ E
    
    formatter.longitude(-14.75, { degrees: true }); // => 014° 45′ 00″ W
    
    formatter.longitude(-14.75, {
        template: '{negativeSign}{value}°',
        degrees: true,
        fixedCount: 1
    }); // => —14.8°
    
  • angle or formatAngle — format any custom angle.

    Arguments:

    • value — angle's value;
    • options:
      • template — custom template (optional, default — {negativeSign}{value}°);
      • degrees — specifies whether value is in degrees or in radians (optional, default — false);
      • fixedCount — count of precision digits (optional, default — null leaving precision as is);
      • customTokens — an object or a function returning an object of additional custom tokens used in template.

    Examples:

    formatter.angle(3.4, {
        template: '{degree}° {prime}′ {doublePrime}″ {direction}',
        customTokens: f => {
            return {
                degree: (f.degrees < 10 ? '0' : '') + f.degree,
                direction: f.sign >= 0 ? 'N' : 'S'
            };
        }
    }); // => 03° 24′ 00″ N
    

Template tokens

All three format methods (latitude, longitude and angle) have the following predefined template tokens:

  • value — angle's absolute value with optional precision specified by fixedCount option;
  • degree — absolute (two-digits and three-digits for latitude and longitude respectively) degree value;
  • prime — absolute two-digits prime value;
  • doublePrime — absolute two-digits double prime value;
  • sign — value's sign:
    • + — positive value;
    • — negative value;
    • empty — zero value;
  • negativeSign — the same as sign except that it's empty for both zero and positive values.

latitude and longitude methods additionally have direction token:

  • N — non-negative latitude;
  • S — negative latitude;
  • E — non-negative longitude;
  • W — negative longitude.

Any custom additional tokens can be specified by customTokens option of angle method.

Building

In order to build library run:

npm run build

Testing

Run unit tests:

npm test

Run tests with coverage:

npm run test:coverage

In order to run tests with Coveralls locally you have to provide COVERALLS_REPO_TOKEN:

COVERALLS_REPO_TOKEN=<token> npm run test:coveralls

Contributing

Before making a pull request, please, be sure that you start from develop branch.

License

MIT

Keywords

latitude

FAQs

Package last updated on 14 Dec 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts