How to avoid horizontal black lines across the map and how to force Meridian lines to print every 30°on the map?
Show older comments
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')
run('WinTriPro3.m')
Accepted Answer
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');
5 Comments
William Blanch
on 10 Aug 2026 at 20:12
Walter Roberson
on 10 Aug 2026 at 21:48
I don't think you can combine axis() with axesm()
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');
William Blanch
on 14 Aug 2026 at 3:13
William Blanch
on 14 Aug 2026 at 3:26
William Blanch
on 10 Aug 2026 at 22:18
0 votes
Categories
Find more on Coordinate Reference Systems in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


