Properly mapping sea stacks

According to Wikipedia:

A stack or sea stack is a geological landform consisting of a steep and often vertical column or columns of rock in the sea near a coast, formed by wave erosion.

Sea stacks are commonly small islands, often with cliff faces and with a surface of bare rock. Wikimedia Commons has a good collection of exemplary images.

Mapping a sea stack in OSM is a challenge because it would (often) require the combination of natural=coastline + natural=cliff + natural=bare_rock + place=islet at the outline of the stack. Sometimes, even natural=arch is appropriate for the same outline. Of course, natural=coastline is special and can’t have additional semicolon separated tag values.

I have seen mappers use several different approaches to combine these tags.

The OSM Wiki guidance for natural=coastline is to use a separate multipolygon relation for an additional natural=* value. But I have also seen mappers stack congruent ways, glued together, each with a separate set of tags. Omitting either cliff or bare_rock is another common approach.

In theory, natural=cliff;bare_rock (or bare_rock;cliff) would be possible to combine the tags, but this is apparently never used in practice.

Is there a good way to combine these tags for this type of feature?

I would use 3 objects here:

  1. natural=coastline and place=islet, stuff like name goes on this one if applicable. I would put the summit height of the stack here as ele too, if too small to warrant a separate peak node.
  2. A separate way with natural=cliff only. This is a separate object from the coastline, as the coast would be at the bottom of the cliff, which is not how they are mapped in OSM. Gluing it to the coastline should be perfectly acceptable if no more detailed information about the geometry is available. This can have its own height, separate from the elevation of the stack, as not the full elevation is always vertical.
  3. A multipolygon with natural=bare_rock, as this describes the area. The coastline way(s) can be its outers.
1 Like

I think that’s a pretty good approach.

Combining natural=coastline with place=islet and other identifying tags for the islet makes sense. That would be how an islet would be mapped if it were not a sea stack.

Using a separate way for natural=cliff makes sense in general. There are cases where the cliff is not coincident with the coastline, so it would be a separate object anyway. Even in the cases where the cliff is coincident with the coastline, cliffs don’t require complex geometry, so a simple way is sufficient.

In contrast, the area covered by natural=bare_rock could easily require complex geometry with both outer and inner members to account for other types of landcover on top of the stack. So, in general, making this a multipolygon makes sense.

There seems to be a simple case where the stack is (nearly) vertical, with a flat top, and no vegetation. That could be mapped as three stacked ways, or even one way with two multipolygons, rather than two ways with a multipolygon.

Is there any reason to recommend against these alternatives in cases where they might work?

There is some relevant discussion here, the coastline and bare_rock combination especially:

I remember that thread. Thanks for cross-linking it.

I think @ZeLonewolf got it right that if the relation and member have the same tag with different values, then there’s an exception to the preference against single-member relations. And natural=coastline is an exception on its own.

If the geometry for the bare_rock element is simple, it seems like using three (or four) stacked ways would be fine. And it seems unlikely that any of the elements other than bare_rock would require a multipolygon.

I made an attempt at mapping this sea stack: File:Sea Stack by Breigeo - geograph.org.uk - 2031998.jpg - Wikimedia Commons

In this changeset: Changeset: 143132067 | OpenStreetMap

The bbox of the changeset is larger than you might expect because the coastline in that area is fairly low resolution and I had to add some local detail to separate the stack from the main body of the island. It may take a little while for Carto to catch up with the rendering.

I would welcome comments on how the elements are mapped.