From OSM, I'm trying to extract a dataset that includes islands of the Caribbean region. The trick is that as many of the physical individual islands as possible need to be listed individual features in the data table. In other words, I want the data set up so that it is easy to select particular islands (not countries) and style them individually.

I've tried the Quick OSM plugin in QGIS (using the Overpass API), and chose the place:island tag. That works OK, but there are a not-insignificant number of islands missing from the extraction (e.g. most of the bigger Florida Keys, the main island of Cuba (though the smaller islands of Cuba are included), some of the main islands of the Bahamas, and others).

Question 1. I'm not sure why these islands aren't included in my extraction. Is it because they haven't been tagged "place:island"? Is there some other extraction I can do that would get the data I need?

Question 2. Assuming the problem is the lack of "island" tagging, how can I add the correct tags using the OSM Editor? I don't have a ton of editing experience, but I went over to the ID Editor and tried to figure how to add an island tag to the islands. The problem was that I couldn't identify any "island" features to edit. I don't see any outlines around the physical islands that I could click and access tags for.
How can I add island tags to the islands that don't seem to have already been tagged? The image shows the extracted islands in yellow.

Zoom in on U.S. coast to show small near-coastal islands included in the extract.

  • 2
    Cuba works for me with place=island, but the Bahamas not. Apart from place=island, you might look for natural=coastline and collect all polygons created by that.
    – AndreJ
    Apr 16, 2017 at 6:36
  • natural=coastline seems to pick up a number of small island polygons that place=island didn't get, so thanks for that tip. But mostly, it return lines, rather than polygons. What is the best way to transform those lines tagged natural=coastline into polygons that are tagged place=island?
    – Abijah
    Apr 16, 2017 at 12:22
  • If you uncheck the lines layer, do you get all islands? Otherwise you need to use the polygonize tool from QGIS processing to form polygons from the rest. Once you have them in QGIS, you can add place=island to their attribute table.
    – AndreJ
    Apr 16, 2017 at 16:01
  • @AndreJ The lines layer is only outlines, so when I uncheck it, no, I don't see all polygons. I guess I could polygonize the lines in QGIS, which would fix my immediate problem of getting all the islands as polygons in one shapefile! But in order to fix the problem of the OSM dataset being incomplete/inconsistent, it seems like there must be a better solution than importing a bunch of polygons? Can't polygons be created within OSM from the coastline lines that already exist?
    – Abijah
    Apr 16, 2017 at 16:58
  • 3
    Alternatively, you can take the coastline polygons from openstreetmapdata.com/data/land-polygons, but I guess you want the names of the islands as well.
    – AndreJ
    Apr 17, 2017 at 5:54


Browse other questions tagged or ask your own question.