主要内容

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

globe

基于 axesm 的地图上用于显示三维地图的框架

分类

球面

标识符

globe

经纬网

此地图显示基于坐标变换,并非真正的地图投影。经线、纬线和显示的地图数据以三维视图呈现,该视图取决于基于 axesm 的地图的视图和摄像机设置。可以交互式地更改视图,也可以使用 view 函数进行更改。使用 camposmcamtargmcamupm 函数更改相机设置。

特征

在三维意义上,globe 在任何地方都满足等比例、等面积、等角、最小误差和等距条件。

虽然 globe 不存在平面投影固有的畸变,但无法无畸变地或完整地显示。为了在图形窗口中渲染球体,必须应用透视变换或正交变换,这两种变换都必然涉及设定视点、隐藏背面,以及形状、比例和角度的畸变。

纬线

球体无需标准纬线。

备注

globe 显示功能可让您直观地查看从太空俯瞰整个行星的地形起伏或其他数据。其底层变换将纬度、经度和海拔映射到三维笛卡尔坐标系中。globe 投影与其他变换不同,因为它能够呈现球体上方、下方或球体表面高程的相对高差。

显示时,该球体看起来像一个正交方位投影,前提是基于 axesm 的地图的 Projection 属性被设置为 'orthographic'

示例

全部展开

在三维球体模型上显示基于 EGM96 大地水准面模型的大地水准面高度。首先,获取大地水准面高程和地理坐标参考对象。加载海岸线纬度和经度数据。

[N,R] = egm96geoid;
load coastlines

使用 axesm 为 三维球体展示创建一个框架。使用 view 设置球体的视线方向。使用 axis off 关闭坐标轴背景。然后,显示大地水准面高程和海岸线数据。

axesm('globe','Grid','on')
view(60,60)
axis off
meshm(N,R)
plotm(coastlat,coastlon)

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

通过将多边形转换为数据网格,在球体上显示该多边形。

创建一个包含孔洞且位于球体表面的示例多边形。为此,请使用 outlinegeoquad 函数生成其外部和内部边界的顶点。将地理边界作为前两个参量指定,并将顶点间距(以度为单位)作为接下来的两个参量指定。使用 flip 函数反转内部边界顶点的顺序,使其按逆时针顺序排列。

[latE,lonE] = outlinegeoquad([-35 35],[-30 30],0.25,0.25);
[latI,lonI] = outlinegeoquad([-15 15],[-15 15],0.25,0.25);
latI = flip(latI);
lonI = flip(lonI);

通过用 NaN 值分隔边界,将顶点合并为一个列表。

lat = [latE NaN latI];
lon = [lonE NaN lonI];

向量 latlon 表示一个带有孔的多边形的边界。通过将多边形转换为数据网格,在球体上以实心多边形的形式显示边界。

为此,请为球体创建一个地理单元引用对象,并创建一个由“1”组成的网格。使用 vec2mtx 函数将网格中的元素替换为多边形数据。新网格中,0 表示多边形的内部区域,1 表示边界,2 表示多边形的外部区域。

R = georefcells([-90 90],[-180 180],0.25,0.25);
V = ones(R.RasterSize);
[V,R] = vec2mtx(lat,lon,V,R,'filled');

使用 axesm 函数创建一个球体。使用 geoshow 函数将数据网格显示为图像。调整颜色图,使多边形的内部区域为紫色,外部区域为白色。使用 view 函数更改摄像机的视线方向,使多边形显示在球体的近侧。

axesm('globe','Grid','on')
geoshow(V,R,'DisplayType','texturemap')
colormap([0.5 0.5 0.8; 0 0 0; 1 1 1])
axis off
view(100,20)

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

多边形在球体上的显示效果取决于摄像机的视线方向和球体的透明度。例如,使用 alpha 函数将球体设置为略微透明。

alpha(0.6)

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

当您从球体的近侧观察该多边形时,其外部边界的顶点会按顺时针顺序排列。当您从球体的另一侧观察该多边形时,其外部边界的顶点会按逆时针顺序排列。当您旋转球体,使该多边形同时出现在近侧和远侧时,该多边形看起来会与自身相交。

版本历史记录

在 R2006a 之前推出