Overlay polygon on geographic axes
54 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Caroline Nowlan
il 29 Ott 2019
Commentato: Brad Onstott
il 11 Feb 2023
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.
0 Commenti
Risposta accettata
Subhadeep Koley
il 1 Nov 2019
% 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 = [];
2 Commenti
Più risposte (1)
Mike D.
il 21 Feb 2020
What if you had (lat,lon) coordinates of the polygon you wanted to overlay? It looks like your x and y coordinates might be normalized coordinates?
3 Commenti
Mike D.
il 19 Feb 2021
Notice he is creating a new ax2 = axes overtop of the geoaxes, and then setting its limits to be axis([0 1 0 1]); So the coordinates are effectively normalized to the width and height (0 to 1).
This is more of a work-around by creating another axes overtop and making its axes labels invisible. Hopefully a future version of Matlab allows the geoaxes to create a patch on the geoaxes.
Brad Onstott
il 11 Feb 2023
Mike D: Good call! MATLAB 2022b does allow for an overlay consisting of user-defined Lat/Long coordinates.
Vedere anche
Categorie
Scopri di più su Geographic Plots in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!