主要内容

本页采用了机器翻译。点击此处可查看英文原文。

将大地水准面高值叠加在地形图上

将大地水准面数据叠加在地形起伏上进行显示。例如,在此示例中,将大地水准面数据作为颜色属性显示,而不是以三维曲面的形式显示。

加载地形栅格数据和地理像元参考对象。通过调用 egm96geoid 函数并指定参考对象,可获取大地水准面高度。

load topo60c
[N,R] = egm96geoid(topo60cR);

使用加尔立体柱面投影(一种透视投影)创建一张基于 axesm 的地图。使用 meshm 以颜色显示大地水准面的变化,但需将 topo60c 指定为最后一个参量,以便为每个大地水准面网格单元赋予对应地形网格单元的高度(z 的值)。低大地水准面高度用蓝色表示,高大地水准面高度用黄色表示。

axesm gstereo;
meshm(N,R,size(N),topo60c)

Figure contains an axes object. The axes object contains an object of type surface.

作为参考,请将全球海岸线用黑色绘制出来,将其海拔提升至 1000 米(足够高,以使附近地表完全被遮蔽),并将地图放大至填满整个画面。

load coastlines
plotm(coastlat,coastlon,'k')
zdatam(handlem('allline'),1000)
tightmap

Figure contains an axes object. The axes object contains 2 objects of type surface, line.

由于采用垂直视角且缺乏照明,地形起伏无法直观呈现,但这部分信息已包含在该图形的表面数据中。通过大幅夸大地形起伏,并采用南偏东南方向的视角来突出这一效果。

daspectm('m',200); tightmap
view(20,35)

Figure contains an axes object. The axes object contains 2 objects of type surface, line.

移除边界框,对表面进行照明(使用默认位置,偏移至视点右侧),然后使用古罗德着色法重新渲染。

ax = gca;
ax.Box = 'off';
camlight;
lighting Gouraud

Figure contains an axes object. The axes object contains 2 objects of type surface, line.

最后,将透视效果设置为略微收敛(默认透视效果为正投影)。请注意,大地水准面与安第斯山脉、喜马拉雅山脉和大西洋中脊等主要山脉的地形相呼应。您还可以看到,大面积的高或低大地水准面高度并非仅仅是地形造成的。

ax.Projection = 'perspective';

Figure contains an axes object. The axes object contains 2 objects of type surface, line.