GeoPoint represents a geographic point for node.js and the browser, and provides distance between points and radius bounding box calculations.
npm install geopoint
var GeoPoint = require('geopoint'),
statueOfLiberty = new GeoPoint(40.689604, -74.04455);
latitude
: Latitudelongitude
: LongitudeinRadians
:true
if the latitude and longitude are in radians, defaults tofalse
.latitude(inRadians)
: Return the point's latitude. By default, the latitude is in degrees, unlessinRadians
istrue
.longitude(inRadians)
: Return the point's longitude. By default, the longitude is in degrees, unlessinRadians
istrue
.distanceTo(point, inKilometers)
: Calculate the distance to anotherGeoPoint
instance. By default, the distance is calculated in miles, unlessinKilometers
istrue
.boundingCoordinates(distance, radius, inKilometers)
: Calculates the bounding coordinates ofdistance
from the point and returns an array with the SW and NE points of the bounding box . Ifradius
is not provided, the radius of the Earth will be used. The distance is calculated in miles unlessinKilometers
istrue
.isInBoundingBox(boundingBox)
: Returns boolean value if the point's latitude and longitude are within theboundingBox
passed. Bounding box is an array with the SW and NE points of the bounding box as returned by.boundingCoordinates
method.
GeoPoint.degreesToRadians(value)
: Convertsvalue
in degrees to radiansGeoPoint.radiansToDegrees(value)
: Convertsvalue
in radians to degreesGeoPoint.milesToKilometers(value)
: Convertsvalue
in miles to kilometersGeoPoint.kilometersToMiles(value)
: Convertsvalue
in kilometers to miles
The GeoPoint
constructor is exposed via window.GeoPoint
.
Cachetree tests require Mocha and can be run with either npm test
. You can specify Mocha options, such as the reporter, by adding a mocha.opts file, which is ignored by git, to the test
directory.
This library is derived from the code presented in Finding Points Within a Distance of a Latitude/Longitude Using Bounding Coordinates by Jan Philip Matuschek.