Finding level 3 islands in OSM data?

I recently had the joy of finding a level 3 island (Way: 1233009406 | OpenStreetMap) on aerial imagery, an island in a lake on an island in a lake on an island.

It’s not too far away from me, so I’m planning to do an expedition to survey it which will include a refreshing little swim in January.

Finding such islands in OSM data seem algorithmically straight forward, but the idea of downloading a full planet file scares me a little. I’m also not fluent enough in Overpass yet to find such objects that way.
Has anyone else here tried finding recursive islands before?


To do a first pass at this you could take the planet and extract all natural=water relations. Because you’re interested in islands, they must be part of a MP as inner, so ways tagged as water don’t matter.

The best way to proceed from this point is pass the resulting file through one of many conversion tools to get geometries, and run your algorithm on that.

It’s not possible to get this purely from relation membership because the relationship. An island and a lake outside it are related by parent/child relationships, but an island and the lake inside have only a spatial relationship.


Yes, that is same conclusions I came to, except I need to somehow distinguish between lakes on islands in the sea and lakes on continents. The only minor optimisation is to exclude relations with only outer members, which should be a notable percentage of the ~700 000 water relations.

Continents are big islands no? It’s a matter of scale.

1 Like

Have fun! :grinning:


You can also look at objects tagged place=island and see if they are contained within another place=island. I did this to test out Geodesk and it does bring up some genuine level 3 islands (e.g. this one) but it’s not entirely reliable, it also brings up a whole bunch of QA issues / questionable tagging. For example

  • the same island being mapped twice, once as a node and once as an area
  • place=island on a construct that actually includes multiple separate islands (example) which themselves have place=island
  • part of an island being mapped as place=island (example) despite a land connection to the “outer” island
  • the admin boundary for an island being tagged place=island (example), in addition to the island itself

Sometimes they all combine and place=island is on the node, the way, and the admin boundary, resulting in a “fake” level 3 island.

Your example of a level 3 island doesn’t even have a place tag so it wouldn’t be found this way. The opposite is also not uncommon, where someone maps an island with place=island/islet, but forgets to make the surrounding water body a multipolygon and add the island as an inner. (When I get around to it I might make a Maproulette challenge to fix these.) So in some cases the approach via place can find islands you would not otherwise find, but overall it’s probably less reliable than the approach based on multipolygons and inners.


Survey performed today.

Started close to sunset, and the landscape was snow covered, so no real survey grade map photos. Still though, the level 3 island has been confirmed.

A clear winter day, almost no wind and -6ºC

This is the general area, a mix of shallow sea and flat islets. Ideal for higher order islands.

Secondary target, a prominent named rock with local mythology attached.

One of several crossings, seems like a new bridge is being built. The old one still looked safe.

Most other crossings where of the much simpler causeway type. (Sidenote: this doesn’t cause any connectivity issues with the mainland affecting the definition of “island” as the main island itself, Smøla, doesn’t have any mainland connections).

First view of the level 2 island in the lake on Skillingan.

Decided to cross the lake from the west side. Some ice, but just a centimetre. Not nearly enough to walk on, but would still make swimming fairly slow. Luckily, the water wasn’t more than chest deep.

Brought an extra pair of shoes and a towel. Phone went into lunch box.

On the level 2 island. In the centre of the picture is the level 3 island in a small puddle.

Ice crushed. Water all around confirmed! Now back on land and get dressed again.