Open Source Routing Machine (OSRM)
planetiler
Our great sponsors
Open Source Routing Machine (OSRM) | planetiler | |
---|---|---|
19 | 30 | |
6,074 | 1,149 | |
1.6% | 4.9% | |
7.0 | 9.3 | |
23 days ago | 7 days ago | |
C++ | Java | |
BSD 2-clause "Simplified" License | Apache License 2.0 |
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.
Open Source Routing Machine (OSRM)
-
Easiest way to calculate distances between multiple locations?
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?
-
Using R to Cluster Points by Road Networks
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
-
Troubleshooting OSRM
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)?
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
> 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
This is a 30 second exercise on OSRM, or any other service that provides directions.
-
There should be a “safe mode” on google maps.
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
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.
planetiler
-
Protomaps – A free and open source map of the world
Worth mentioning this project (https://github.com/onthegomap/planetiler) that lets you create osm mbtiles and pmtiles pretty easy!
-
Radar Maps: $0.50 per 1K map loads
For a self-hosted vector tile stack you can have a look into https://github.com/onthegomap/planetiler I found it very easy to get started and when you know the other stacks it is also very fast to create these vector tiles even for planet-scale.
(note, that I'm not affiliated with them, but they use some source code from us for the efficient import and also contributed to GraphHopper, but this did not influence my experience ;) )
> I wonder why so many seem to be moving away from raster tiles to vector data.
The flexibility of styling. And you can easily serve customers that need different default languages. This makes maps also more accessible for countries without Latin alphabet.
-
I honestly don't like using most Openstreetmap websites: slow, clunky. Is there a better way to do this faster on my own desktop?
I used https://github.com/onthegomap/planetiler and https://download.geofabrik.de, maybe it helps.
- Mapping LA's Soft-Story Building Earthquake Retrofits [OC]
- Mapping LA's Soft-Story Building Earthquake Retrofit Program [OC]
-
SQLite performance tuning: concurrent reads, multiple GBs and 100k SELECTs/s
I spent a while optimizing sqlite inserts for planetiler, this is what I came up with:
https://github.com/onthegomap/planetiler/blob/db0ab02263baaa...
It batches inserts into bulk statements and is able to do writes in the 500k+ per second range, and reads are 300-400k/s using those settings.
-
How The Post is replacing Mapbox with open source solutions
Checkout https://github.com/onthegomap/planetiler.
Super easy way to generate a MBTiles, which you can then serve directly, or further convert to PMTiles, which can be used to host vector tiles for client-side rendering using MapLibre (or other renderers).
Raster tiles are a lot harder because you have to generate them on the server, and that's a lot more resource intensive.
-
Self-Hosted Vector Tiles
I built planetiler (https://github.com/onthegomap/planetiler) for this purpose. The output up to z14 is ~80gb and depending on how big of a machine you have it takes from 30 minutes up to a few hours - no DB required, just java or docker. If you are only going to z11-12, it should be quite a bit faster/smaller.
Brandon from Protomaps is also helping add pmtiles output natively to planetiler, so you won't need a conversion step afterwards!
-
Does anyone know where to find the global raster set of buildings??
It's not raster directly, but you could use planetiler ( https://github.com/onthegomap/planetiler ) to build a full planet vector map . Then you could use something like TileServer-GL to server the vector map with a style. TileServer-gl ( https://github.com/maptiler/tileserver-gl) would provide a raster source that displays in the style you set on your vector map.
-
Ask HN: Who wants to be hired? (January 2023)
I recently left Twitter after 9 years, most recently serving as tech lead for the knowledge graph group (was 45 people). I helped apply the KG to drive a large portion of Twitter’s revenue and new product launches. In my spare time I do data visualization and web mapping, most recently https://github.com/onthegomap/planetiler
What are some alternatives?
openrouteservice - 🌍 The open source route planner api with plenty of features.
openmaptiles - OpenMapTiles Vector Tile Schema Implementation
valhalla - Open Source Routing Engine for OpenStreetMap
openmaptiles-tools - Tools to turn the schema into other formats
OpenTripPlanner - An open source multi-modal trip planner
tilemaker - Make OpenStreetMap vector tiles without the stack
Nominatim - Open Source search based on OpenStreetMap data
sequentially-generate-planet-mbtiles - Generate vector tiles for the entire planet on relatively low spec hardware.
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.
headway - Self-hostable maps stack, powered by OpenStreetMap.
OsmAnd - OsmAnd
operations - OSMF Operations Working Group issue tracking