极限高程 ETOPO1 matlab

limit elevation ETOPO1 matlab

对于带有 ETOPO 的地图,如何限制高程 [Z] 以使绘制的标记和名称不被地图覆盖?

现在,我的标记和名字被高程覆盖了。我尝试编辑 [Z],一个 1200 x 1950 的两倍,这太疯狂了,而且我知道这不是改变高度的方法。有什么想法吗?

% Creating figure
figure

% Construct map axes for region
worldmap australia

% Returning the map projection structure from the current map axes
mstruct = gcm;

% Defining limits for lat and long - adjusting map axis
latlim = mstruct.maplatlimit;
lonlim = mstruct.maplonlimit;

% Read ETOPO file within the specified lat and long limits
% "Z" is data grid, an array of elevations
% "refvec" is the three-element referencing vector
[Z, refvec] = etopo(etopoFile,2, latlim, lonlim);

% Plotting marker on map
plotm(-37.814, 144.96332, '.k','markersize',8)

% Naming on map
textm(-37.814, 144.96332,point name,'FontSize',12)

% Displaying map data, with extracted etopo value
geoshow(Z, refvec, 'DisplayType', 'surface');

% Color the map based on the terrain elevation data, Z. 
demcmap(Z, 500);

不要尝试修改 Z 的值。您应该使用 plot3m 函数,该函数需要一个额外的高度参数。

h = plot3m(lat,lon,z)

参见https://www.mathworks.com/help/map/ref/plot3m.html

然后你可以为你的文字和标记指定一个足够高的高度。