我正在用MATLAB在墨卡托(平面)世界地图上绘制等高线。
我很成功,但是当我使用
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])发布于 2012-12-02 00:52:35
我不知道你到底想要实现什么,所以如果我的答案是错误的,我们可以更详细地阐述。
我使用此代码通过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

https://stackoverflow.com/questions/12113028
复制相似问题