- Initialize a map,
- Transform coordinates, then
- plot using standard (non-mapping toolbox) plotting functions. Here's an example:
cannot get a rectangle with linem
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I am trying the draw a rectangle on the world map. The our vertices in (latitude, longitude) are [-60, -140] [-60, 140] [60, 140] [60, -140].
I used the following command:
linem([-60;-60], [-140;140], 'm-');
linem([-60;60], [140;140], 'm-');
linem([60;60], [-140;140], 'm-');
linem([60;-60], [-140;-140], 'm-');
It seems that I can only get two vertical lines. Does anyone have any suggestion?
Thanks!
0 Commenti
Risposta accettata
Chad Greene
il 22 Nov 2015
I get the same problem using Matlab 2012b. I've been finding a number of weird behaviors with Mapping Toolbox plotting functions lately. The first thing I always try as a workaround is to manually perform coordinate transformations, then plot using standard plotting functions. To do this,
% Using these coordinates for your bounding box:
lat = [-60 -60 60 60 -60];
lon = [-140 140 140 -140 -140];
% Initialize a map:
worldmap('world')
% Perform coordinate transformation:
[x,y] = mfwdtran(lat,lon);
% Plot using line instead of linem:
line(x,y,'color','m')
However, the bounding box does not follow the curves of the projection, so you might want to densify the lines before doing coordinate transformation:
lat = [-60 -60:60 60:-1:-60];
lon = [-140 140*ones(1,121) -140*ones(1,121)];
worldmap('world')
[x,y] = mfwdtran(lat,lon);
line(x,y,'color','m')
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su 2-D and 3-D Plots in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!