[GIS] Dividing Earth into continent polygons

datashapefile

Is there a simple (low res is fine) polygonal data set that divides the entirety of Earth's surface into continents, with no overlap and no area excluded?

Specifically: North America, South America, Africa, Europe, Asia, Oceania and Antarctica.

I am working with a data set where most of the points are located in seas and oceans. An approximate sense of which continent all these points 'belong' to is needed.

All continent shapefiles I've seen so far trace out the coast lines, however this excludes these marine locations.

Even using country EEZ lines to map to countries and then to continents will leave much of the ocean's surface unclaimed by any continent.

I understand that such a data set might not provide a valid definition of the continents, but in my case I require all points on Earth to be associated with a continent.

Alternatively, if I must create such a data set myself, can anyone recommend a tool for doing so?

EDIT lynxlynxlynx made the interesting suggestion of using tectonic plate data:

However, for my purposes I would have to subdivide the Eurasian plate, and the ocean to the immediate west of North America would end up in the Pacific plate which is best matched with Oceania.

EDIT 2

I have a data set of lat/lng points of scuba diving locations. I wish to collate all of the dive sites at which one of my users has dived and produce a list of all the continents in which that user would reasonably think that they have dived. As one can dive anywhere on the surface of Earth, I would ideally like to cover the earth with such a diagram.

I'm undecided about outliers such as Hawaii, which might be considered Oceania by location yet North America politically. I would tend to favour geographical location in such cases, but if a solution is easier the other way around, then that's fine too.

Best Answer

If you're not too bothered about political or physical geography, one possible solution would be:

  • Take a dataset such as this one, and classify each country by its continent. Unfortunately that dataset doesn't have continent information, so you may have to do it by hand, or by a table join if you can find a country-code to continent dataset.
  • Then convert each vertex to a point feature, retaining the continent attribute per vertex.
  • Next, generate a Voronoi dataset from the points.
  • Finally merge all Voronoi polygons that share the same continent attribute.