Jump to navigation Jump to search
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, on the other hand, is the opposite: returning a list of places near a given latitude/longitude point.
Open source geocoders
|Nominatim (demo)||Python, PHP||yes||no|
|addok (demo)||Python||no, only BAN(O)||?|
The following software only provides reverse geocoding:
- JRG: small reverse geocoder working on a postprocessed osm2pgsql database.
The following geocoding software is also open source but not available in a dedicated repository:
- osmgeoref – a small geocoding engine with low resource requirements (proof of concept)
- Twofishes - by Foursquare - A coarse forward & reverse geocoder in scala (abandoned, its website is down)
Comparison of HTTP APIs
|Geocoder||Fulltext Geocoding||Fields Geocoding||Autocomplete||Filter||Bias||Reverse geocoding||Batch||Normalisation||Gazetteer||Linkage||Autocompletion Linkage||Engine||Data source|
|Gisgraphy||yes||yes||yes||Radius, Country||lat/lon, Disable Fuzzy||yes||no||Token||EdgeNGram||Solr||OpenAddresses, OSM|
|Photon||yes||no||yes||bbox, OSM Tags||lat/lon||yes||no||Nominatim||EdgeNGram||ElasticSearch||OSM|
|Pelias||yes||yes||yes||Placetype, Country, Bbox, Radius, admin_boundary, Data source||Proximity||yes||no||libpostal||Who’s On First||Token + EdgeNGram||EdgeNGram||ElasticSearch||OSM, OpenAddresses, Who's on First, Geonames. Supports custom data.|
|addok||yes||no||yes||postal_code||lat/lon||address only||yes||regex||N/A||Phonetization or Trigram||EdgeNGram||Redis||BAN, BANO(OSM)|
|Mimirsbrunn||no||no||yes||Dataset, Type, Zone||lat/lon||yes||no||regex||Cosmogony||Trigram||EdgeNGram||ElasticSearch||OpenAddresses, OSM, BAN|
Online geocoding services
These options are available as services you can call:
Non-commercial, ToS limited
- Nominatim is deployed on OpenStreetMap servers, and powers the search on the front page as well as offering an API.
- Photon hosted by Komoot.de
- GeoCheck hosted by IdeesLibres.org - searches across Nominatim OSM, Google, Photon OSM, ideeslibres.org BANO, IGN, Etalab BANO
- OSMNames maintained by MapTiler and HSR - provides basic search in place names with autocomplete for demo purposes. The project mainly aims to deliver gazetteer data from OSM.
- LocalArea maintained by CrimeFlare - searches OpenStreetMap and display ethical corporations
- OpenCage hosted by OpenCage GmbH - searches across OpenStreetMap, geonames, geoplanet among other sources.
- LocationIQ searches across OSM, OA, Geonames, and WoF, among other sources
- Osmocoder hosted by 123map.de, able to do batch geocoding, so far for area of Germany, and in German language.
- Geocode Earth provide hosted geocoding APIs powered by the open-source Pelias Geocoder. They offer autocomplete, reverse & full-text search across OSM, OpenAddresses, Geonames and Who's on First. Run by the former Mapzen Search team.
- WhatIsWhere Free, powerful map based search. Supports multiple conditions applied at the same time, saving/loading search projects, export to CSV, etc.
- NetToolKit provides affordable geocoding, autocomplete/search, and map tile services.
- Geoapify offers direct and reverse geocoding, as well as autocomplete. They support single and batch requests. The APIs can be tested with Playground.
- Geocoding API Forward & Reverse Geocoding based on OpenStreetMap data with low latency served by a global cdn.
- SmartMaps powered by YellowMap AG - Worldwide Forward & Reverse Geocoding, Routing, Matrix Routing and Autocomplete based on OpenStreetMap data.
- BigDataCloud provides free client-side reverse geocoding API which utilises data from OpenStreetMap (OSM) project and various other open public sources. They deliver administrative/non-administrative boundaries-based results.
- Geocoding.ai provides hosted geocoding APIs powered by Nominatim, offers full-text search and reverse geocoding.
- Geokeo.com provides forward and reverse geocoding. with spell correction and more. 2500 daily free api limit
- GraphHopper Directions API: offers various Routing APIs and a Geocoding API where the provider can be selected and is based on photon, Nominatim and Gisgraphy.