From 27f5d20b85cd1bbfd237ef8e7e0455d07a6efb4d Mon Sep 17 00:00:00 2001 From: Will Schlitzer Date: Fri, 11 Dec 2020 09:59:50 +0000 Subject: [PATCH 1/7] Add cyl_transverse_mercator.py --- .../cyl/cyl_transverse_mercator.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 examples/projections/cyl/cyl_transverse_mercator.py diff --git a/examples/projections/cyl/cyl_transverse_mercator.py b/examples/projections/cyl/cyl_transverse_mercator.py new file mode 100644 index 00000000000..fc8bb2198b9 --- /dev/null +++ b/examples/projections/cyl/cyl_transverse_mercator.py @@ -0,0 +1,19 @@ +""" +Transverse Mercator +=================== + +``T[lon0/][lat0/]width``: Give central meridian ``lon0``, the latitude of the +origin ``lat0`` (optional), and the figure width. +""" +import pygmt + +fig = pygmt.Figure() +fig.coast( + region=[20, 50, 30, 45], + projection="T35/12c", + land="lightbrown", + water="seashell", + shorelines="thinnest", + frame="afg", +) +fig.show() From d64983ff1ae3e046ba76697f8980e12c4600475c Mon Sep 17 00:00:00 2001 From: Will Schlitzer Date: Fri, 11 Dec 2020 10:40:06 +0000 Subject: [PATCH 2/7] Add cyl_universal_transverse_mercator.py --- .../cyl/cyl_universal_transverse_mercator.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 examples/projections/cyl/cyl_universal_transverse_mercator.py diff --git a/examples/projections/cyl/cyl_universal_transverse_mercator.py b/examples/projections/cyl/cyl_universal_transverse_mercator.py new file mode 100644 index 00000000000..47259c5bd6c --- /dev/null +++ b/examples/projections/cyl/cyl_universal_transverse_mercator.py @@ -0,0 +1,19 @@ +""" +Universal Transverse Mercator +============================= + +``U[UTM Zone/][lat0/]width``: Give UTM Zone ``UTM Zone``, and the figure width. +""" +import pygmt + +fig = pygmt.Figure() +# UTM Zone is set to 52R +fig.coast( + region=[127.5, 128.5, 26, 27], + projection="U52R/12c", + land="lightgreen", + water="lightblue", + shorelines="thinnest", + frame="afg", +) +fig.show() From 6ba8185f68bc7dbc76a2787540083287204a7ea4 Mon Sep 17 00:00:00 2001 From: Will Schlitzer Date: Fri, 11 Dec 2020 10:48:29 +0000 Subject: [PATCH 3/7] Changing land color to red in cyl_mercator.py to match GMT docs example; changing units from US to SI --- examples/projections/cyl/cyl_mercator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/projections/cyl/cyl_mercator.py b/examples/projections/cyl/cyl_mercator.py index d2e54886e6f..bfe22ba87a9 100644 --- a/examples/projections/cyl/cyl_mercator.py +++ b/examples/projections/cyl/cyl_mercator.py @@ -8,5 +8,5 @@ import pygmt fig = pygmt.Figure() -fig.coast(region=[0, 360, -80, 80], frame="afg", land="gray", projection="M0/0/8i") +fig.coast(region=[0, 360, -80, 80], frame="afg", land="red", projection="M0/0/12c") fig.show() From a99b63335a64f359c1d28e3b486713b4207fa91d Mon Sep 17 00:00:00 2001 From: Will Schlitzer Date: Thu, 21 Jan 2021 10:32:45 +0000 Subject: [PATCH 4/7] Update GMTInvalidInput raising to use args_in_kwargs for basemap module --- pygmt/base_plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pygmt/base_plotting.py b/pygmt/base_plotting.py index e41d2f25298..bac311f24f6 100644 --- a/pygmt/base_plotting.py +++ b/pygmt/base_plotting.py @@ -1204,7 +1204,7 @@ def basemap(self, **kwargs): {t} """ kwargs = self._preprocess(**kwargs) - if not ("B" in kwargs or "L" in kwargs or "Td" in kwargs or "Tm" in kwargs): + if not args_in_kwargs(args=["B", "L", "Td", "Tm"], kwargs=kwargs): raise GMTInvalidInput( "At least one of frame, map_scale, compass, or rose must be specified." ) From ede431aa819a1cd2c001c7d15f14d7103fa72824 Mon Sep 17 00:00:00 2001 From: Will Schlitzer Date: Thu, 21 Jan 2021 10:34:31 +0000 Subject: [PATCH 5/7] Add test for requirement arguments to test_basemap.py --- pygmt/tests/test_basemap.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pygmt/tests/test_basemap.py b/pygmt/tests/test_basemap.py index 316d6b7aa33..b6f52762241 100644 --- a/pygmt/tests/test_basemap.py +++ b/pygmt/tests/test_basemap.py @@ -134,3 +134,11 @@ def test_basemap_map_scale(): fig_test.coast(region=[127.5, 128.5, 26, 27], shorelines="1/0.5p") fig_test.basemap(map_scale="jMB+c1+w10k+f+l") return fig_ref, fig_test + +def test_basemap_required_args(): + """ + Test if fig.basemap fails when not given required arguments. + """ + fig = Figure() + with pytest.raises(GMTInvalidInput): + fig.coast(region="EG") From f53c6d73546fe43e28550b49c42667f8729241ee Mon Sep 17 00:00:00 2001 From: Will Schlitzer Date: Thu, 21 Jan 2021 10:39:00 +0000 Subject: [PATCH 6/7] Run make format --- pygmt/tests/test_basemap.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pygmt/tests/test_basemap.py b/pygmt/tests/test_basemap.py index b6f52762241..86ea16326a2 100644 --- a/pygmt/tests/test_basemap.py +++ b/pygmt/tests/test_basemap.py @@ -135,6 +135,7 @@ def test_basemap_map_scale(): fig_test.basemap(map_scale="jMB+c1+w10k+f+l") return fig_ref, fig_test + def test_basemap_required_args(): """ Test if fig.basemap fails when not given required arguments. From f56b1ce8b3d888fd51fc74d68b130d08443b446f Mon Sep 17 00:00:00 2001 From: Will Schlitzer Date: Thu, 21 Jan 2021 10:47:15 +0000 Subject: [PATCH 7/7] Remove duplicated test function --- pygmt/tests/test_basemap.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/pygmt/tests/test_basemap.py b/pygmt/tests/test_basemap.py index 86ea16326a2..316d6b7aa33 100644 --- a/pygmt/tests/test_basemap.py +++ b/pygmt/tests/test_basemap.py @@ -134,12 +134,3 @@ def test_basemap_map_scale(): fig_test.coast(region=[127.5, 128.5, 26, 27], shorelines="1/0.5p") fig_test.basemap(map_scale="jMB+c1+w10k+f+l") return fig_ref, fig_test - - -def test_basemap_required_args(): - """ - Test if fig.basemap fails when not given required arguments. - """ - fig = Figure() - with pytest.raises(GMTInvalidInput): - fig.coast(region="EG")