Nominatim VS Open Source Routing Machine (OSRM)

Compare Nominatim vs Open Source Routing Machine (OSRM) and see what are their differences.

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Nominatim Open Source Routing Machine (OSRM)
35 19
2,864 6,068
2.1% 1.5%
9.5 6.7
8 days ago 14 days ago
Python C++
GNU General Public License v3.0 only BSD 2-clause "Simplified" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

Nominatim

Posts with mentions or reviews of Nominatim. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-10-05.
  • Answer: How To Get Latitude & Longitude of a Address using python
    2 projects | dev.to | 5 Oct 2023
    You can simply use geopy API to get longitude and latitude from address. geopy includes geocoder classes for the OpenStreetMap Nominatim, Google Geocoding API (V3), and many other geocoding services. The full list is available on the Geocoders doc section. Geocoder classes are located in geopy.geocoders. Here…
  • Nominatim: Open-source geocoding with OpenStreetMap data
    1 project | news.ycombinator.com | 13 Jul 2023
  • Btreefs generates executable code at runtime to unpack btree nodes
    3 projects | news.ycombinator.com | 25 Jun 2023
    I have had a lot of "fun" with this feature in the past. It has earned a permanent place in my setup script:

    ALTER SYSTEM SET jit=off;

    Basically a performance blackhole for more complex queries. Most OSM related projects disable it straight away as it only creates headaches.

    https://github.com/osm-search/Nominatim/pull/2559

  • [Help] searching address
    1 project | /r/OsmAnd | 13 Jun 2023
    Because osm.org and OsmAnd use different search engines. On osm.org it uses the Nominatim geocoder which is good at parsing addresses the way we are used to writing them. It is also running on a server with a lot of storage and memory resources. OsmAnd is built for offline use so it can't use Nominatim and has much more limited computing resources available to it. It is searching through the map files locally on your phone and however they have chosen to implement that search algorithm seems to perform poorly on addresses.
  • Kako riješiti različite verzije istih adresa ulica?
    2 projects | /r/CroIT | 11 Jun 2023
    Ako skupa s adresama imaš i njihove lokacije možeš i koristiti gotov geocoder (e.g. Nominatim je free i koristi OSM podatke, možeš i deployati svoju instancu), pa iz rezultata naći geometrijski najbližu adresu koju imaš.
  • Let's build a Google Maps clone with React, Leaflet, and OneSDK
    13 projects | dev.to | 15 May 2023
    Then implement a use case. We are going to use Geocoding use case with Nominatim provider. But you can, of course, use a different provider. Copy the example code into your server.js file and make a few changes, so we can send the information we will receive from the user:
  • MicroG Qs
    1 project | /r/CalyxOS | 12 May 2023
    There are reasons why this tech was developed: because GPS can take a long time to sync up to the satellites, because GPS often doesn't work indoors, because your phone can keep a local cache of locations, and so you have the ability to find places by name or address (Geocoding) using nominatim ( https://nominatim.org )
  • Digital prepping must haves?
    1 project | /r/preppers | 28 Mar 2023
    and nominatim which does the geocoding/reverse geocoding: https://nominatim.org/
  • Bulk/batch geocoding for cheap?
    1 project | /r/gis | 24 Mar 2023
  • How do I go about with this project idea
    1 project | /r/learnprogramming | 13 Feb 2023
    Then it depends on how the location data is conveyed in the group chat. If it's a text message you need to parse it and possibly use a mapping service to do geocoding. Eg. convert "22 Main Street" or "upper Brooklyn" into GPS coordinates. Besides Google Maps API you can maybe use OpenStreetMaps via Nominatim. If it's something more like "we just passed John's house" then you need to figure out how to write some logic to determine a location from that. Or maybe they just used the WhatsApp location share feature, then you probably don't need mapping at all.

Open Source Routing Machine (OSRM)

