Geolib - Growing library to provide some basic geo functions

  •        160

Library to provide basic geospatial operations like distance calculation, conversion of decimal coordinates to sexagesimal and vice versa, etc. Takes 2 or 4 arguments. First 2 arguments must be objects that each have latitude and longitude properties (e.g. {latitude: 52.518611, longitude: 13.408056}). Coordinates can be in sexagesimal or decimal format. 3rd argument is accuracy (in meters). So a calculated distance of 1248 meters with an accuracy of 100 is returned as 1200 (accuracy 10 = 1250 etc.). 4th argument is precision in sub-meters (1 is meter presicion, 2 is decimeters, 3 is centimeters, etc).


prettier : ^1.10.2



Related Projects

Tile38 - Geospatial database, spatial index, and realtime geofence

  •    Go

Tile38 is a in-memory geolocation data store, spatial index, and realtime geofence. It supports a variety of object types including lat/lon points, bounding boxes, XYZ tiles, Geohashes, and GeoJSON. It supports spatial index with search methods such as Nearby, Within, and Intersects, Realtime geofencing through persistent sockets or webhooks and lot more.

Pelias - Modular open-source geocoder using ElasticSearch

  •    NodeJS

Geocoding is the process of taking input text, such as an address or the name of a place, and returning a latitude/longitude location on the Earth's surface for that place. Reverse geocoding is the opposite, returning a list of places near a given latitude/longitude point. It supports many open-data projects out of the box but also works great with private data. It supports searching and displaying results in many languages.

GeoFramework 2.0


This project was formerly a commercial library maintained by the company "GeoFrameworks" for two components it sold (GPS.NET and GIS.NET) from 2004 to 2009. Classes such as Angle, Distance, Speed, Latitude, Longitude, and Position simplify common geographic programming tasks.

Devolia Geo

  •    PHP

Devolia Geo is a RPC (Remote Procedure Call) service offering user geolocation (i.e. the service returns the closest city and country names from latitude and longitude or IP address).

jgeohash - An easy-to-implement library for the GeoHash algorithm

  •    Java

An easy-to-implement library that can assist Java developers in using the GeoHash algorithm in order to create geocodes based on custom latitude and longitude values. With the help of jGeohash, Java developers will be able to quickly and easily generate a geohash code using user-defined latitude and longitude values. By using the GeoHash algorithm, the space can be divided into multiple grid shapes.

thingspeak - ThingSpeak is an open source “Internet of Things” application and API to store and retrieve data from things using HTTP over the Internet or via a Local Area Network

  •    Ruby

ThingSpeak is an open source “Internet of Things” application and API to store and retrieve data from things using HTTP over the Internet or via a Local Area Network. With ThingSpeak, you can create sensor logging applications, location tracking applications, and a social network of things with status updates. In addition to storing and retrieving numeric and alphanumeric data, the ThingSpeak API allows for numeric data processing such as timescaling, averaging, median, summing, and rounding. Each ThingSpeak Channel supports data entries of up to 8 data fields, latitude, longitude, elevation, and status. The channel feeds support JSON, XML, and CSV formats for integration into applications.

magellan - Geo Spatial Data Analytics on Spark

  •    Scala

Magellan is a distributed execution engine for geospatial analytics on big data. It is implemented on top of Apache Spark and deeply leverages modern database techniques like efficient data layout, code generation and query optimization in order to optimize geospatial queries. The application developer writes standard sql or data frame queries to evaluate geometric expressions while the execution engine takes care of efficiently laying data out in memory during query processing, picking the right query plan, optimizing the query execution with cheap and efficient spatial indices while presenting a declarative abstraction to the developer.

cordova-plugin-geolocation - Mirror of Apache Cordova Plugin geolocation

  •    Javascript

This plugin provides information about the device's location, such as latitude and longitude.Common sources of location information include Global Positioning System (GPS) and location inferred from network signals such as IP address, RFID, WiFi and Bluetooth MAC addresses, and GSM/CDMA cell IDs. There is no guarantee that the API returns the device's actual location.

javascript-mobile-desktop-geolocation - Mobile and Desktop Javascript Library for Geolocation Fallback

  •    Javascript

Mobile and Desktop Javascript Library for Geolocation Fallback. Based on geo-location-javascript framework (

turf - A modular geospatial engine written in JavaScript

  •    Javascript

Turf is a JavaScript library for spatial analysis. It includes traditional spatial operations, helper functions for creating GeoJSON data, and data classification and statistics tools. Turf can be added to your website as a client-side plugin, or you can run Turf server-side with Node.js (see below).Download the minified file, and include it in a script tag. This will expose a global variable named turf.

jgeocoder - Free Java Geocoder

  •    Java

Geocoding is the process of estimating a latitude and longitude for a given location. JGeocoder is a free Java geocoder. This project is loosely modeled after Geo::Coder::US, a Perl module available for download from the CPAN.

GeoFramework 1.0


This project was formerly a commercial library maintained by the company "GeoFrameworks" for two components it sold (GPS.NET and GIS.NET) from 2004 to 2009. Classes such as Angle, Distance, Speed, Latitude, Longitude, and Position simplify common geographic programming tasks.

rgeo - Geospatial data library for Ruby

  •    Ruby

RGeo is a geospatial data library for Ruby. RGeo is a key component for writing location-aware applications in the Ruby programming language. At its core is an implementation of the industry standard OGC Simple Features Specification, which provides data representations of geometric objects such as points, lines, and polygons, along with a set of geometric analysis operations. This makes it ideal for modeling geolocation data. It also supports a suite of optional add-on modules that provide various geolocation-related services.

Detect User Geo location


Detect site visitor geo location Detect geo location of the site visitors by html5 geolocation (first) or choice).

node-gdal - Node.js bindings for GDAL (Geospatial Data Abstraction Library)

  •    C++

Read and write raster and vector geospatial datasets straight from Node.js with this native GDAL binding. GDAL 2.0.1 (GEOS 3.4.2, Proj.4 4.8.0) comes bundled, so node-gdal will work straight out of the box. To get started, browse the API Documentation or examples. This binding is a collaboration between Natural Atlas and Mapbox. Its contributors are Brandon Reavis, Brian Reavis, Dane Springmeyer, Zac McCormick, and others.

spatial4j - A Geospatial Library for Java

  •    Java

Spatial4j is a general purpose spatial / geospatial ASL licensed open-source Java library. It's core capabilities are 3-fold: to provide common geospatially-aware shapes, to provide distance calculations and other math, and to read shape formats like WKT and GeoJSON.

PostGIS - Spatial and Geographic objects for PostgreSQL

  •    C

PostGIS is a spatial database extender for PostgreSQL object-relational database. It adds support for geographic objects allowing location queries to be run in SQL. PostGIS adds extra types (geometry, geography, raster and others) to the PostgreSQL database. It also adds functions, operators, and index enhancements that apply to these spatial types.

Haversine Distance Calculation


A very small project that implements the Haversine formula, which calculates the great circle distance between two points on the earth's surface. The points are latitude / longitude coordinates in DD. The formula is implemented client side with javascript and server side with C#.


  •    C

MySQL User Defined Function (UDF) to provide geographic distance calculations - that is to calculate the distance between two points of latitude and longitude.