Hello Ali,
Ensure that you have the “Mapping Toolbox” installed in MATLAB. It provides built-in support for various map projections, including the Robinson projection. You can check whether you have the Mapping Toolbox installed or not using the “ver mapping_toolbox” command.
You can achieve the desired Robinson Projection using a MATLAB script. In the script, you can create a new figure with a Robinson projection using the “axesm” function and specify the latitude and longitude limits. Then, create a geospatial reference object to associate the map image with the Robinson projection. Finally, use “geoshow” to display the georeferenced image in the Robinson projection.
Feel free to refer to the provided code below as an example:
% Load and display the map image (assuming it's in equirectangular projection)
mapImage = imread('600px-Cylindrical_equal-area_projection_SW.jpg');
% Display Original Image
imshow(mapImage);
title('Equirectangular Projection');
% Create a new figure with a Robinson projection
figure;
ax = axesm('robinson', 'FFaceColor', 'none', 'FEdgeColor', 'k');
% Define the latitude and longitude limits for the Robinson projection
latlim = [-90 90];
lonlim = [-180 180];
% Rotate the image by 180 degrees
mapImage = fliplr(rot90(mapImage, 2));
% Create a geospatial reference object for the Robinson projection
georef = georefcells(latlim, lonlim, size(mapImage));
% Display the georeferenced image in the Robinson projection
geoshow(ax, mapImage, georef);
title('Robinson Projection');
Output Image:
To know more you can refer to the following documentation links: