2

我正在 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])
4

1 回答 1

2

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

我使用此代码生成带有contourfmand的地图'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

带海岸的contourfm

于 2012-12-01T16:52:34.703 回答