Pelias - Modular open-source geocoder using ElasticSearch

  •        164

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.



Related Projects

node-geocoder - nodejs geocoding library

  •    Javascript

Node Geocoder, node geocoding library, supports google maps, mapquest, open street map, tom tom, promise

openaddresses - A repository of global open address data.

  •    Javascript

A global collection of address data sources, open and free to use. Join, download and contribute. We're just getting started. This repository is a collection of references to address data sources.

Nominatim - Open Source search based on OpenStreetMap data

  •    C

Nominatim (from the Latin, 'by name') is a tool to search OpenStreetMap data by name and address (geocoding) and to generate synthetic addresses of OSM points (reverse geocoding). An instance with up-to-date data can be found at Nominatim is also used as one of the sources for the Search box on the OpenStreetMap home page. The documentation of the latest development version is in the docs/ subdirectory. A HTML version can be found at .

Gisgraphy - Geocoding and Geolocalisation webservices for Geonames, Openstreetmap, and quattroshapes data

  •    Java

Gisgraphy provides forward and reverse geocoding, geolocalisation, and vehicle tracking web services. Gisgraphy uses a unique, worldwide and consolidated Addresses / POIs database (+500 million entries), based on open data (Openstreetmap, Openaddresses, Geonames and Quattroshapes).

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.

Manticore Search - High performance full-text search engine with SQL and JSON support

  •    C++

Manticore Search is an open source high performance full-text search oriented engine. It is a fork of Sphinx Search. Manticore Search is written in C++. It means speed and low resource consumption, it means you don’t have to worry about a garbage collector that suddenly makes a trouble.

leaflet-geosearch - Leaflet geosearching/geocoding control

  •    Javascript

If you don’t use npm, you may grab the latest UMD build from unpkg (either a development or a production build). The UMD build exports a global called window.GeoSearch if you add it to your page via a <script> tag. We don’t recommend UMD builds for any serious application.

jQuery-Store-Locator-Plugin - A store locator plugin using Google Maps API version 3

  •    Javascript

This jQuery plugin takes advantage of Google Maps API version 3 to create an easy to implement store locator. No back-end programming is required, you just need to feed it KML, XML, or JSON data with all the location information. How you create the data file is up to you. I originally created this for a company that didn’t have many locations, so I just used a static XML file. You will need to geocode your locations beforehand or use a geocoding API service if you want to try to do it on the fly. The reason for this is that all free geocoding APIs have strict limits that would easily be exceeded. In the end, you're much better off storing the coordinates versus having to look them up for each location on each request. A note on the distance calculation: this plugin currently uses a distance function that I found on the blog of Chris Pietschmann. Google Maps API version 3 does include a distance calculation service (Google Distance Matrix API) but I decided not to use it because of the current request limits, which seem somewhat low. For v2 I also tried experimenting with the Directions API to request distances but also found the limits to be too restrictive. So, the distance calculation is “as the crow flies” instead of a road distance calculation. However, if you use the inline directions option that does provide the distance that's returned via the directions request.


  •    Python

* Note: The Google Maps V2 API used by this module has been deprecated. * For V3, consider pygeocoder: Easy-to-use Python wrapper for the Google Maps V2 and Local Search APIs. Provides geocoding, reverse geocoding, directions, and local search.

geocomplete - jQuery Geocoding and Places Autocomplete Plugin

  •    Javascript

An advanced jQuery plugin that wraps the Google Maps API's [Geocoding]( and [Places Autocomplete]( services. You simply provide an input that lets you search for locations with a nice autocomplete dropdown. Optionally add a container to show an interactive map and a form that will be populated with the address details.

QGIS - Geographical Information System (GIS)

  •    C++

QGIS is an Open Source Geographic Information System. QGIS aims to be an easy to use GIS, providing common functions and features. The initial goal was to provide a GIS data viewer. QGIS has reached that point in its evolution and is being used by many for their daily GIS data viewing and editing needs. QGIS supports a number of raster and vector data formats, with new support easily added using the plugin architecture.

HydroDesktop - Hydrologic Information System Desktop Application

  •    CSharp

HydroDesktop is a free and open source GIS enabled desktop application that helps you search for, download, visualize, and analyze hydrologic and climate data registered with the CUAHSI Hydrologic Information System.

GMap.NET - Great Maps for Windows Forms & Presentation


GMap.NET is great and Powerful, Free, cross platform, open source .NET control. Enable use routing, geocoding and maps from Google, Yahoo!, Bing, OpenStreetMap, ArcGIS, Pergo, SigPac, Yandex, in Windows Forms & Presentation, supports caching and runs on windows mobile!

Reactivemaps - A data aware UI components library for building realtime maps

  •    Javascript

Reactivemaps is a React based components library for building realtime maps. It is built on top of the realtime DB service and ships with 20+ components for Lists, Dropdowns, Numeric Range, Sliders, Data Search, Places Search, Distance Slider and Dropdowns, Calendars, Feeds and Maps.

Whitebox Geospatial Analysis Tools - An open-source GIS and remote sensing package

  •    Java

Whitebox GAT is an open-source geographical information system (GIS) and remote sensing package. The Whitebox GAT project began in 2009 and was conceived as a replacement for the Terrain Analysis System (TAS). Whitebox GAT is intended to provide a platform for advanced geospatial data analysis with applications in both environmental research and the geomatics industry more broadly.

Mapstraction - A Javascript Mapping Abstraction library

  •    Javascript

Mapstraction is a library that provides a common API for various javascript mapping APIs to enable switching from one to another as smoothly as possible. Developers can code their applications once, and then easily switch mapping provider based on project needs, terms and conditions, and new functionality.

Geo-Maps - High Quality GeoJSON maps programmatically generated

  •    Javascript

The purpose of this project is to programmatically extract maps from open databases like OpenStreetMap providing you with a ready to use GeoJSON map that fits your needs.

libpostal - A C library for parsing/normalizing street addresses around the world

  •    C

Addresses and the locations they represent are essential for any application dealing with maps (place search, transportation, on-demand/delivery services, check-ins, reviews). Yet even the simplest addresses are packed with local conventions, abbreviations and context, making them difficult to index/query effectively with traditional full-text search engines. This library helps convert the free-form addresses that humans use into clean normalized forms suitable for machine comparison and full-text indexing. Though libpostal is not itself a full geocoder, it can be used as a preprocessing step to make any geocoding application smarter, simpler, and more consistent internationally. The core library is written in pure C. Language bindings for Python, Ruby, Go, Java, PHP, and NodeJS are officially supported and it's easy to write bindings in other languages.