Representation of a geographic point for node.js and the browser

Geographic Point

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: Latitude
  • longitude: Longitude
  • inRadians: true if the latitude and longitude are in radians, defaults to false
  • .latitude(inRadians): Return the point's latitude. By default, the latitude is in degrees, unless inRadians is true
  • .longitude(inRadians): Return the point's longitude. By default, the longitude is in degrees, unless inRadians is true
  • .distanceTo(point, inKilometers): Calculate the distance to another GeoPoint instance. By default, the distance is calculated in miles, unless inKilometers is true
  • .boundingCoordinates(distance, radius, inKilometers): Calculates the bounding coordinates of distance from the point and returns an array with the SW and NE points of the bounding box . If radius is not provided, the radius of the Earth will be used. The distance is calculated in miles unless inKilometers is true
  • GeoPoint.degreesToRadians(value): Converts value in degrees to radians
  • GeoPoint.radiansToDegrees(value): Converts value in radians to degrees
  • GeoPoint.milesToKilometers(value): Converts value in miles to kilometers
  • GeoPoint.kilometersToMiles(value): Converts value 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.