GenericMappingTools / gmt

The Generic Mapping Tools
https://www.generic-mapping-tools.org
Other
850 stars 356 forks source link

Create list of oceans, seas and other regions. #5742

Closed Esteban82 closed 2 years ago

Esteban82 commented 3 years ago

Idea

To have a list of shorthand to define specific geography region. This way, a map of the Mediterranean Sea (MS) could be get with a code like -R=MS (or -R=MediterraneanSea).

From the [dcw-gmt issue 18].

From Paul's comment: The implementation of this would be a table of codes for the oceans and a corresponding w e s n. Then the gmtinit_parse_R_option would check if we get one of those (just like we do for -Rg -Rd) and substitute the region.

The regions would have a code/shorthand and long names.

The list should include regions like, oceans, seas, and specific geographic regions (like Balcans, Middle East, Far East, etc.).

I think we should discussed the regions to be included.

gd-a commented 3 years ago

If you like to challenge your geography skill : https://online.seterra.com/en/vgp/3072

Esteban82 commented 3 years ago

For the Oceans and Seas:

We should follow "Limits of Oceans and Seas" of the International Hydrographic Organization (1953) to avoid any definitions or naming issue. There is a draft for the a new version but it is not official yet.

The limits of IHO (1953) were digitized (in shp file) and adapted to the GSHHS by Fourcy and Lorvelec (2013).

The shp file (153,8 MB) contains 105 objects but are many polygons that correspond to sub-divisions (like all the seas of the Mediterranean) and sub-sub-divisions that we could exclude (or not).

The main divisions are only 9/10 (see southern ocean below).

North Atlantic Ocean
Baltic Sea
Mediterranean region
South Atlantic Ocean
Indian Ocean
South China & Eastern Archipelagic seas
North Pacific Ocean
South Pacific Ocean
Arctic Ocean
Southern Ocean
anbj commented 3 years ago

I think this is a super idea!

Less friction - more beautiful maps.

Esteban82 commented 2 years ago

I would like this feature. Is anything I could do to help? I was thinking maybe creating the list of geographic region?

PaulWessel commented 2 years ago

Sure. I think doing this via a shorthand tag is the way to go, so we can define as many tag as we want. I am not sure of the syntax yet (e.g., -R=MS or some other way) but that can come later. Perhaps using a 3-char system for these tags means we don't need any equal signs or anything, i.e., -RSCA). For starters we will need a list of tags and what actual ISO codes that involves, e.g.,

# Scandinavia
tag: SCA
NO,SE,DK
# Nordic Countries
tag: NOR
NO,SE,DK,FI,IS,GL,FO
# etc etc.

The next DCW will then simply contain the same as 2.0.1 plus a new dcw-regions.txt file and GMT will check of its existence and deal with it that way. If missing (2.0.1) then those tags are just not available.

So if you wish to open a PR to get such a file started please do so. The above format is easy for me to read into some structure I will create later. Be aware there is an ISO 3-char system as well which contains codes for continents so perhaps we may wish to rethink the =AF and instead use -RFFF. Anyway I did not read that page very carefully.

anbj commented 2 years ago

I can think of alot of useful abbreviation.

E.g. Barents Sea north, Barents Sea south, Barents Sea (north+south); BARN, BARS, BAR, respectively.

Esteban82 commented 2 years ago

Can we do this with basically anything we want? Seas, territorial areas, 'political areas' etc.?

My idea is to include any regions (like Barents Sea, Middle East, Eurozone?). Maybe we could define some guidelines to define these regions.

May the code be > 3 chars?

We could 3 chars, but also I was thinking a long name.

anbj commented 2 years ago

Sounds good!

Esteban82 commented 2 years ago

Do you have any suggestions about the type of regions?

Paul, how should I list the regions like sea? Should I include the EWSN?

anbj commented 2 years ago

My first pick would be sea regions; Barents Sea, Norwegian Sea, North Sea, Arctic Ocean.

Maybe there should be an easy way of people to customize this after their own liking as well? I would like to have Exclusive Economic Zones as well, but this is probably a bit too specialized to be included in an official releases of DCW/gmt?

Esteban82 commented 2 years ago

Maybe there should be an easy way of people to customize this after their own liking as well?

I was thinking the same. It should be a method for each user to edit (or include a new region) the default list.

PaulWessel commented 2 years ago

OK, follow the template above and if we find a file called dcw_groups.txt in ~/.gmt (well, in the GMT_USER dir) then we add those abbreviations as well. Regarding length of abbreviations: Maybe we do it this way:

# Scandinavia
tag: SCA Scandinavia
NO,SE,DK
# Nordic Countries
tag: NOR
NO,SE,DK,FI,IS,GL,FO
# etc etc.

where there is an optional long-form name following the required abbreviation (i.e. tag: abbrev [longform]). in this case, both -RSCA and -RScandinavia would work. We do not have to impose a max 3-char rule. All I ask if that it should be more than 2 to distinguish from specific DCW codes and if 3 it should not be any of the ISO-3 codes unless it actually is one that you want.

Esteban82 commented 2 years ago

Ok, great Paul.

How names as Middle East should be tag? MiddleEast, middleEast, "Middle East"?

PaulWessel commented 2 years ago

If you want spaces in them then use double quotes. Since not file names we are OK with handling this internally, and should not add any limits like no spaces. Spaces does add more work for users but not much: -R"Middle East".

# Collection of countries in the Middle East
tag: whatever "Middle East"
......