From d550f653272a7052de944a8451b95d1a75adde08 Mon Sep 17 00:00:00 2001 From: AgentOxygen Date: Tue, 24 Sep 2024 20:38:15 -0500 Subject: [PATCH 1/6] Added winkel tripel projection class --- lib/cartopy/crs.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/lib/cartopy/crs.py b/lib/cartopy/crs.py index bc3541987..212875621 100644 --- a/lib/cartopy/crs.py +++ b/lib/cartopy/crs.py @@ -2493,6 +2493,33 @@ def transform_points(self, src_crs, x, y, z=None, trap=False): return result +class WinkelTripel(_WarpedRectangularProjection): + """ + A Winkel-Tripel projection. + + Compromise modified azimuthal projection that is less distorted + and more area-accurate. It is comparable to the Robinson + projection in both appearance and popularity. + + The National Geographic Society uses the Winkel-Tripel projection + for most of the maps they produce. + """ + + def __init__(self, central_longitude=0.0, globe=None): + globe = globe or Globe(semimajor_axis=WGS84_SEMIMAJOR_AXIS) + proj4_params = [('proj', 'wintri'), + ('lon_0', central_longitude), + ('lat_0', 0.0)] + + super(WinkelTripel, self).__init__(proj4_params, + central_longitude, + globe=globe) + + @property + def threshold(self): + return 1e4 + + class InterruptedGoodeHomolosine(Projection): """ Composite equal-area projection emphasizing either land or From 621086063695415fbd77b7cbcb638ed16b6d20c3 Mon Sep 17 00:00:00 2001 From: Cameron Cummins Date: Mon, 7 Oct 2024 11:25:42 -0500 Subject: [PATCH 2/6] Cleaned up WinkelTripel super constructor Co-authored-by: Greg Lucas --- lib/cartopy/crs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/cartopy/crs.py b/lib/cartopy/crs.py index 212875621..a1618a41c 100644 --- a/lib/cartopy/crs.py +++ b/lib/cartopy/crs.py @@ -2511,7 +2511,7 @@ def __init__(self, central_longitude=0.0, globe=None): ('lon_0', central_longitude), ('lat_0', 0.0)] - super(WinkelTripel, self).__init__(proj4_params, + super().__init__(proj4_params, central_longitude, globe=globe) From de76b1041f19de7b9d1a79f21b8fd3d69e027f60 Mon Sep 17 00:00:00 2001 From: AgentOxygen Date: Thu, 24 Apr 2025 15:40:24 -0500 Subject: [PATCH 3/6] Added Winkel Tripel test --- lib/cartopy/tests/mpl/test_mpl_integration.py | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/cartopy/tests/mpl/test_mpl_integration.py b/lib/cartopy/tests/mpl/test_mpl_integration.py index df726ac13..7eb64d213 100644 --- a/lib/cartopy/tests/mpl/test_mpl_integration.py +++ b/lib/cartopy/tests/mpl/test_mpl_integration.py @@ -196,6 +196,7 @@ def test_simple_global(): (ccrs.ObliqueMercator, dict(azimuth=90., central_latitude=-22)), id='ObliqueMercator_rotated', ), + ccrs.WinkelTripel, ]) @pytest.mark.mpl_image_compare(style='mpl20') def test_global_map(proj): From 31dc6c7e0410959d9872d858ad1f457699e94933 Mon Sep 17 00:00:00 2001 From: AgentOxygen Date: Thu, 24 Apr 2025 15:41:02 -0500 Subject: [PATCH 4/6] Added baseline image for Winkel Tripel projection --- .../test_global_map_WinkelTripel.png | Bin 0 -> 12082 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/test_global_map_WinkelTripel.png diff --git a/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/test_global_map_WinkelTripel.png b/lib/cartopy/tests/mpl/baseline_images/mpl/test_mpl_integration/test_global_map_WinkelTripel.png new file mode 100644 index 0000000000000000000000000000000000000000..424e955e1b942475ada1c240adbdf9c73389df5e GIT binary patch literal 12082 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 literal 0 HcmV?d00001 From ced358f4c008c88d996143f5eb7e107fc437fce2 Mon Sep 17 00:00:00 2001 From: Greg Lucas Date: Thu, 22 May 2025 20:54:26 -0600 Subject: [PATCH 5/6] Update lib/cartopy/crs.py Removing unused central latitude --- lib/cartopy/crs.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/cartopy/crs.py b/lib/cartopy/crs.py index b40a35263..88d6da8b1 100644 --- a/lib/cartopy/crs.py +++ b/lib/cartopy/crs.py @@ -2554,8 +2554,7 @@ class WinkelTripel(_WarpedRectangularProjection): def __init__(self, central_longitude=0.0, globe=None): globe = globe or Globe(semimajor_axis=WGS84_SEMIMAJOR_AXIS) proj4_params = [('proj', 'wintri'), - ('lon_0', central_longitude), - ('lat_0', 0.0)] + ('lon_0', central_longitude)] super().__init__(proj4_params, central_longitude, From 0d1baff408096b9704ffa879d572e7ca713dc969 Mon Sep 17 00:00:00 2001 From: Greg Lucas Date: Thu, 22 May 2025 20:54:42 -0600 Subject: [PATCH 6/6] Update lib/cartopy/crs.py Fixing formatting of super() call --- lib/cartopy/crs.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/cartopy/crs.py b/lib/cartopy/crs.py index 88d6da8b1..8256e5c33 100644 --- a/lib/cartopy/crs.py +++ b/lib/cartopy/crs.py @@ -2556,9 +2556,7 @@ def __init__(self, central_longitude=0.0, globe=None): proj4_params = [('proj', 'wintri'), ('lon_0', central_longitude)] - super().__init__(proj4_params, - central_longitude, - globe=globe) + super().__init__(proj4_params, central_longitude, globe=globe) @property def threshold(self):