多语言展示
当前在线:582今日阅读:19今日分享:20

显示地形数据

这个例子展示了几种表示地球地形的方法。本示例中使用的数据可从国家地球物理数据中心,国家海洋和大气管理局美国商务部数据公告88-MGG-02。
工具/原料
1

matlab软件

2

电脑

方法/步骤
1

关于地形数据 数据文件topo.mat包含地形数据。Topo是海拔数据,topomap1是海拔的颜色图。命令行键入:load topo topo topomap1    whos('topo','topomap1')

2

创建等高线图将地形数据可视化的一种方法是创建一个等高线图。为了显示地球大陆的轮廓,有零高度的点。轮廓的前三个输入参数指定轮廓图上的X、Y和Z值。第四个参数指定要绘制的等高线级别。命令行键入:x = 0:359;                                y = -89:90;                                figurecontour(x,y,topo,[0 0]) axis equal                                box on                                     ax = gca;                                 ax.XLim = [0 360];                        ax.YLim = [-90 90];                       ax.XTick = [0 60 120 180 240 300 360];    ax.YTick = [-90 -60 -30 0 30 60 90];

3

按“Enter'键。如图1所示。

4

将数据视为图像您可以使用高程数据和自定义彩色地图创建地形图像。地形数据被视为自定义颜色图的索引。将图像的CDataMapping设置为“缩放”,以便将数据值线性缩放到彩色地图的范围。在这个彩色地图中,绿色的阴影显示高度数据,蓝色的阴影代表海平面以下的深度。命令行键入:image([0 360],[-90 90], flip(topo), 'CDataMapping', 'scaled')colormap(topomap1) axis equal                                ax = gca;                                 ax.XLim = [0 360];                        ax.YLim = [-90 90];                       ax.XTick = [0 60 120 180 240 300 360];    ax.YTick = [-90 -60 -30 0 30 60 90];

5

按“Enter'键。如图2示。

6

使用纹理映射纹理映射将二维图像映射到三维表面。要将地形映射到球面,请将曲面的颜色(由CData属性指定)设置为地形数据,并将FaceColor属性设置为“纹理贴图”。命令行键入:clf[x,y,z] = sphere(50);          s = surface(x,y,z);             s.CData = topo;                s.FaceColor = 'texturemap';    s.EdgeColor = 'none';          s.FaceLighting = 'gouraud';    s.SpecularStrength = 0.4;       light('Position',[-1 0 1])      axis square off                view([-30,30])

7

按“Enter'键。如图3所示。

推荐信息