An open API service indexing awesome lists of open source software.

https://github.com/toddself/haversort

Haversine and distance sorting for node.js
https://github.com/toddself/haversort

Last synced: 3 months ago
JSON representation

Haversine and distance sorting for node.js

Awesome Lists containing this project

README

          

# haversort

An implementation of a haversine algorhythm for finding the distance, in KM, between two latitudes and longtudes on Earth.

## Usage

`npm install -S haversort`

```javascript
> var h = require('haversort');
> h.distanceSort(10, 10, [[18,18], [12,12], [13,13], [14,14]]);
[ [ 12, 12, 312 ],
[ 13, 13, 467.5 ],
[ 14, 14, 622.8 ],
[ 18, 18, 1240.3 ] ]
> h.haversine(10, 10, 20, 20);
1546.5
```

## API









distanceSort(lat, lon, points) → {array}





Given a point and a list of points, returns the list sorted by distance
(closest first)



Parameters:

Name
Type
Description

lat

mixed

Lat of center point or array of [lat, lon] representing the center point

lon

mixed

Lon of center point or array of points to sort

points

array

Array of points to sort


Source:



Returns:


Array of points, sorted by distance from center point, with the distance pushed as the last element in each array





Type


array





haversine(lat1, lon1, lat2, lon2) → {number}





Compute the distance between two points using the haversine formula, based
on the above defined Radius.



Parameters:

Name
Type
Argument
Description

lat1

mixed

First lat, or an array of [lat, lon] representing the first point

lon1

mixed

First lon, or an array of [lat, lon] resresenting the second point

lat2

number

<optional>

The latitude of the second point

lon2

number

<optional>

The longitude of the second point


Source:



Returns:


The distance, in KM, between the two points, rounded to the tenths.





Type


number





toRad(num) → {number}





Give that trig function a radian. Trig functions LOVE radians



Parameters:

Name
Type
Description

num

number

Angle, in degrees to return as a Radian


Source:



Returns:


The radian for that angle.





Type


number



*generated with [docme](https://github.com/thlorenz/docme)*

##License & Copyright
Copyright (c) 2014 Todd Kennedy, licensed under the [MIT License](/LICENSE)