在MATLAB中使用Geoshow的彩色地图

时间:2012-08-24 16:13:30

标签: matlab contour

我正在MATLAB中的mercator(平面)世界地图上绘制轮廓。

我很成功但是当我使用

geoshow('landareas.shp','FaceColor', [0.5 1.0 0,5]) 

它消除了地图上的等高线图。

我的代码是:

axesm('mercator','MapLatLimit',[-50 90],'MapLonLimit',[0 250])

frame on;

grid on;

plotm(lat,long,'k')

contourfm(x,y,z)

无论如何应用

geoshow('landareas.shp','Display',[0.5 1.0 0.5])

1 个答案:

答案 0 :(得分:2)

我不知道你想要达到什么目标,所以如果我的答案方向错误,我们可以详细说明。

我使用此代码生成包含contourfm'landareas'的地图:

load geoid;
figure(1) 
axesm ('mercator','MapLatLimit',[-50 90],'MapLonLimit',[0 250])
contourfm(geoid,geoidrefvec, 'LineStyle', 'none');
geoshow('landareas.shp', 'FaceColor', [0.5 1.0 0.3]);

enter image description here

您可以拥有自己的地图,但要注意网格点的数量,而不是geoid。据我所知,他们必须是180x360。

一个注意事项。您可以考虑使用coast代替landareas,因为contourfm生成所有颜色贴图而'landareas'也有颜色。所以如果它适合你,你可以只改为海岸线:

load geoid;
figure(2)
axesm ('mercator','MapLatLimit',[-50 90],'MapLonLimit',[0 250])
contourfm(geoid,geoidrefvec, 'LineStyle', 'none');
load coast
plotm(lat, long,'black') % plot the coast on the map

contourfm with coast