What is OSRM and what are its top alternatives?
Open Source Routing Machine (OSRM) is a high-performance routing engine for shortest path computation, optimized for shared-memory multi-core architectures. It supports various features such as route customization, turn restrictions, and alternative routes. However, one limitation of OSRM is the lack of real-time traffic data integration, which may result in less accurate or up-to-date routing information.
- GraphHopper: GraphHopper is a fast and customizable routing engine that supports various vehicle profiles, turn restrictions, and elevation data. It offers real-time traffic data integration and supports offline routing. One downside is the complexity of setting up custom routing profiles.
- Valhalla: Valhalla is a flexible and open-source routing engine that can be customized for different use cases. It supports multiple vehicle types, turn instructions, and elevation data. However, it may require more technical expertise to configure compared to OSRM.
- Mapbox Directions API: Mapbox Directions API provides routing and navigation services with real-time traffic data, turn-by-turn directions, and custom route options like multiple waypoints. It offers seamless integration with other Mapbox mapping tools. One drawback is the pricing structure for high-volume usage.
- ORS Online Route Service: ORS is an open-source routing service that offers routing for various transportation modes, including walking, cycling, and public transport. It provides accessibility analysis and geocoding services. However, it may not have as extensive customization options as OSRM.
- Google Maps Directions API: Google Maps Directions API offers reliable routing services with real-time traffic updates, multiple transportation modes, and directions for various platforms. It integrates seamlessly with other Google Maps APIs but may require an API key for access.
- Here Routing API: Here Routing API is a comprehensive routing solution with features such as real-time traffic updates, multiple transportation modes, and route optimization for fleet management. It offers detailed route instructions and customizable route options. However, it may be more costly compared to some other alternatives.
- Mapzen Turn-By-Turn: Mapzen Turn-By-Turn is an open-source routing engine that provides customizable routing solutions for various transportation modes. It supports elevation data, multiple languages, and customizable route restrictions. One limitation is the potential complexity of integrating the API into existing systems.
- HERE SDK: HERE SDK is a software development kit that offers comprehensive routing and navigation features for mobile applications. It provides offline routing capabilities, real-time traffic data, and customizable map styles. However, integrating the SDK into mobile applications may require additional development resources.
- Mapbox Navigation SDK: Mapbox Navigation SDK is a toolkit for developing turn-by-turn navigation applications with features like real-time traffic data, voice guidance, and customizable route options. It offers seamless integration with other Mapbox mapping tools but may require a subscription for extended features.
- OSRM Backend Service: OSRM Backend Service is an open-source routing engine with a focus on high-performance routing solutions. It supports custom profiles, turn instructions, and route optimization. However, it may have limitations in real-time traffic data integration and customization options compared to other alternatives.
Top Alternatives to OSRM
- Valhalla
Valhalla is Mapzen’s open-source routing service for client-side routing applications and hosted solutions. If you are looking to avoid the challenge of data creation and database administration, you can get high-quality routes and navigational guidance with clear directions through a simple API call. ...
- Google Maps
Create rich applications and stunning visualisations of your data, leveraging the comprehensiveness, accuracy, and usability of Google Maps and a modern web platform that scales as you grow. ...
- pgRouting
It is an extension of PostGIS and PostgreSQL geospatial database and adds routing and other network analysis functionality. ...
- Leaflet
Leaflet is an open source JavaScript library for mobile-friendly interactive maps. It is developed by Vladimir Agafonkin of MapBox with a team of dedicated contributors. Weighing just about 30 KB of gzipped JS code, it has all the features most developers ever need for online maps. ...
- Mapbox
We make it possible to pin travel spots on Pinterest, find restaurants on Foursquare, and visualize data on GitHub. ...
- OpenLayers
An opensource javascript library to load, display and render maps from multiple sources on web pages. ...
- OpenStreetMap
OpenStreetMap is built by a community of mappers that contribute and maintain data about roads, trails, cafés, railway stations, and much more, all over the world. ...
- ArcGIS
It is a geographic information system for working with maps and geographic information. It is used for creating and using maps, compiling geographic data, analyzing mapped information, sharing and much more. ...
OSRM alternatives & related posts
- Open source2
related Valhalla posts
Google Maps
- Free253
- Address input through maps api136
- Sharable Directions81
- Google Earth47
- Unique46
- Custom maps designing3
- Google Attributions and logo4
- Only map allowed alongside google place autocomplete1
related Google Maps posts
A huge component of our product relies on gathering public data about locations of interest. Google Places API gives us that ability in the most efficient way. Since we are primarily going to be using as google data as a source of information for our MVP, we might as well start integrating the Google Places API in our system. We have worked with Google Maps in the past and we might take some inspiration from our previous projects onto this one.
We need some advice about the map services provider. We are a mobility app that just launched 5 months ago in Tunisia offering P2P carpooling. We are currently using Google Maps API for maps (Places API, Geocoding API, Directions API & Distance Matrix API). Thus, we received expensive bills from Google Cloud following the number of requests we are using. We are looking forward to reduce the number of requests in general because we can't afford these large bills at this stage, knowing that they are going to increase proportionally to the active users of the app. We tried to optimize multiple times but it isn't enough. We are searching for optimization advice or ideas on how we use the APIs, or other map providers (like OpenStreetMap or similar) that offers free or cheaper options than Google Maps, without lacking quality of information (we are in Tunisia and we have to choose options that have enough data about Tunisia). Thanks!
- Dynamic routing3
- Routing in the database1
- Open Source1
- Data changes are reflected instantaneously1
- Geospatial network analysis1
- QGIS plugin1
related pgRouting posts
Google Maps lets "property owners and their authorized representatives" upload indoor maps, but this appears to lack navigation ("wayfinding").
MappedIn is a platform and has SDKs for building indoor mapping experiences (https://www.mappedin.com/) and ESRI ArcGIS also offers some indoor mapping tools (https://www.esri.com/en-us/arcgis/indoor-gis/overview). Finally, there used to be a company called LocusLabs that is now a part of Atrius and they were often integrated into airlines' apps to provide airport maps with wayfinding (https://atrius.com/solutions/personal-experiences/personal-wayfinder/).
I previously worked at Mapbox and while I believe that it's a great platform for building map-based experiences, they don't have any simple solutions for indoor wayfinding. If I were doing this for fun as a side-project and prioritized saving money over saving time, here is what I would do:
Create a graph-based dataset representing the walking paths around your university, where nodes/vertexes represent the intersections of paths, and edges represent paths (literally paths outside, hallways, short path segments that represent entering rooms). You could store this in a hosted graph-based database like Neo4j, Amazon Neptune , or Azure Cosmos DB (with its Gremlin API) and use built-in "shortest path" queries, or deploy a PostgreSQL service with pgRouting.
Add two properties to each edge: one property for the distance between its nodes (libraries like @turf/helpers will have a distance function if you have the latitude & longitude of each node), and another property estimating the walking time (based on the distance). Once you have these values saved in a graph-based format, you should be able to easily query and find the data representation of paths between two points.
At this point, you'd have the routing problem solved and it would come down to building a UI. Mapbox arguably leads the industry in developer tools for custom map experiences. You could convert your nodes/edges to GeoJSON, then either upload to Mapbox and create a Tileset to visualize the paths, or add the GeoJSON to the map on the fly.
*You might be able to use open source routing tools like OSRM (https://github.com/Project-OSRM/osrm-backend/issues/6257) or Graphhopper (instead of a custom graph database implementation), but it would likely be more involved to maintain these services.
- Light weight32
- Free28
- Evolutive via plugins12
- OpenStreetMap10
- Strong community9
- Choice of map providers7
- Easy API6
- Alternative to Google Maps3
related Leaflet posts
Which will give a better map (better view, markers options, info window) in an Android OS app?
Leaflet with Mapbox or Leaflet with OpenStreetMap?
- Best mapping service outside of Google Maps28
- OpenStreetMap22
- Beautifully vectorable15
- Fluid user experience11
- Extensible8
- React/ RNative integration7
- 3D Layers5
- Low Level API4
- Affordable4
- Great customer support3
- Custom themes3
- High data volume rendering2
related Mapbox posts
Google Maps lets "property owners and their authorized representatives" upload indoor maps, but this appears to lack navigation ("wayfinding").
MappedIn is a platform and has SDKs for building indoor mapping experiences (https://www.mappedin.com/) and ESRI ArcGIS also offers some indoor mapping tools (https://www.esri.com/en-us/arcgis/indoor-gis/overview). Finally, there used to be a company called LocusLabs that is now a part of Atrius and they were often integrated into airlines' apps to provide airport maps with wayfinding (https://atrius.com/solutions/personal-experiences/personal-wayfinder/).
I previously worked at Mapbox and while I believe that it's a great platform for building map-based experiences, they don't have any simple solutions for indoor wayfinding. If I were doing this for fun as a side-project and prioritized saving money over saving time, here is what I would do:
Create a graph-based dataset representing the walking paths around your university, where nodes/vertexes represent the intersections of paths, and edges represent paths (literally paths outside, hallways, short path segments that represent entering rooms). You could store this in a hosted graph-based database like Neo4j, Amazon Neptune , or Azure Cosmos DB (with its Gremlin API) and use built-in "shortest path" queries, or deploy a PostgreSQL service with pgRouting.
Add two properties to each edge: one property for the distance between its nodes (libraries like @turf/helpers will have a distance function if you have the latitude & longitude of each node), and another property estimating the walking time (based on the distance). Once you have these values saved in a graph-based format, you should be able to easily query and find the data representation of paths between two points.
At this point, you'd have the routing problem solved and it would come down to building a UI. Mapbox arguably leads the industry in developer tools for custom map experiences. You could convert your nodes/edges to GeoJSON, then either upload to Mapbox and create a Tileset to visualize the paths, or add the GeoJSON to the map on the fly.
*You might be able to use open source routing tools like OSRM (https://github.com/Project-OSRM/osrm-backend/issues/6257) or Graphhopper (instead of a custom graph database implementation), but it would likely be more involved to maintain these services.
Which will give a better map (better view, markers options, info window) in an Android OS app?
Leaflet with Mapbox or Leaflet with OpenStreetMap?
- Flexibility15
- Maturity11
- Open Source8
- Incredibly comprehensive, excellent support7
- Extensible4
- Strong community4
- Choice of map providers4
- Low Level API3
- OpenStreetMap1
related OpenLayers posts
- Simple22
- Free17
- Open-Source9
- Open-Data7
- React/ RNative integration1
related OpenStreetMap posts
We need some advice about the map services provider. We are a mobility app that just launched 5 months ago in Tunisia offering P2P carpooling. We are currently using Google Maps API for maps (Places API, Geocoding API, Directions API & Distance Matrix API). Thus, we received expensive bills from Google Cloud following the number of requests we are using. We are looking forward to reduce the number of requests in general because we can't afford these large bills at this stage, knowing that they are going to increase proportionally to the active users of the app. We tried to optimize multiple times but it isn't enough. We are searching for optimization advice or ideas on how we use the APIs, or other map providers (like OpenStreetMap or similar) that offers free or cheaper options than Google Maps, without lacking quality of information (we are in Tunisia and we have to choose options that have enough data about Tunisia). Thanks!
Which will give a better map (better view, markers options, info window) in an Android OS app?
Leaflet with Mapbox or Leaflet with OpenStreetMap?
- Reponsive7
- A lot of widgets4
- Data driven vizualisation4
- Easy tà learn2
- 3D2
- Easy API1
related ArcGIS posts
Google Maps lets "property owners and their authorized representatives" upload indoor maps, but this appears to lack navigation ("wayfinding").
MappedIn is a platform and has SDKs for building indoor mapping experiences (https://www.mappedin.com/) and ESRI ArcGIS also offers some indoor mapping tools (https://www.esri.com/en-us/arcgis/indoor-gis/overview). Finally, there used to be a company called LocusLabs that is now a part of Atrius and they were often integrated into airlines' apps to provide airport maps with wayfinding (https://atrius.com/solutions/personal-experiences/personal-wayfinder/).
I previously worked at Mapbox and while I believe that it's a great platform for building map-based experiences, they don't have any simple solutions for indoor wayfinding. If I were doing this for fun as a side-project and prioritized saving money over saving time, here is what I would do:
Create a graph-based dataset representing the walking paths around your university, where nodes/vertexes represent the intersections of paths, and edges represent paths (literally paths outside, hallways, short path segments that represent entering rooms). You could store this in a hosted graph-based database like Neo4j, Amazon Neptune , or Azure Cosmos DB (with its Gremlin API) and use built-in "shortest path" queries, or deploy a PostgreSQL service with pgRouting.
Add two properties to each edge: one property for the distance between its nodes (libraries like @turf/helpers will have a distance function if you have the latitude & longitude of each node), and another property estimating the walking time (based on the distance). Once you have these values saved in a graph-based format, you should be able to easily query and find the data representation of paths between two points.
At this point, you'd have the routing problem solved and it would come down to building a UI. Mapbox arguably leads the industry in developer tools for custom map experiences. You could convert your nodes/edges to GeoJSON, then either upload to Mapbox and create a Tileset to visualize the paths, or add the GeoJSON to the map on the fly.
*You might be able to use open source routing tools like OSRM (https://github.com/Project-OSRM/osrm-backend/issues/6257) or Graphhopper (instead of a custom graph database implementation), but it would likely be more involved to maintain these services.