node-georedis - Super fast geo queries.

  •        73

Note: Requires a Redis server to be accessible to your Node environment. Note: Will use native Redis geo commands if they are available, and fallback to an emulation if not available. Read more about how this module works.


geolib : 2.0.18
ngeohash : 0.6.0



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.

rbush - RBush — a high-performance JavaScript R-tree-based 2D spatial index for points and rectangles

  •    Javascript

RBush is a high-performance JavaScript library for 2D spatial indexing of points and rectangles. It's based on an optimized R-tree data structure with bulk insertion support. Spatial index is a special data structure for points and rectangles that allows you to perform queries like "all items within this bounding box" very efficiently (e.g. hundreds of times faster than looping over all items). It's most commonly used in maps and data visualizations.

flatbush - A very fast static spatial index for 2D points and rectangles in JavaScript

  •    Javascript

A really fast static spatial index for 2D points and rectangles in JavaScript. An efficient implementation of the packed Hilbert R-tree algorithm. Enables fast spatial queries on a very large number of objects (e.g. millions), which is very useful in maps, data visualizations and computational geometry algorithms.

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.

GeoCouch - A spatial index for CouchDB

  •    Erlang

GeoCouch is a spatial extension for Couchbase and Apache CouchDB.This version of GeoCouch needs at least Apache CouchDB 1.3.x.

JCS - Conflates spatial datasets

  •    Java

The JCS Conflation Suite is an API and set of interactive tools which perform conflation on spatial datasets.

ioredis - A robust, performance-focused and full-featured Redis client for Node and io.js

  •    Javascript

ioredis is a robust, full-featured Redis client that is used in the world's biggest online commerce company Alibaba and many other awesome companies. It supports Cluster, Sentinel, Pipelining and of course Lua scripting & Pub/Sub (with the support of binary messages), It works with Node callbacks and Native promises, GEO commands, TLS, Lua scripting and lot more.

Spatial Solr Plugin for Lucene and Solr

  •    Java

With the continuous efforts of adjusting search results to focused target audieces, there's an increasing demand for incorporating geographical location information into the standard search functionality. Spatial Solr Plugin (SSP) is a free, standalone plug-in which enables Geo / Location Based Search, and is built on top of the open source projects Apache Solr and Apache Lucene.

GRASS GIS - Geographic Resources Analysis Support System

  •    C++

Geographic Resources Analysis Support System, commonly referred to as GRASS GIS, is a Geographic Information System (GIS) used for data management, image processing, graphics production, spatial modelling, and visualization of many types of data. GRASS supports raster and vector data in two and three dimensions. The vector data model is topological, meaning that areas are defined by boundaries and centroids; boundaries cannot overlap within a single layer.


  •    Python

Geo-Spatial Data Viewer (GSDView) is a lightweight viewer for geo-spatial data and products. It is written in python and Qt4 and uses the GDAL library. GSDView is modular and has a simple plug-in architecture.

geo-how-to - commands, notes for open-source geo workflows


The tips and tricks here are oriented to BYOD (bring your down data) mapping and OpenStreetMap obliquely. Presentation cartography and basic inventory mapping is the focus here. Spatial analytics is touched upon briefly but is not the main focus. This site makes assumptions that OpenSource GIS mostly means: PostGIS as a spatial data store and Mapnik as a rendering engine, a Mappy CSS styling language like Cascadenik or Carto to setup the layers and their appearance. Interactivity is briefly touched on. Actually embedding the resulting tile assets is briefly touched on.

walrus - Lightweight Python utilities for working with Redis

  •    Python

Lightweight Python utilities for working with Redis. The purpose of walrus is to make working with Redis in Python a little easier by wrapping rich objects in Pythonic containers. It consist of wrappers for the Redis object types like Hash, List, Set, Sorted Set, HyperLogLog, Array.

RediSearch - FullText Search module for redis

  •    C

Redisearch implements a search engine on top of Redis, but unlike other redis search libraries, it does not use internal data structures like sorted sets. Inverted indexes are stored as a special compressed data type that allows for fast indexing and search speed, and low memory footprint.

GeoMesa - Suite of tools for working with big geo-spatial data in a distributed fashion

  •    Scala

GeoMesa is an open-source, distributed, spatio-temporal database built on a number of distributed cloud data storage systems, including Accumulo, HBase, Cassandra, and Kafka. Leveraging a highly parallelized indexing strategy, GeoMesa aims to provide as much of the spatial querying and data manipulation to Accumulo as PostGIS does to Postgres.

C# Spatial Index (RTree) Library

  •    CSharp

The C# RTree project aims to maintain a C# version of the RTree spatial indexing algorithm. Ported from

Java Spatial Index (RTree) Library


The Java RTree project aims to maintain an Java version of the RTree spatial indexing algorithm. See for more information, and for latest development code.

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.

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.

redis_failover - redis_failover is a ZooKeeper-based automatic master/slave failover solution for Ruby

  •    Ruby

redis_failover provides a full automatic master/slave failover solution for Ruby. Redis does not currently provide an automatic failover capability when configured for master/slave replication. When the master node dies, a new master must be manually brought online and assigned as the slave's new master. This manual switch-over is not desirable in high traffic sites where Redis is a critical part of the overall architecture. The existing standard Redis client for Ruby also only supports configuration for a single Redis server. When using master/slave replication, it is desirable to have all writes go to the master, and all reads go to one of the N configured slaves. This gem (built using ZK) attempts to address these failover scenarios. One or more Node Manager daemons run as background processes and monitor all of your configured master/slave nodes. When the daemon starts up, it automatically discovers the current master/slaves. Background watchers are setup for each of the redis nodes. As soon as a node is detected as being offline, it will be moved to an "unavailable" state. If the node that went offline was the master, then one of the slaves will be promoted as the new master. All existing slaves will be automatically reconfigured to point to the new master for replication. All nodes marked as unavailable will be periodically checked to see if they have been brought back online. If so, the newly available nodes will be configured as slaves and brought back into the list of available nodes. Note that detection of a node going down should be nearly instantaneous, since the mechanism used to keep tabs on a node is via a blocking Redis BLPOP call (no polling). This call fails nearly immediately when the node actually goes offline. To avoid false positives (i.e., intermittent flaky network interruption), the Node Manager will only mark a node as unavailable if it fails to communicate with it 3 times (this is configurable via --max-failures, see configuration options below). Note that you can (and should) deploy multiple Node Manager daemons since they each report periodic health reports/snapshots of the redis servers. A "node strategy" is used to determine if a node is actually unavailable. By default a majority strategy is used, but you can also configure "consensus" or "single" as well.

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.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.