How to avoid horizontal black lines across the map and how to force Meridian lines to print every 30°on the map?

I'm trying to create a Winkel Tripel Earth Map centered at 60°W longitude. It is centered at 60°W but there are horizontal black lines across the map that I would like to avoid or delete. Also, I would like to force the code to show the meridian lines every 30° so that there would be a meriidan line at the center and maybe fomat that line differently. Another color, higher weight.
dbtype('WinTriPro3.m')
1 % 1. Create a Winkel Tripel Coordinate Reference System (CRS) 2 % ESRI:54042 is the industry standard code for the Winkel Tripel World projection 3 crs = projcrs(54042, 'Authority', 'ESRI'); 4 5 % 2. Shift the Central Meridian to 60° West 6 crs.ProjectionParameters.LongitudeOfNaturalOrigin = -60; 7 8 % 3. Initialize a clean figure and set up the map axis with your custom CRS 9 figure; 10 ax = newmap(crs); 11 12 % 4. Load global land areas and plot them cleanly using geoplot 13 % geoplot automatically handles the mathematical projections onto your axis! 14 land = readgeotable("landareas.shp"); 15 geoplot(ax, land, 'FaceColor', [0.9 0.9 0.9], 'EdgeColor', [0.4 0.4 0.4]); 16 17 % 5. Add visual context, grid, and a title 18 title('Winkel Tripel Projection Centered at 60°W');
run('WinTriPro3.m')

 Accepted Answer

Great! Thanks Sam. I think the Robinson Projection will work. I am Overlaying the Earth map onto my Fantasy World map for comparison and my World map is a robinson Projection, somebody told me that my map was a Winkel Tripel Projection. Now, what about getting the labels on.

More Answers (2)

Cartography isn’t my business, but it seems that disabling crs.ProjectionParameters in the generated code removes those thick black horizontal lines.
% 1. Create a Winkel Tripel Coordinate Reference System (CRS)
% ESRI:54042 is the industry standard code for the Winkel Tripel World projection
crs = projcrs(54042, 'Authority', 'ESRI');
% 2. Shift the Central Meridian to 60° West
% crs.ProjectionParameters.LongitudeOfNaturalOrigin = -60;
% 3. Initialize a clean figure and set up the map axis with your custom CRS
figure;
ax = newmap(crs);
% 4. Load global land areas and plot them cleanly using geoplot
% geoplot automatically handles the mathematical projections onto your axis!
land = readgeotable("landareas.shp");
geoplot(ax, land, 'FaceColor', [0.9 0.9 0.9], 'EdgeColor', [0.4 0.4 0.4]);
Also, when I searched for the keyword “Winkel” online, I end up with the axesm function and the winkel identifier.
% Load geographic land areas (shapefile that uses geographic coordinates)
land = shaperead('landareas.shp', 'UseGeoCoords', true);
% Create Winkel Tripel map centered at 60°W (Origin = [lat0 lon0 rot])
figure;
axesm('MapProjection', 'winkel', 'Frame', 'on', 'Grid', 'on', 'Origin', [0 -60 0]);
geoshow(gca, land, 'FaceColor', [0.9 0.9 0.9], 'EdgeColor', [0.4 0.4 0.4]);
title('Winkel Tripel Projection Centered at 60°W');
Warning: Graphics acceleration hardware is unavailable. Graphics quality and performance might be diminished. See MATLAB System Requirements.

5 Comments

Can we stretch it at the corners using axis( ), so it doesn't look as squished? Also, how do we add the Meridian East-West Degree labels on the Equator and the Paralel North-South Degree labels on the left 120°E Meridian?
I don't know how to make the Winkel map looks less squishy on axesm-based map. But the documentation says that Winkel uses the Sinusoidal and Equidistant Cylindrical projections. For different types of projections, you may refer to Map Frame and the Summary and Guide to Projections.
Have you tried adjusting the axesm-based map properties to control the meridian and appearance of map?
% Load geographic land areas
land = shaperead('landareas.shp', 'UseGeoCoords', true);
figure('Position', [100, 100, 800, 600]);
t = tiledlayout(2, 2, 'TileSpacing', 'Compact');
title(t, 'Different World Map projections centered at 60°W')
% Create world map centered at 60°W (Origin = [lat0 lon0 rot])
nexttile
axesm('MapProjection', 'mercator', 'Grid', 'on', 'Origin', [0 -60 0]);
geoshow(gca, land, 'FaceColor', [0.9 0.9 0.9], 'EdgeColor', [0.4 0.4 0.4]);
title('Mercator');
nexttile
axesm('MapProjection', 'robinson', 'Grid', 'on', 'Origin', [0 -60 0]);
geoshow(gca, land, 'FaceColor', [0.9 0.9 0.9], 'EdgeColor', [0.4 0.4 0.4]);
title('Robinson');
nexttile
axesm('MapProjection', 'winkel', 'Grid', 'on', 'Origin', [0 -60 0]);
geoshow(gca, land, 'FaceColor', [0.9 0.9 0.9], 'EdgeColor', [0.4 0.4 0.4]);
title('Winkel');
nexttile
axesm('MapProjection', 'ortho', 'Grid', 'on', 'Origin', [0 -60 0]);
geoshow(gca, land, 'FaceColor', [0.9 0.9 0.9], 'EdgeColor', [0.4 0.4 0.4]);
title('Orthographic');
I was able to get a Winkel Tripel Projection map of the Earth but now I get the Error in both WinTri and Robinson Projections: >> RobPro
land requires one of the following:
Error in
geoshow(gca, land, 'FaceColor', [0.9 0.9 0.9], 'EdgeColor', [0.4 0.4 0.4]);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>> WinTriProAsk
land requires one of the following:
Error in
geoshow(gca, land, 'FaceColor', [0.9 0.9 0.9], 'EdgeColor', [0.4 0.4 0.4]);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Why do I need a Support Package now when I didn't before?

Sign in to comment.

There should be a way to change the size of the map? What about the Labels, can those be added to the map?

Products

Release

R2025b

Asked:

on 9 Aug 2026 at 20:21

Commented:

on 14 Aug 2026 at 3:26

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!