nvkelso / natural-earth-vector

A global, public domain map dataset available at three scales and featuring tightly integrated vector and raster data.
https://www.naturalearthdata.com/
Other
1.73k stars 370 forks source link

French Guyana is missing from South America + suggested solution #677

Closed SietzeN closed 2 years ago

SietzeN commented 2 years ago

Hello,

I found that French Guyana is missing from the dataset, and also suggest a way to solve it.

Politically, French Guyana is part of France: https://en.wikipedia.org/wiki/French_Guiana france <- rnaturalearth::ne_countries(country = "France", returnclass = "sf", scale = "medium") tmap::tm_shape(france) + tmap::tm_polygons()

It is located on the South American continent, but when you download the entire continent of South America, there is a hole where French Guyana should be sa <- rnaturalearth::ne_countries(continent = "South America", returnclass = "sf", scale = "medium") tmap::tm_shape(sa) + tmap::tm_polygons()

Perhaps French Guyana could be added as geounit within South America?

Thanks!

MLWorley commented 2 years ago

Further comment (just adding some details to previous commenter's issue).

I can see that French Guiana does appear in ne_10m_admin_0_countries as part of France (ne_id = 1159320637), so in that data set it is using iso_A2 = 'FR' and all the information for France instead of any separate information for French Guiana (which would've had ISO_A2='GF' if it had had its own entry). In the ne_10m_admin_0_countries dataset, the entry for France which includes French Guiana has CONTINENT='Europe'. The WOE_NOTE field in ne_10m_admin_0_countries for France says 'Includes only Metropolitan France (including Corsica).' (I realize that that only applies to WOE information but mention it in case the WOE tagging has some effect I'm unaware of in filtering.)

In ne_10m_admin_0_countries, Martinique and Guadeloupe are similarly being included in the entry for France rather than using their alternate ISO 3166 country codes (MQ, GP), so they would similarly appear as part of Europe rather than Latin America and the Caribbean.

In ne_10m_admin_0_countries, French Polynesia avoids having a similar problem to the French Guiana issue by having its own entry and using iso_A2='PF' rather than using the alternate ISO 3166 representation as part of France itself.

SietzeN commented 2 years ago

Yes, thanks for the addition. Perhaps the best solution would be to split the polygon and giving each of the their own entry.

MLWorley commented 2 years ago

Some additional info for various French overseas departments which Natural Earth is currently treating as part of France (at least in ne_10m_admin_0_countries and ne_10m_admin_1_states_provinces). (Some of the other French overseas departments currently are treated differently in Natural Earth, however, see below.)

Guadeloupe (https://www.wikidata.org/wiki/Q17012)

Guyane Française (French Guiana) (https://www.wikidata.org/wiki/Q3769)

Martinique (https://www.wikidata.org/wiki/Q17054)

Mayotte (https://www.wikidata.org/wiki/Q17063)

La Reunion (https://www.wikidata.org/wiki/Q17070)

The following French overseas collectivities currently are being treated as countries by Natural Earth, however

(The truly odd one out is Ile d'Clipperton, which has its own issue. It's currently represented in ne_10m_admin_1_states_provinces as a separate unit but not tagged as iso_A2='FR', iso_3166_2='FR-CP' nor as ISO_A2='CP'.)

nvkelso commented 2 years ago

Natural Earth treats the overseas regions of France the same as we treat the overseas states of the United States, as one with its metropolitan core in the countries theme. The map units offer the level of detail you seek.

SietzeN commented 2 years ago

Thanks for your reply.

You're right that French Guyana is politically part of France, but it is still located on the South American continent. Currently, selecting data for South America leaves a hole for French Guyana. I don't think this is desirable (see screenshot below, R code below).

afbeelding

sa <- rnaturalearth::ne_countries(continent = "South America", returnclass = "sf", scale = 110) tmap::tm_shape(sa) + tmap::tm_polygons()