MATLAB: Overlay polygon on geographic axes

geoaxesgeobasemapMapping Toolboxpolygon

I would like to overlay a patch (filled polygon) on a geographic axis created using geoaxes. Is there any way to do this in R2019b? I have only found functions for plotting lines and symbols (geoplot, geoscatter).
This would be similar to patchm in the mapping toolbox.

Best Answer

You can use the patch() function to achieve the same. Use the code below.
% Plot your Geo data here
latSeattle = 47.62;
lonSeattle = -122.33;
latAnchorage = 61.20;
lonAnchorage = -149.9;
gx = geoaxes;
geoplot(gx,latSeattle,lonSeattle);
geobasemap(gx,'landcover');
% Plot your Patch data here
ax2 = axes;
x = [0.25 0.6 0.6 0.25]; % Modify x coordinates of the polygon
y = [0.25 0.25 0.4 0.4]; % Modify y coordinates of the polygon
patch(ax2, x, y,'red','FaceAlpha',.4); % Modify patch color and transparency
axis([0 1 0 1]);
% Set ax2 visibility to 'off'
ax2.Visible = 'off';
ax2.XTick = [];
ax2.YTick = [];
geoPatch.png