限制高程ETOPO1 matlab

问题描述 投票:0回答:1

对于带有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);
matlab maps elevation
1个回答
0
投票

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

h = plot3m(lat,lon,z)

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

然后,您可以为文本和标记规定足够高的高度。

© www.soinside.com 2019 - 2024. All rights reserved.