Posts with mentions or reviews of Open Source Routing Machine (OSRM). We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-12-14.
  • Easiest way to calculate distances between multiple locations?
    1 project | /r/excel | 15 May 2023
    then called the Open Streetmap api described here using Power query: https://github.com/Project-OSRM/osrm-backend/blob/master/docs/http.md
  • Can someone fix this tricky ferry route?
    1 project | /r/openstreetmap | 1 Jan 2023
  • Using R to Cluster Points by Road Networks
    4 projects | /r/Rlanguage | 14 Dec 2022
    OSRM: A super fast and easy to use routing engine that runs on OSM data. You only need to run 5 lines of code to (1) download a .pbf from Geofabrik, (2-5) download the OSRM docker image and pre-process the OSM data. There are also 3 profiles predefined that you can use: car, bike, foot (e.g. foot.lua). It basically hosts a local server. I find the easiest way is to combine it with the osrm R package. I have seen you also need to adjust for the elevation. I think I have seen some custom LUA profiles that also account for DTM derived elevation changes as an additional weight.
  • OpenStreepMap 2012 vs. 2022
    10 projects | news.ycombinator.com | 30 Sep 2022
  • Troubleshooting OSRM
    1 project | /r/docker | 27 Aug 2022
    I am trying (and failing) to setup an OSRM instance with docker compose. The issue I've encountered is with setting up osrm-backend. According to the Github and Docker Hub pages, the process is as follows:
  • What's everyone working on this week (29/2022)?
    12 projects | /r/rust | 18 Jul 2022
    I am creating Rust bindings to https://github.com/Project-OSRM/osrm-backend using autocxx. This allows for fast routing on openstreetmap data. They have a nodejs server, but I'm going to write a Rust one with these new bindings. I am finding that many of the config classes in C++ are't Plain-Old-Data structures, so are opaque structs, so I have to write getters and setters in C++.
  • Show HN: Self-Hosted Maps Stack
    11 projects | news.ycombinator.com | 27 May 2022
    > As a cyclist I’m almost always disappointed by google, apple, and Valhalla

    Have you tried the OSRM bike config? (The one you find in https://github.com/Project-OSRM/osrm-backend/blob/master/pro...)

  • loosing my mind
    1 project | /r/openstreetmap | 17 May 2022
    This is a 30 second exercise on OSRM, or any other service that provides directions.
  • There should be a “safe mode” on google maps.
    1 project | /r/TwoXChromosomes | 9 May 2022
    As for the rules for routing algorithms, OSMR's foot profile looks like good place to start. You could copy the file into something like for_women.lua and extend it with rules for e.g. street lighting and any other features of interest. Of course, it would be best to reach out to the other devs first.
  • Walking distance and triangle inequality
    1 project | /r/gis | 29 Apr 2022
    I'm trying to calculate walking distances using OSM and OSRM but this results in distance matrices that violate triangle inequality. This is a pretty bad issue for the spatial models I'm building. I was wondering whether there are alternatives to OSRM that guarantee that triangle inequality is respected. Mostly, I really don't care about the routing algorithm looking at red lights, whether streets are one or two way streets, private roads, etc. I just need the distance along pathways between points.

What are some alternatives?

When comparing Nominatim and Open Source Routing Machine (OSRM) you can also consider the following projects:

photon - an open source geocoder for openstreetmap data

openrouteservice - 🌍 The open source route planner api with plenty of features.

TileServer GL - Vector and raster maps with GL styles. Server side rendering by MapLibre GL Native. Map tile server for MapLibre GL JS, Android, iOS, Leaflet, OpenLayers, GIS via WMTS, etc.

valhalla - Open Source Routing Engine for OpenStreetMap

OsmAnd - OsmAnd

OpenTripPlanner - An open source multi-modal trip planner

μlogger - μlogger • web viewer for tracks uploaded with μlogger mobile client

TileServer PHP - MBTiles and MapTiler folder hosting with TileJSON, OGC WMTS, UTFGrid interaction and web interface. QGIS & ESRI ArcGIS compatible. Runs on any Apache+PHP webhosting. MapBox Studio Vector Tiles hosting.

Hauk - Open-source realtime location sharing