我正在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])
答案 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]);
您可以拥有自己的地图,但要注意网格点的数量,而不是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