Hacker News new | past | comments | ask | show | jobs | submit login
Switch to OpenStreetMap (switch2osm.org)
500 points by chippy on Dec 12, 2019 | hide | past | favorite | 203 comments

Ok.. i want to serve tiles... ok, I go here: https://switch2osm.org/serving-tiles/

First option (Build a tile server using packages) ... i click on it.. ubuntu packages... i don't have ubuntu here, let's go back.

Second option (Build a tile server from source), takes me here: https://switch2osm.org/?page_id=76 ... where is the documentation? How do i build it from source?

Ok fsck it, let's try the "all in one solution"... https://switch2osm.org/serving-tiles/using-an-all-in-one-sol... ... "Page not found"

So.. either install ubuntu, or figure it out by myself?

I tried to build my own OSM server a couple months back. I quickly abandoned when I discovered that the amount of processing to import their world map data file in Postgres would require several months (desktop Core i7 3770k / 16 GB ram but a 7200 rpm hard drive since there wasn't enough space on my SSD).

For a world map server you would need a beefy machine to make it less painful, something like 64 GB ram, multi nvme ssd and countless cores.

I wish they offered a Postgres dump of it.

Hmm, I run a handleful of OSM servers with similar specs and it takes a little a day or 2 to import the world to a HDD. Here's some benchmarks. It definitely helps to have a beefy server: https://wiki.openstreetmap.org/wiki/Osm2pgsql/benchmarks

A Postgres dump would be massive.

> A Postgres dump would be massive.

Indeed - it inflates to hundreds of GB during my import process.

> the amount of processing to import their world map data file in Postgres would require several months

I'd be surprised if this were indeed the case, even on spinning disks. Did you use the pbf export? I can load it in two or three days using osm2pgsql on my home desktop (albeit with SSDs). On the £10k+ work server it loads in about 24 hours.

The issue with providing a Postgres dump is that people often want different things from the output data, and the choices made during the import might rule out certain uses.

osm2pgsql ran a few hours for the first phase, then I let it run a couple days on the second phase (there are 3 phases IIRC).

I then calculated how long it would take to finish the second phase according to how much it had accomplished in those few days and I calculated that I would have to let my PC on until December 15 (it was back in September or October I think).

FWIW, I have been doing exactly this in the past few months, importing planet data using osm2pgsql.

It takes about 18 hours to import the whole planet onto a E5-1650v3 server, with 256GB RAM and a 1TB SSD. 128GB RAM would certainly have sufficed. The number of cores doesn't actually matter much. I've never seen it use more than 8 cores, even when I ask it to use far more.

Looks like the "Second option" link should point here: https://switch2osm.org/serving-tiles/manually-building-a-til...

The "all in one solution" link used to point to TileMill, which is no longer maintained: https://wiki.openstreetmap.org/wiki/TileMill

Good feedback, but FWIW I do believe that a docker container with Ubuntu is a no brainer. Sure policies might forbid it.

Hey I remember explicitly trying this option and the osm2pg instance died consistently after running for 4 hours. I could never figure out why. I worked on it for 4 days with no success.

I have no earthly idea how to get this to work.

Have you tried with a small extract or full planet? Processing entire dataset takes quite significant hardware, it is likely that you run into performance issues.

You might want to try with a small extract first, see how that goes.

I had this same thought.

We were building a HIPAA compliant app a few years ago. OSM looked like a good option and fit a lot of our requirements. Then I looked into actually using it and ran.

To me, it seems like there's a huge opportunity for OSM or a third party to run a managed OSM instance.

There are plenty of companies offering hosted OSM Tile servers, or are willing to install the software on your server

There are quite plenty of them.

Pardon my ignorance, but I'm wondering if anybody has experience with running OpenGIS in Postgres with one of the supported mapping servers listed on their about page? (https://postgis.net/features/)

I looked at this for a POC but was notably out of my depth and gave up. I'm not sure exactly how the tileserver OSM provides differs from the mapping servers in the link above.

I have, a few years ago. Unless things have changed dramatically, I would plan to have one full-time person work for a couple weeks to set this up, and a few weeks more if you want to set it up in a way that the map updates automatically over time. Doc is often out of date, some of the tools are unstable, the amount of data to wrangle is not trivial, and checking that your map is ok is actually not that easy, eg you might not find out immediately that the coastline is cutting across some random city in some corner of Asia.

Still, judging by the parent comment, it sounds like setting up a tile server in OSM isn't exactly trivial. Rather than editing, In my comment above, I meant PostGIS, not OpenGIS.

Anyway, I was interested in this at the time for a hobby project and (rightly) decided the effort would not be worth it. Thanks for the insight!

Depends on the level of effort you want to put into it. I've been working on a hobby project with PostGIS recently, and I've found it very easy to get started (a few hours to get PostGIS running + import just the UK's dataset using osm2pgsql). But it's taken me months to get to a point where I'd say I'm pretty experienced with it.

Awesome, thanks for the tip. Osm2pgsql looks very interesting, the docs lead me Mapnik which is pretty much what I was looking for.

Importing OSM data into PostGIS is mostly painless with imposm3, probably because it's actually documented, unlike most other pieces in the tile-serving stack. The biggest hurdle is probably understanding both the OSM and SQL way of thinking.

Interesting, a cursory glance at the git repo for imposm3 looks promising. Which also lead me to https://mapproxy.org/ which the maintainers of imposm3 also created.

I understand your comment about sql thinking, in my day-to-day work I'm a bit of a reluctant sql developer (shudders in procedural spaghetti) but am gaining appreciation for being able to hand off aggregations and calculations to the db.

> First option (Build a tile server using packages) ... i click on it.. ubuntu packages... i don't have ubuntu here, let's go back.

I threw in the towel and switched my server builds to ubuntu this year for this reason.

> Ok.. i want to serve tiles

The easiest way is to use Maperitive — freeware OSM render app (for live rendering or for generating tiles on own PC).[0]

[0] http://maperitive.net

Ubuntu is the Internet Explorer of Linux distributions unfortunately.

Ubuntu is the Mozilla of Linux distributions and MacOS the Explorer.

If you're running a publicly facing service you should probably be competent enough to administer it yourself.

But they say explicitly

> If you are setting up your own tile server, we recommend that you use Ubuntu Linux.

> i don't have ubuntu here

What you have?

You are complaining that a FREE service that provides you with content while also respecting your privacy is not good enough for you.

He's complaining that the website seems to be either broken or missing necessary information. He's allowed to complain about that.

Allowed by who? I'm not talking about being prohibited to do so.

Such complaints are very useful! I am one of people involved in OSM and added this thread to my TODO to look for easy-to-fix problems.

allowed by morals and similar metrics for "justified complaining"

It's not very difficult to install Ubuntu in a VM or spin up a cloud based instance. The bigger problem is their packages work on at latest Ubuntu 14.04, which is unsupported since April and I'd guess there will be a lot of incidental bitrot that may make getting it running unpleasant.

But none of this matters, looks like there are several Docker based tile servers, which are a relative breeze to set up on any operating system.

> It's not very difficult to install Ubuntu in a VM or spin up a cloud based instance.

I don’t think that is the point OP was making. If you’re even remotely thinking about running a tile server, you’d be able to spin up a VM of Ubuntu.

Has bug-correcting editing improved over the years? We use OSM quite a bit in the public sector because they aren’t snooping. Three years ago one of our internal routing systems broke because someone had reported the street leading up to our administration center as a one-way street in the wrong direction.

This meant our 7000 employees couldn’t get compensation for any work related driving, and we couldn’t submit the correct tax-records.

When I submitted my correct edit, I was banned because my account was new and I had submitted a evidence from our internal street planning system, where we mapped the direction of the street, which is proprietary to us. Heh, it took two weeks to get it fixed after that because every subsequent edit got denied. Which felt kind of silly, considering it was my department who decided the street should become a one way street in the first place. Really needed a “verified” account system.

Considering I haven’t needed to correct anything since is a testament to its quality though.

Puzzled by this. It's really really unlikely that you got a ban for one editing error. You can see the list of blocks at https://www.openstreetmap.org/user_blocks and actual bans are only imposed for _repeated_ vandalism, edit-warring or copyright infringement. Short-term user blocks are generally imposed if the user isn't responding to attempts to contact them.

Do you have a link for your changeset and what happened?

Wow, the documents for the user blocks are very thorough. Here is a fun snippet that (blocked) user sorein sent to the OSM Data Working Group:


It sounds like some kind of checkpoint/release system for the map could have saved you there. For example, you set your system to use the 2019-01 epoch of the map or whatever, you'll be guaranteed to not have any surprise changes until next time you update checkpoint.

Couldn't you have just tried contacting the editor who reversed your edit? I have had only one issue ever since (effed up a public transport relation - that got sorted out by mail, and now we're friends in real life), but my account is also almost a decade old now.

That seems like copyright problem, which is really important.

Yes, maybe moksly gave a link to a non-free system. Given that it is their workplace they could just have commented "local knowledge" or referred to images they had put on e.g., Mapillary.

> banned because my account was new and I had submitted a evidence from our internal street planning system, where we mapped the direction of the street, which is proprietary to us

This sounds like a copyright issue. OSM is not accepting copyrighted data on incompatible licenses.

Timely. Just started a project to document Bosnia and Hercegovina's remaining minefields on OSM. The build system consumes PDFs from the European Union Force as they are updated, georeferences them and pushes the features to OSM. Many tile sets on live maps are updated within the week!

> Just started a project to document Bosnia and Hercegovina's remaining minefields on OSM.

That's brave - one bug and you could have people walking into a minefield that you've told them was somewhere else.

Arguably better than nothing—kudos to nathancahill for doing something genuinely meaningful.

Also arguably worse than nothing as it could make people living in the area more complacent.

In this case, I think it really depends on the use-cases and whether proper warnings are displayed.

I mean, you wouldn't just drive in to a lake if it wasn't on your map.. https://www.youtube.com/watch?v=DOW_kPzY_JY

Yeah, but the first rule for hiking through the countryside in war torn regions like Bosnia is to avoid known areas of conflict (the war ended in 1995., so memories are fading) and known (or suspected) minefields.

This helps a lot, but it's not a replacement for brain.

Definitely doesn't denote the absence.

They're already quite clearly marked, it's just that there's no digital map of them.

People using it should know that it cannot be 100% complete.

When using OpenSea map or any other nautical chart I understand that just because some rocks, wrecks, etc are marked there is no guarantee, that there cannot be more.

He is not marked area as "cleared of mines"

I worry more about e.g. defibrillators. They might break or be removed af being put on OSM, and we do not want people running the wrong way when time is short.

Do you have a website or are the mines (or minefields) already in osm(and)?

There are a few on OSM, maybe 5%. Don't have website since it's just a one man effort, basically a cron job that runs nightly on a server. Might spin up a little website with docs/information.

Nice, maybe a link to a location where the mines are? I think this is great initiative that makes the world safer.

Edit: I'm now on some NSA list, aren't I? Hi guys! Just finished Snowden's book, it was great!

You might want to consider proposing a sub-tag for military=danger_area specifically for mines. Eventually maps can choose to add rendering like a mine icon in addition to the danger area markings.

I would suggest adopting hazard=minefield (in addition to the other tags you use) for use on paths/roads/routable objects going over or skirting the minefields as well. The hazard-tag is a proposal, but has been used in the field a good number of times (coincidentally, a few times in Serbia).

Yes, new areas added by this system will have hazard=minefield.

Very cool, thanx.

I’d certainly be interested in information about how it works - I’m sure many others would be interested in reading too

Do you georeference them by grid coordinates and corners of the map or are doing something not so simple?

Yes, using the topo map grid lines.

Do you mind sharing how you became interested in/got started on such a project?

I do map-related consulting full-time and use OSM heavily, both for work and for mountaineering. Currently living remotely in the Balkans and saw the need.

Would it be possible to have the European Union Force update OSM directly?

I have a meeting with them tomorrow to ask them, but I'm not hopeful. The current setup is fairly low-tech on their end.

Good luck for your meeting! They might have at least georeferenced source files, no? You might have an easier time convincing them to work with you if you point out that this is the best and easiest way of getting the location of the mine fields into many people's phones and pockets.

Thanks. Georeferenced files, raw data, and using OSM directly are the 3 asks.

How did your meeting go?

Let us know if there's anything we can do to help.

> pushes the features to OSM

Do you have any more documentation on what you're doing, how you're doing it? That sounds interesting. Any OSM Wiki page about the project?

I'm writing up some docs with info. I'll send you a link.

For anyone that doesn't know, it's trivial to load OSM onto a Garmin GPS and use is for turn-by-turn navigation, for free.

I've used it in over 40 countries (including Africa, Europe, North America) and it is staggeringly complete and accurate. From the mega capital cities to the tiniest village, it has every single dirt track, school, hospital, gas station, roundabout, intersection, etc. etc.

I can count on one hand the number of times it hasn't been utterly perfect in 4 years of driving around 90,000 miles through 40 countries.

I have no idea how the maps can be so shockingly good in rural Ivory Coast or Burundi, but they are.

Website design is lacking, but I use http://garmin.openstreetmap.nl/ to download routeable data when traveling.

Some countries are mapped poorly in OSM. Examples are: Mongolia and Cambodia. Many roads and buildings are missing.

Interesting, like I said I've never seen a country that isn't shockingly good.

I travelled extensively in 35 African countries - including a bunch you wouldn't expect to get good data for like The DRC, Burundi, Sudan, Mali, Gambia, Djibouti, Ethiopia, etc. As well as Belgium, France, Spain, Canada, USA

I lived for one year in Cambodia. Major roads are mapped, so you can generally navigate, but lots of small streets and roads are missing. Also, even in the capital most of the buildings are not mapped. I've mapped a few buildings and streets but didn't have time to do a lot. Also, it's incredibly hard for a foreigner that doesn't know Khmer language.

Mongolia is poorly mapped on all maps, not just OSM. But OSM coverage was the poorest about one year ago. Don't know if it is improved since then.

It's pretty bad in my city in the U.S., or at least was a few years ago when I last tried to volunteer some editing time. Guess I should look again.

I just drove 35,000 miles around the US this summer through about 30 states, and OSM had absolutely every single road, intersection and detail I could ever hope for perfectly mapped. I used it solely for navigation in a ton of places I've never been before, and it was brilliant.

What do you see lacking in your city?

Things may have changed, but two notable omissions at the time: a restaurant that had been there for 30+ years, and the post office closest to me.

You can make it better!

I have tried. But it's very difficult if you're not local.

Is there a way to use that in build in car GPS? Like Toyota Prius 2015?

Is there a way to do it for a Auto head unit? I would love to try using OSM in my car.

Do you know if there's a way to do this with built in garmin navigation in cars?

If the Garmin in your dash has a memory card slot, or someway to update the maps, then likely yes.

Eh, I wouldn't be so sure there. Not sure if Garmin OEM stuff is any different, but many factory head units only load maps signed by the manufacturer.

Awesome will have to do some investigation.

Any recommended Garmin model? When I check the OSM site, the information seems some what sparse.

I've tried over and over again to switch to OSM but everytime I've reverted back to Google Maps and Citymapper. I've even contributed to OSM to fix bits I'm around but it's hard.

I don't drive so I rely heavily on public transport, and so for me that's the biggest selling point for any such tool. Unfortunately I've yet to find an OSM app that can do this in a useful manner as Citmapper and Google do. Unfortunately the data is just not there, and when looking through the issues of AndOSM, it feels there is a lot the developers just don't want to bother implementing (and in one scenario, someone had raised a PR but they refused to merge it). Granted, some issues are due to licensing, but many are quite important from a usability point of view.

It's been a while since I last time tried AndOSM, or OSM on it's own for that matter, so unfortunately I can't remember the specific cases.

Maps.me is what finally has allowed me to mostly switch with offline maps, good routing, and support for all modes of transit I use consistently.


OSMand+~ is a much faster smartphone client, that cares about your privacy and doesn't spam you with ads.

You can find it on osmand.net, the F-Droid repository and the Play/ios store.

There is an ad-free version of Maps.me. It is on F-Droid under the name of simply "Maps". I would recommend it to ordinary users who might be daunted by OSMAnd's somewhat arcane interface.

I find the interface to be really powerful once I got accustomed it, took some time though. I use it for hiking, motorcycling, measuring distance, searching places and public transport, etc. Its easily one of my most used apps on my mobile

It's very powerful, but, as a result, very stuffed and overwhelming. It's a significant barrier to entry. I've seen it several times.

There is definitely a place for a much simpler app, that focuses on the most important features and ease of entry.

I agree, i also saw it happen even with technically minded persons - but I really hope they don't take away that powerful interface from me. I find it invaluable since I got the hang of it.

I actually switched to Maps.me (F-Droid's "Maps", technically) for most uses because OsmAnd's renderer is a lot slower, what did you mean by "much faster"?

I do use OSMand a lot for my bicycle tours. I download the map for the area and keep the phone offline so nobody bothers me and the battery lasts longer. However when planning the itinerary I keep looking at the satellite view of Google Maps because I want to get an idea of the terrain and of what the streets and intersections really look like. Then I place markers on OSMand and use them when I'm cycling. Using OSM and nothing else would give me many surprises on the road.

Unfortunately it looks like they may share your data with third parties, which includes their parent company, mail.ru. I personally don’t trust them.

There's an open source version of Maps.me with no tracking on Fdroid for those on Android. It's called "Maps" https://f-droid.org/en/packages/com.github.axet.maps/

Oh wow, I wasn’t aware of this. I will definitely be re-evaluating them…

I switched from maps.me to osmand recently after I found out about the 20 tracker dependencies on the Exodus Privacy app. osmand has zero trackers and so many cool features that I use. Love it :)

There's a version that removes "ads and binaries" on F-Droid: Maps (Offline OpenStreetMap maps) - https://f-droid.org/app/com.github.axet.maps

Since there seems to be some skepticism about them, I want to recommend this app, that my partner uses and likes, and that claims to be based on maps.me while having removed all advertising and binaries.


If I look for bus stations, select United States of America as country (would have been nice if it geo-located my IP address here) and try to pick the 'locality', for 'San Jose' it offers only "San Jose/Northern Marina Islands", "village Hacienda San Jose (Puerto Rico)" and "village San Jose (Illinois)". Wonder why people think the Internet centers around the SF Bay Area ...

have you tried OsmAnd https://osmand.net/? I'm using it for years, travelling around the world when i need to have offline maps with me and it works good most of the time. I'm not saying it's the best and the fastest map, but it helped me tons of time to find an A-> B route - being a pedestrian, a cyclist or travelling by a public transport

The biggest drawback for me (coming from someone who exclusively uses OsmAnd for nav) is the lack of geocoding. I can't just type in an address and get a reliable destination pin to navigate to, instead I have to paste the address into a website that will convert it to lat/long first and then use that to drop the pin. That's the main issue that prevents me from recommending OsmAnd to people like my wife who are happy using Google or Apple and unwilling to compromise for the sake of principle.

OsmAnd does provide geocoding, but perhaps the address data has been lacking in the areas where you tried it?

If you click the search button in the map view you're shown a keyword input field and 3 different tabs below (recent hits (this is the default), category and address), the first two search in a "keyword" mode, only if you switch to the address bar, it'll conduct a distinct address search.

I've tried this previously, and it seemed to be able to narrow it down to a particular street, but not a specific address. In the case of my address (in TN, USA) the first item in the list of results is just my street and the pin drops almost half a mile from my actual house.

However, just looking at it again now I see there's an "Online Search" button if you scroll to the very bottom of all the search results which seems to properly geocode the exact address. I'll have to play with it more to judge how accurate it is, but that's a convenience I wasn't aware of before.

Geocoding works perfectly fine for me, especially for simple addresses. Where did you use it?

I have, although I seem to have mistyped it as AndOSM.

This seems to be targeted at developers moving their apps away from Google and towards OSM. I do agree though that for a consumer, there isn't a good general transit OSM based app that competes against the private ones.

I've been using OSM data for a side project I've been working on (an app to find "green" running routes, avoiding busy roads and preferring trails/rivers/parks, and optionally meeting some minimum target distance).

It just would not have been possible without OSM's data, full stop. The tag data associated with each road ("way" in OSM parlance) is invaluable, as is the ability to work with all of this information on a planet-scale in a single database (I use osm2pgsql to import the whole planet into a single box with 256GB RAM, and have plenty of headroom to run my app on top of that too).

The APIs provided by Google Maps and Apple Maps do not provide the functionality I want, even if I could pay their massive fees. Additionally, Google Maps' mapping of trails is much worse in my experience.

Whilst the data is far from perfect in some areas, I am still extremely grateful that OSM exists, and will now make a donation via https://donate.openstreetmap.org/

Not sure if you already know this, but you could also use data on whether the streets are lit or not. OSMAnd uses this for example

Funnily enough, that is one of the features it already supports (avoiding unlit streets). Another one is avoiding especially hilly routes.

Is "hilly" a simple binary indicator on each street (or section of road) or is there an entire layer of elevation data included in the world data?

In my app, yes, it's a binary flag. But in the underlying data you can get detailed elevation data for every section of road worldwide that is readily usable in open source routing engines. GraphHopper supports STRM and CGIAR (two different data elevation data sources, available globally and free to use).

SRTM is pretty bad, but good enough until height data is easier to work with.

There are also some nice services using OSM data. E.g. one of my friends runs the opencage geocoder which uses open data. Also there's at least one good navigation product out there (graphhopper) that I know about. There are several companies providing map tiles. And depending on what country you are in, OSM data may actually be superior. E.g. OSM data in Germany is ridiculously detailed compared to just about everything else. Lots of slums have detailed OSM maps when most other provider just show a blank space.

If you stare a lot at maps for the Bay area, this is about as good as it gets for e.g. Google and Apple maps. Don't assume you get the same level of detail everywhere. Making maps is complicated and expensive. OSM is pretty competitive in many places and the best there is in quite a few other places. And if that's not the case, the locals can fix it, if they want to.

I evaluated OSM for an AR real-world strategy game (like pokemon go) I was building years ago (terramango.com), as implementing it would have saved hundreds of thousands of dollars. Problem with it in the US is that so many places don't have parcel boundaries, and if they do, they are often pretty far off from reality. We ended up using Google Maps (cost wasn't an issue yet because we were only in a private beta stage) and negotiated a limited free trial for parcel data from a private supplier. The private supplier scrapes county records (some of which are only available in person, and other countries charge a fee for access) and their records almost always lined up with Google's parcel boundaries, OSM did not.

