Mapnik, Osmarender and coastal rivers using multipolygons

I’ve been trying to map a larger coastal river in my area, using a multipolygon with k=waterway and v=riverbank. After a few iterations, I finally managed to get it to display correctly (well, almost :)) on Information Freeway. However, the main map rendered by Mapnik doesn’t display the riverbank properly.

Since it’s a coastal river, the riverbank is also tagged as coastline to a point. Mapnik renders it properly to the point where the coastline ends, but where the riverbank area meets the coastline, the river is rendered as land. Osmarender handles it the way I expect it to.

Is this a bug in the way Mapnik renders a coastline/riverbank junction, or is there something I’m missing?

I’ve been looking at how other coastal rivers have been mapped to see if I can figure out what I’ve done wrong, but there doesn’t seem to be a consistent way of doing it. Some are tagged as natural=water, but this doesn’t seem quite right since that tag is intended for lakes and other enclosed water from what I’ve read on the wiki. Others are tagged as natural=coastline for the length of the river which doesn’t seem right either.


Have you solved it? Water is very tricky on Openstreetmap, always have been… I have tried to summerise everything that is used and suggest someting better but it’s really hell…

No, I haven’t solve it yet.

I’ve checked a few other rivers since I my original post and I keep seeing the rivers defined as coastline or as water, as I mentioned.

It makes sense to me that it should be perfectly acceptable for an area defined as waterway=riverbank to join with a way defined as coastline, and that the junction should be rendered as water.

If it worked this way, I believe it would be a lot easier to draw rivers, since, as you say, it’s really hell right now.


Sigh. I don’t see what is wrong. But to understand this you would have to

Check that mapnik really handles

  • waterway=riverbanks
  • multipolygons with that option.

That should be the problem, everything else seems to be correct (I can very well have missed something, I got nostalgic watching Vancouver instead of the map, it’s a beautiful place)… :wink:

I checked osm.xml in the Slippy Map and couldn’t find any reference to riverbank, so there doesn’t appear to be any support for waterway=riverbank.

There a problem report in trac for this (#669). I’m not sure about the response though, since it says that it’s rendered properly in Mapnik at z13 to z17. How can this be if there’s no code to handle riverbank?

I tried to mark one larger river area as waterway=riverbank as described in suggested features a week ago or so. Riverbank got rendered as closed line by Mapnik, not as water area. I had to add natural=water to get it filled.

I could do that, I guess. Natural=water is intended for lakes though, so when you view it in Potlatch it shows as a lake, which just seems wrong.

Maybe I’m just being picky, but the right solution is to fix Mapnik to handle riverbanks properly.

That is where you report this.