Maps.earth – free and open-source web maps (about.maps.earth)
Right now the full-planet demo server is in Germany and lives at [1]. A brief explanation is at [2]. I'm hopeful that the project will continue to improve with time and eventually end up being a real contender in the web maps space. I'm talking with folks about the potential for getting some more robust hosting options too which is very exciting.
For the moment though, Headway has some usability issues. It's missing ETAs, has no steps list for directions, or proper geocoding search results page, etc. I'm going to get to these issues with time, but please drop me a line if you're interested in helping out. Especially interested in help with web frontend, design, or internationalization. Development takes place on GitHub [3] and discussions tend to happen in the matrix room [4].
116 comments
[ 3.5 ms ] story [ 185 ms ] threadIs this a route planning built on top of OSM? Does this bundle OSM data "all in one" so that you can more easily host an OSM server?
Edit: To the comments telling me I'm wrong about this, remember that Headway has a geocoder and routing system, along with a transit trip planner (currently disabled on maps.earth though). These are not things you could get with off-the-shelf solutions that include a GUI until now. I also want to self-host my mapping software for privacy reasons, and Headway makes that easy too. I probably need to be better about explaining what all Headway does that's different than just bringing up an OSM tileserver though. Thank you all for the feedback :)
It would be great if this could be stated on the page.
I kept hackernews open in order that someone would explain to me what this actually does. Your comment thankfully fullfilled this.
They also heavily discourage bulk downloading tiles so I'm not sure if you're that much better off building your own tile server.
I can promise you that there's no one-line replacement for the work I've done here unless you want to go out and pay for a closed-source product.
OSM is amazing, for sure, but standing up even a small OSM service that only services a map in your local town/city/community is too daunting for most people (myself included).
Considering there are many other comments in this thread that mirror my main question, I would try and figure out messaging. Is it a particular tile rendering on top of OSM data? Is it trip heading information? Is it helping people stand up self hosted OSM servers? Is it helping with just a few components of that process? If so, which components? etc.
It's hard to know what the "value add" is here and a lot of this is my own ignorance on how the OSM ecosystem works but that's kind of what I would recommend trying to convey to people.
I wouldn't assume deep familiarity with OSM. I would like to hear more, especially concerning tools to help stand up a self hosted OSM server more easily, as I would suspect many other people would, but it would be nice to have some basics spelled out instead of assuming I have deep familiarity with the sprawling and intricate OSM ecosystem.
I think that’s already the wrong way to think about it. For some reason that I do not comprehend, OSM comprises at least 3 different file formats, and 5 or 6 different ways to store that data.
When you ‘set up an OSM server’, what you really do is pick one of the storage methods, and then import the data with one of a variety of tools that were built over the years (and are probably compatible with only one or two of the storage methods each).
Seriously, the OSM ecosystem is a clusterfuck. Anyone that aims to standardize it into something easy to deploy has my full support.
https://github.com/stevage/saltymill
Yeah, it's a pain in the arse getting all the bits together. And I wasn't attempting full planet scale.
> Self-hostable maps stack, powered by OpenStreetMap.
In addition to listing out some of the required specs (for a localized area) [1]:
> ... generation ... needs ... 8GB of memory ... running ... around 4GB ...
> ... recommend ... 50GB ... disk space
[0] https://github.com/headwaymaps/headway
[1] https://github.com/headwaymaps/headway#system-requirements
Also for full-planet requirements, the OVH box running maps.earth has 64GB of RAM and 6 physical cores and is really struggling right now. Load average is about 40, most its CPU time is spent on the Valhalla service. Really enjoying watching the metrics right now :)
Regarding the route shapes I can only guess: we use an encoded polyline as default for a very compact response. You can either disable this or use our JavaScript library, or there is a new UI https://github.com/graphhopper/graphhopper-maps
Regarding routing parameters: our custom_model approach is more powerful than simple parameters and still not complicated: https://www.graphhopper.com/blog/2020/05/31/examples-for-cus... See e.g. the several bike examples and see how to get an world wide instance up and running: https://www.graphhopper.com/blog/2022/06/27/host-your-own-wo...
In recent master you can additionally control how elevation influences your route (e.g. prefer or avoid them entirely or steep sections or similar)
The main issue with updating regularly is going to be that long-term I can't really afford a beefy enough machine that has a fast uplink to Cloudflare where my artifacts are hosted. Getting all of the planet-sized artifacts uploaded even just this one time was a huge pain. I ended up having to generate them on my desktop, ferry the data to a friend's house on a laptop via motorcycle and upload them from there. This is one of the things that I want to help remedy if I get enough support via Liberapay or GH Sponsors.
I presume you can do something similar for the daily and minutely updates, but I imagine merging that with the existing stuff is more work.
[1] https://maps.earth/place/openstreetmap%3Avenue%3Away%2F12903...
[2] https://maps.earth/directions/bicycle/openstreetmap%3Avenue%...
You need to bring Who's on First data in to support administrative areas, it won't use admin areas from OSM. This is a bit of a technical choice (WOF has some nice features like stable IDs and a rich hierarchy, and a data format that's much easier to work with), but also the result of the Who's on First project and Pelias being developed together while we were at Mapzen.
Don't hesitate to reach out to us if you need help getting things set up.
Is this something that could be added? I don't mind doing a bit of legwork if need be. This is important enough that I'm willing to throw a few weeks at implementing it.
The pelias.json for this instance is at: https://publicdata.ellenhp.workers.dev/planet-v1.16.pelias.j...
I'll go double check that the placeholder container is operating correctly, actually. :)
Congrats on all the progress in 3 months!
Do you think Headway could be a replacement for us? We currently use the Mapbox JS library to create the pins etc. - could we use Headway with Leaflet JS for example? We also use the Mapbox geocoder, mainly for reverse geocoding of addresses. How does Headway's geocoder compare?
0: https://github.com/mapzy/mapzy/
It’s also actively maintained and has a strong community behind it.
0: https://github.com/maplibre/maplibre-gl-js
[0] https://deck.gl/
Our bill last year was $80k and honestly its right on the cusp of being worth the effort to switch.
You might be able to pay someone from the project to help you switch. A nice way to give back and it will probably be a smoother transition.
[1] https://wiki.openstreetmap.org/wiki/Nominatim
Sick phone though I'm a little bit jealous :)
Is it just me (Firefox on Android) or does the UI really not allow tapping landmarks (shops, restaurants, subway stations)?
Also, directions don't seem to work right now (infinite loading) but I suppose this is due to the server receiving the HN hug of death right now.
By the way, for anyone looking for the mobile (non-web) version of this: Organic Maps is a fantastic frontend for OpenStreetMaps (and of course there's the good old OsmAnd, though I like Organic Maps better these days).
The website doesn't seem to work for me either on mobile.
Headway is much much more responsive on a local scale than it is in https://maps.earth/ and the search results are more relevant too. My own personal instance for Seattle has largely replaced Google Maps for me. :)
Whenever I've looked into other projects for this it's either focused on rendering tiles from Mapbox data (where not all the OSM tags -- especially not MTBing ones -- are available) or really old info or presumes that someone else will be generating tiles.
It's going to be somewhat tricky because of a few mediocre decisions I made early on in the development process, but if you were up for helping out I'd love to get a bring-your-own-style experience working in Headway. Long-term, I want to add the ability to easily brand Headway and customize it for your own needs without forking it.
What are your thoughts on the feasibility/benefits of using a p2p system like IPFS to share OSM map/tile data between users, rather than serving from one centralized server?
https://github.com/headwaymaps/headway#system-requirements
At runtime tiles are served over the wire but everything else happens server-side. So it's a bit of everything :D