Other countries I randomly spot checked did seem to have great OSM records though.

OSM should be big enough to scrape their own parcels / subscribe to someone who does at this point.

I wonder if this is still an issue... AR RTS is my use case as well, and the mapping is obviously a huge component.

I think Pokemon Go switched to OSM a couple years ago, didn't they?

> OSM should be big enough to scrape their own parcels / subscribe to someone who does at this point.

You do realise OSM runs on like £50,000 per year, and has basically sorta one employee? it's not that big!

Pokemon Go doesn't need individual parcel data the way we did. They only needed a few points of interest (lat, lng), whereas we needed geometry data for every parcel with a building on it.

I love using OSM, but when pointing non-geeks towards it the experience of openstreetmap.org is not the best.

Myself I am a happy user of maps.me as an app (even paying user before they were acquired) and have built tons of toy tools around it (basically whenever I need to do a tech demo I use osm data queried from overpass etc.) and there are cool things one can do ... but the shiny user-friendly thing is missing and "don't give Google your data" for many doesn't work.

Edit/p.s. I know that openstreetmap.org is supposed to be the "developer site" and others are supposed to build the "nice" products, but it's the entry to the project, where the brand leads.

Very recent relaunch. Their github repo if you want to contribute https://github.com/switch2osm/switch2osm.github.io

Tangentially, I’ve been trying to get my company on the list of providers for upwards of 6 months to a year, and my MR and Issue in GitHub have not had any movement.

Anyone here know someone who could help resolve that? We pretty clearly fit the guidelines for inclusion.

The github-hosted site has only just gone live and the issue backlog hasn't been addressed yet. It'll be looked at in due course I'm sure. (Have to admit I wouldn't have chosen to submit s2o to HN until stuff's been ironed out, but there you go!)


I certainly appreciate the work that’s gone into it and the new design/strategy is an excellent improvement.

I recently looked into using OSM for a side project and after going down a rabbit hole of researching 3rd party tools for generating (vector) tile sets and how to setup a tile server I eventually gave up (my mapping knowledge is limited to using Google Maps through their JS API). Can anyone point me in the direction of a more complete resource/tutorial that would help? Eager to get back on it at some point.

I clicked "Use an all-in-one solution" on the Serving Tiles page but it 404'd.

If you do not want to go down the rabbit hole, then Mapbox.com is the best to start, and you can slowly learn the difference between layers, tiles, vectorial, and their JS API is one of the best in the market.

Then once you are comfortable, move to Leaflet, while keeping Mapbox tile service, and then build your own.

As said already, hosting your own tile server isn't really an alternative to a service like Google Maps. I'd like to add that there are multiple such services listed on the "Providers" page of switch2osm, though I'd argue that they should be featured more prominently. I recommend MapTiler, as I've used their open source backend on a project once.

I don't have experience of generating vector tiles myself, but I do have a lot of experience with osm2pgsql and PostGIS now. From a quick look around, https://sparkgeo.com/blog/vector-tile-server-using-postgis/ looks quite accessible, but glosses over how to use them in the frontend.

How about something like Tegola? https://tegola.io/

Highly upvoted article about drawbacks of OSM. I think it's worth mentioning here to give another perspective https://news.ycombinator.com/item?id=16394604

I just switched my non-profit to OSM (and the route-enabled OSRM). We are loving the ability to host our own servers internally, a requirement from our data providers.

With all due respect to OSM, isn't "the world’s best map data" an exaggeration? Especially if we count satellite images as map data.

Satellite (you probably mean "aerial", commercially avaliable satellite imagery just doesn't have enough resolution) is perhaps map imagery, a supplementary source for maps; but not map data at all: maps are an interpretation of the world, imagery is "just" raw pictures.

For example, my city gets aerial imagery taken ~yearly, with resolution better than 1 ft/px. This is very precise, and the updates are frequent; yet, still insufficient to answer typical mapping questions, such as "can I get there from here, using this vehicle?" That's what a map should be able to answer: both map and aerial image can tell you "there is a vehicular track", but only the map will tell you "and it's private, and even if you don't care for signs, this gate over here is locked, so no, this does not route; you can't go over that road here, as it has a bollard in the middle; that bridge is too flimsy for you; that street is one-way but opposite; you need to go that way, but there's toll collected; otherwise, there's a lengthy detour."

Only some of these features can be inferred from an image. (Of course, the map needs to be kept up-to-date with all this data, but that's a very different story)

Satellite images don't work as maps simply because trees exist. I grew up in a national forest and looking at satellite images you'd never know my road existed, or all the roads that connect into it. The trees make a canopy over the road and it's impossible to tell there's anything under them.

Same problem with rivers... a lot of rivers show up the same color as the forest on satellite images so you'd never know there was a river there even if you can "see" the water.

Depending on the angle of the satellite, this problem exists in large cities as well. Roads are obscured by skyscrapers even at the slightest angle, and roads disappear from the picture without telling you if they went underground into tunnels or just ended.

Now, satellite pictures overlaid with map data, that works. But just satellite pictures by themselves isn't enough to navigate.

Satellite images are not map data in the same way that a photo of a machine is not a blueprint.

I think if the machine was two dimensional and the photo had a measurement scale then it would be as good as a blueprint.

The machine is not, and neither is the world. Even if it were, it would still not be as good. It would not tell you about materials, tolerances, or many other important things.

It isn't a requirement for a map to capture all characteristics of an area to be considered a map.

That does not mean you can just leave out anything you want, though.

No, many aspects are not captured by a picture. E.g. borders.

A map that doesn't capture all information about an area doesn't make it not a map.

I found OSM to be better than the competition for hiking (it has more trails mapped) and walking in cities (pedestrian only shortcuts are well mapped).

To me, map data means just the data required to know what is where. I wouldn't count "satellite" images, geocoding, street view or anything like that as map data, but their own, distinct things. As it stands, OSM is one of the big 3 in that field, together with Google and Microsoft. Both of the latter might be as good when it comes to streets and buildings, but OSM destroys them when you also include hiking/bike trails, naval marking, traffic lights, power lines, etc. - some of which the other two don't provide at all.

Not to mention that afaik the "map data" itself isn't actually available from either MS or Google - they only sell usage of it through their limited APIs.

It's not quite like that. The three main commercial providers which have their own data are Google, TomTom and HERE(which Microsoft uses). TomTom and HERE would be more than happy to sell it to you for a fee - it's their main source of revenue.

The data TomTom and HERE have is focused on navigation use cases - it doesn't have so much 'visual' stuff as OSM but has has large quantities of information that is only relevant for car navigation, e.g. historical traffic patterns and lane assignments.

Huh, I thought I remembered something about Microsoft buying HERE. Glad to hear that's not the case. I did also completely forget about TomTom - last time I used their stuff was on a Palm Tungsten T3... Amazing that they are still around!

Best is one of those loose terms that works well for marketing - it could be best because it's the largest set that's free-gratis & free-libre, for example.

Did you have a "best" in mind.

I'd definitely not consider plain satellite imagery to be map data.

"Do your maps look like everyone else’s?"

This is the theme of an advertisement I'm putting together for next week.

We've built a 3D API which is used by RedBull, Microsoft, ViewRanger, Polaris, and more to better engage their users than 2D Maps.

All the sports tracking apps look the same, so if you want to differentiate your product, 3D maps can help tell the story. People use 3D maps for transportation, wildlife research, commercial drone operations and more.

Check it out at https://ayvri.com API at https://ayvri.com/pages/api

How can I, as sole map user, can help Open Street Map to thrive?

I find StreetComplete to be a handy tool on the phone that lets you enrich OSM data


StreetComplete is fantastic, alas there's no iOS version.

And after a while getting used to it you may want to configure the "questions" StreetComplete asks you.

Better not answer every type of question than get discouraged or fed up with the umpteenth "is there street lighting?".

Of course, if you can stomach being bombarded with questions every few meters, more power to you!

One category of questions I have turned off in StreetComplete is questions about wheelchair accessibility. Since I am not a wheelchair user, I have low confidence that I can identify potential problems for them. Like, obviously stairs are not accessible, but e.g. are the doorways wide enough?

I also turned off speed limits since it has a warning that you need to check the entire road, not just the highlighted spot.

For iOS, I've been using Go Map!! https://apps.apple.com/us/app/go-map/id592990211 Not as nice as StreetComplete but adequate to add some additional data where needed while on the go.

- Make sure your town/region is really good.

- Participate in mapathons (through HOT or local chapters of OSM)

- Join your local OSM chapter (usually a national organization)

If your local region is already well mapped you can check https://tasks.openstreetmap.us/ for "armchair" mapping.

There's many QA tools with error reports that need attention https://wiki.openstreetmap.org/wiki/Quality_assurance

I've made a bunch of contributions and they've almost all been very minor things. They're either information around where I live (which could be even a shop's opening hours), or when travelling, I add data that was missing (e.g. a bus stop). I just added a new-ish local burger joint across the way from me.

You can get in touch with your local community to see what the current hot topics are. https://community.osm.be/ should hopefully have it.

The OSM initiative is fantastic, but only the data is good. The software around it is low-quality, and the documentation is not good enough.

I once managed to import data exports I found on geofabrik and load it into a spatialite database. It was not very complicated but it was difficult to find help to understand what I was doing. But doing it felt pretty good. I still have to test if what I loaded actually works though.

Other experience I had, trying to load vector tiles from mapbox, with the PBF (google protocol buffers) format, in C++. I swiftly gave up. The C++ header generated was gigantic, apparently those .mbtiles were zipped PBF in a sqlite or something like that. It was horrendous. Mapbox seems like good software (and we need alternative to google maps) but I don't think they help OSM at all, at least not with the OSM model.

So in short, OSM needs some skilled engineers to work on the formats they can encourage. GIS is not a simple subject, and I wish there was more good FOSS for it.

Cheers to the OSMand team who can let me browse my region on my 70 euros android without a data plan, for free! That's a lot of money saved.

No doubt I will use OSM data to generate a 3D view of the world, so I can make a game with it. Outerra did it (they also made incredible city renders I think), but they are not planning to release a game, what a shame!

Do you have any recommendation for displaying vector maps in C++ (native program, not web)? The whole field seems very confusing.

Not at all, I don't. I tried rendering those mbtiles myself, and I failed.

You can do as I as I did, import data from exports available on geofabrik into spatialite. And then progressively render data from spatialite (I did not try that step).

ogr2ogr allows you to do this:

    ogr2ogr -f "SQLite" db.sqlite roads.shp -dsco  SPATIALITE=YES
You can find those .shp here http://download.geofabrik.de/

Then the query in spatialite, here with python:

    where2 = lambda lng, lat, dist: " where PtDistWithin(geom, GeomFromText('POINT(%f %f)', 4326), %f, 0)"%(lng, lat, dist)
    select2 = lambda lng, lat, dist: "select id, AsText(geom) from points "+where2(lng, lat, dist)

It's very unfortunate the site does not have a clear path for caching pre-rendered tiles (from OSM.org for example). The only real choices you have are either the ones from leaflet-provider or rolling your own render server.

For something like having a single country at couple decent zoom-levels, I would rather not go through the trouble of setting up a complete render pipeline when pre-rendered tiles that are cached and hosted locally would suffice.

As someone who went that route previously: "there are two hard things in computer science: cache invalidation and whatever." That one will bite you - at best, if your tile provider allows you to "scrape" their tiles, you'll get inconsistent data. It only goes downhill from there :(

A few years ago I did make my own tiles for Paris from OSM; it's pretty exciting to be able to design everything.

But it's a lot of work that has to be redone constantly to keep up with map changes... Not realistic for a small organization (or an individual!) unfortunately.

Oh, it's fairly realistic for an individual with `cron`, no worries. But the up-front setup is still nontrivial, and running a server costs at least power, if not system administration time.

In theory you could automate generating the tiles, but you can't really automate downloading the dataset; it's enormous (hundreds of Go IIRC) and most of the time has to be checked by hand.

Depends on the coverage. If you wish to serve the entire world, it is indeed massive (~100 GB indeed); but from my experience, the updates are 1.automated and, more importantly, 2.incremental. Perhaps the technology has advanced since you tried it... (How do you even check 100 GB of data by hand? That seems impossible.)

That said, I am using the dataset for generating a map, but I'm only using a country extract - which only goes up to some hundreds of MB, and updates on the order of tens of kilobytes. Far more manageable.

I love the idea of OpenStreetMap, and I tried really hard to use it on Android when I purged Google from my life, but the client itself was just atrociously awful (OsmAnd). The data wasn't the main problem; most of the time it couldn't figure out my location at all. It constantly made my device hot. It was nearly useless as a mapping daily-driver. Now that I've switched to iOS, Apple Maps is leaps and bounds better, which should tell you something.

It seems like a great dataset, and maybe the editing tools are better than the consumer clients, but if they really want it to gain traction they desperately need to put some effort into the end-user experience.

As a consumer, I was just looking for mobile apps. I couldn't find any on this page.

Are there any?

Osmand for Android is pretty good, they should promote it.

Is there anything that renders the mapps prettier? The difference between osmand and Google maps is jarring.

What do you find ugly about them? I actually prefer them to google maps! Also, the naming of the streets is often clearer (in google maps, there are too many streets without name, even if you zoom on them). The overall user interface, however, is often much clearer in the google app.

There's no hierarchy in the coloring. Everything is big and bold and it takes more effort to find the parts I care about.

The POI icons are huge. The text for obvious things ("New York City" when I'm staring at just Manhattan) is huge and unnecessary. There are too many shown at the street level. Every block has restaurants and bus stops. They're not labeled, just taking up a huge amount of space.

It feels like an old linux desktop, before they got usable.

The map is covered in visual clutter that takes too much effort to visually process.

I agree that Google Maps needs more street names, but that's my only complaint about the map. That's an easy fix.

It looks like a satnav from the early '00s... No subtlety in the colors at all.

Mapbox Streets is an example of good map design: https://www.mapbox.com/maps/streets/

Mapbox is built on OSM data and has pretty nice styling. Gaia GPS is one app that provides (among many other things) Mapbox layers on iOS and Android.

Hehe, I had just edited my comment to mention Mapbox, then I noticed your reply. :)

> Mapbox Streets is an example of good map design: https://www.mapbox.com/maps/streets/

Hmm, doesn't show forests and doesn't show built-up areas, either, which are precisely the things I really dislike about Google's map design, too.

Looks like a cheap old satnav!

I like this aesthetics. The google colors for maps look sad and bland to me.

I quite like OSMand's look: much more information, and quite easy to pick features apart. But you can also switch the map style inside the app itself.

Navigation is modal in OSMand (you can define your own modes, as well as use the predefined ones), so you can for instance have a hiking mode with a topographic view, or a car mode that hides finer details like trees and cycleways.

You can change the map style if you want to. Settings, configure map, map style. You even can create your own style xml i think.

Prettier? They are much more clear, detailed and readable than Google maps.

Maps.me looks better, faster but don't have as much features

I've been using OsmAnd+ on F-droid (Android). It's great and has many options. Everything works offline. It takes a bit of time to get used to it coming from Google Maps but it's worth a try.

Search has been improving recently but still lacks behind Google. Public transport and reviews are missing too.

Maps.me is a good alternative to Osmand. https://play.google.com/store/apps/details?id=com.mapswithme...

It's the other way around :) osmand is a good alternative for maps.me because maps.me doesn't care about your privacy and has 20 privacy tracker dependencies installed(check out the exodus privacy app). osmand has zero

As mentioned elsewhere, F-Droid hosts a version of Maps.me that is ad- and tracker-free.

While I managed to set up a tile server in the past, I found it nearly impossible to find concise information on how to setup all the rest.

Especially the geocoding part to convert addresses to points on the map/geo coordinates, or something like the search box on openstreetmap.org.

Holding the map information up to date was another topic...

Hadn't looked at OSM in a while - wow the maps are gorgeous. Remind me of the topo maps I grew up with in Germany, which are basically pieces of art.

Is Apache really an integral part of the recommended toolchain because of the custom module or are there decent alternatives based on modern stacks?

Does anyone know of a OSM tileserver running on IPFS?

I wish you could just download a big bunch of pre-rendered tiles for each country.

a) there are more than enough companies that would be willing to provide that as a service. Any larger country will simply be very big depending on the maximum zoom level (there is a reason why most tile service providers don't pre-render high zoom levels),

b) the more sensible approach would be to use pre-generated vector tiles, for example from https://openmaptiles.org/

We switched last year from the Google Maps API to hosting our own pre-generated vector tiles from Open Map Tiles in a docker image (using the mapbox api, and we're hosted somewhere in aws (not my expertise there - I get lost in the acronyms)). It seems to strike a good balance of managing costs + controlling our own stuff while relieving us of the burden of generating our own vector tiles. I could not find great docs on generating them ourselves, and as a newbie to that world I quickly gave up.

Now we just have to periodically take a fresh pull of the tile package, so our tiles aren't too out of date.

If you're willing to pay for the incurred server cost, I'm sure MapBox doesn't mind if you download tiles based on OSM data from them.

Or build your own from planet.osm (that's a file, not a domain (it's hard to tell these days)).

Ok how do I use OSM to calculate routes?

You need a routing engine on top of the OSM data. Common projects that do this are GraphHopper, Openrouteservice, OSRM and pgRouting.

I use Graphhopper and Openrouteservice - both are very actively maintained.

The Maps.me iPhone app has turn by turn navigation

Applications are open for YC Summer 2021

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact