Socket
Socket
Sign inDemoInstall

s-haversine

Package Overview
Dependencies
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

s-haversine

Get distance between any two latitute/longitude coordinates


Version published
Weekly downloads
314
decreased by-41.96%
Maintainers
1
Weekly downloads
 
Created
Source

s-haversine

NPM version Dependencies build status NPM license

About

This module calculates the distance between two points on Earth using lat/long coordinates. It is based on the haversine formula and includes a utility to convert from degrees/minutes/seconds to the signed decimal degrees format needed for the formula to work.

This can be used with the web Geolocation API, which provides lat/long coordinates.

Usage

Get a pair of latitude/longitude coordinates then use them as the arguments for the distance method. Example:

import haversine from 's-haversine';

// ---------- [latitude, longitude];
const coords1 = [36.151829, -115.143296];
const coords2 = [36.151465, -115.146284];

haversine.distance(coords1, coords2); // 271.314... (meters)
Converting deg/min/sec to decimal

This module requires coordinates to be in a signed decimal format. If you have coordinates in degrees/minutes/seconds (DMS) format, use the dmsToDecimal method to convert them. For example, an input such as 40 20 50W or 40°20'50" S will return roughly -40.34722.

havesine.dmsToDecimal('40 20 50W'); // -40.34722... (degrees)
Earth radius

The math involved in the haversine formula depends on knowledge of the Earth's radius. This is configured by default as 6371000 (in meters). If you need to fine tune this or use another radius, you can configure this by setting haversine.earthRadius to a number before calling the distance method.

Keywords

FAQs

Package last updated on 27 Apr 2020

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc