OpenStreetMap logo OpenStreetMap

Post When Comment
Why is showing pedestrian crossings so complicated?

@cquest Interesting - is there a link to the tags used anywhere?

Rearranging the world around Nominatim for fun and profit

That’s surprisingly accurate :)

Politically motivated vandalism on OpenStreetMap

You need to be a little bit careful with that revert tool - it doesn’t work where there are multiple problem changesets (it actually makes things worse) and if the problem is still ongoing it can also make things worse (as it warns when you run it) due to the way that it queries the data. The Josm reverter is a good option that is interactive; it’ll help you untangle vandal and later good-faith changes. If you want to revert “everything not changed by a later mapper” then the perl revert scripts are a good option, but they require a bit of familiarity with the OSM API and scripts in general. If it looks too complicated just report it to the DWG :)

Politically motivated vandalism on OpenStreetMap

In case anyone (including OSMF DWG team) missed it,

Please email data@openstreetmap.org with full details of who did what, when, and what the political context was. Without that we won’t even know about it.

– Andy (from the DWG)

Analysing Swarm Intelligence: What's a Highway?

I recently read somewhere that an OSM contributor is waiting for an OSM fork

It’d be interesting to know more about that - what did they actually say?

Towards Creating General Melchett's Map

This diary entry describes me making a series of changes to the mod_tile that was current in 2016 to support raster zoom levels up to 28.

I repeated that in 2022 - that “zoom2022” version supported Ubuntu 22.04, Ubuntu 24.04 and Debian 12.

I’ve repeated it just now in 2025, and the resulting “zoom2025” version supports Debian 13.

The Côte de Blubberhouses and the Pacific Ocean

Unlike you I find the combined names a clever solution to this conundrum, which I note your alternative does not actually address otherwise

Actually, no - based on local knowledge, Kex Gill is the major name here; Nun Ings is just some random name that someone has copied from an old map. Old OS maps are full of these, and unfortunately some people have copied them willy-nilly into OSM.

Have a look at OS OpenMap StreetView for some of these old names (but note there that Kex Gill is the larger one) and at the newer OS OpenMap Local where Nun Ings does not appear at all. The name on the heath is just a made-up one; it only occurs in OSM.

Large and small trees

The vector version is live already - see https://map.atownsend.org.uk/vector/index.html#15.94/52.947792/-1.209111 for the area in the picture above.

That map on that site covers UK and Ireland, but it’d be relatively easy for someone to create a similar map for a different area. The script used to create the map just takes Geofabrik areas as parameters (so here “europe britain-and-ireland”). You could use “europe france” as a parameter in the script to get a similar map for France, and as long as the machine generating the times didn’t run out of memory (there are ways of preventing that) it should “just work”.

I’ve also made similar changes to the raster version of the same map, so “different sized trees” should appear there too.

Large and small trees

3 renderings example: - small tree icon (diam<5) - medium (5<diam<10) - large (diam>10)

Based on the usage that taginfo suggests I’m actually using four sizes - “<=10”, “>10”, “>20” and “>30”. There are enough of the larger two to justify them being there as well; but above 35 some values seem to become silly.

Also have to think about not hiding objects under the trees while rendering

A couple of lines in the style try and do that. One is icon-allow-overlap (and also the way that the tree icon is drawn it’s designed to not look messy when drawn over others), and another is text-optional, which means that the icon will be shown even if there is no room for the text.

What if the OBDL, but explicitly inclusive and antifascist?

It’d be a licence, but not an open one.

Json has such a clause and it isn’t considered an open licence.

Who gets to decide what is “good” and what “not good”? You? Me? Santa?

mbtiles, mbtileserver, tileserver-gl

how to serve my own tile server using the openstreetmap-carto stylesheet

That’s using raster tiles, do do that on you’re laptop I’d suggest installing WSL with either Debian or Ubuntu running there and then follow these instructions. If that isn’t an option but Docker is, try these.

If you want vector tiles then I’d (as mentioned earlier) suggest Tilemaker under WSL and then Apache + mod_mbtiles. This was intended as a “soup to nuts” guide to doing that on Linux, but all but the “obtaining a server” part of that would likely also apply to WSL. You’ll then have to fiddle around with the Windows firewall (but then as a Windows developer you’re presumably used to doing that).

mbtiles, mbtileserver, tileserver-gl

Was there any reason why you chose Windows Server here (other than “it was what you had lying around”)? Windows versions of OSM tools always suffer because basically “no-one developing them uses Windows”.

One thing that you might try include WSL - I’ve not tested that on your particular environment but I’d be surprised if it didn’t work, based on the things that have worked in the past.

Serving vector tiles is basically just “serving a small portion of a big file”. In the past I’ve used Apache on Windows without problems, so one avenue to explore might be that with mod_mbtiles. I haven’t tried that on Windows, but it works fine on Debian Linux.

Roads without key: sidewalk

The check I use for displaying “is there a sidewalk on a road” on maps is https://github.com/SomeoneElseOSM/SomeoneElse-vector-extract/blob/main/resources/process-sve01.lua#L1790 .

An example of a map that you can make with that is https://map.atownsend.org.uk/vector/index_svwd08.html#9.34/52.2054/-1.5605 - that only shows primary and secondary roads if you can walk on them. It wouldn’t be that difficult if you wanted to create a set of vector tiles in that schema for California.

About main keys and values

@kumakyoo yes - that mostly makes sense, and assuming that leisure is an area feature and highway a linear one unless there’s an explicit area tag is certainly an approach, but you will find some values for which this isn’t true - highway=pedestrian is one example, most closed highway=pedestrian ways without an area tag are actually areas.

Fixing places as areas in shortbread tiles

and reloading the database on the OSMF servers.

When I make a request to an OSMF vector tile it’s to something with a URL like https://vector.openstreetmap.org/shortbread_v1/9/252/166.mvt .

How is the reload process done - is it just a reload of the database from which those .mvt files are generated, or a regeneration of all .mvt files as well?

What do you need from a preprocessed MapLibre style editor?

I ended up creating a bunch of scripts to manage the loading and unloading of vector tiles and map styles, including the icons and sprites.

That meant that when I created a new test style I only needed to create one file - the style .json and run one command with a bunch of parameters to deploy it.

However, the “elephant in the room” is still the large, uncommentable .json file - having “something sane from which that is generated” would clearly be much better.. I’ve used layer ids that indicate sources layer and min/maxzoom, but styles are still a bit of a handful to edit.

About main keys and values

I notice you also have “area” information in there too - How do you cope with things like man_made=pier which (if linear) will not an area feature but (if closed) will be?

Also - what about things like leisure=track and highway=raceway which can be either areas or linear, depending on whether an area=no or area=yes tag is present (and can be unclear without, although being a multipolygon relation nudges towards area)?

Showing less silly route names from OSM

If it helps, the lua code that I use to suppress unsigned routes is currently at https://github.com/SomeoneElseOSM/SomeoneElse-style/blob/master/style.lua#L1100 (“Check for signage - remove unsigned networks”).

Showing less silly route names from OSM

Interesting that you mention the Cape Wrath Trail. It is part of a “relation of relations” - osm.org/relation/9327615 . That’s type=superroute - there are about 4000 of those, and also some type=super-relation**. Just this morning I included it in the list to process, so that here it just shows as “Cape Wrath Trail”.

It’s not a national trail, not adopted by any official body.

From reading the wikipedia article it sounds like it has a similar status to “Wainwright’s Coast to Coast Walk” did in England before it was “adopted” by National Trails. There was some signage, but it was unofficial and often hit and miss. Generally speaking OSM doesn’t have “book only routes” (i.e. if they’re not signed on the ground they shouldn’t really be there) but there are exceptions that “everyone knows” (like the Coast to Coast Walk was). Whether it should be there or not is a decision for the local community. My maps will omit names for routes that are tagged as being unsigned, but I hadn’t previously considered description=unmarked, which is how this one is tagged.

As a renderer it gets tricky to work out how frequently to put in route names that work for everything.

It’s not just Mapnik - if anything the problem seems to be worse in Maplibre (for reasons that I haven’t really been able to work out yet). For now on vector maps, I’ve just made the route name text smaller that other text, in addition the the name consolidation described in this diary entry.

And then the other day I caught a mapper adding the trail name to multiple paths and tracks which already had a suitable relation

That’s a perennial problem, probably because some general purpose renderers (like OSM Carto) don’t show hiking routes at all.

** it’s confusing - when doing relation checks on these I just look at the geometry. The lack of consistency makes it difficult for iD.

Identifying ways tagged sidewalks != separate or no

I’ve no idea what you’re looking for in this list, but potentially you might want to look at a few other values. this list is a list of “things you might be able to walk on”. Things like sidewalk:left might get set by things like StreetComplete, as it asks people what things are like.