主要内容

geoaxes

创建地理坐标区

说明

地理坐标区在地图上显示具有经度和纬度坐标的数据。地图是实时地图,这意味着您可以通过平移查看附近的地理区域,通过缩放查看区域的更多细节。

创建地理坐标区

geoaxes 在当前图窗中创建默认地理坐标区。通常,您不需要在绘制前创建地理坐标区,因为地理绘图函数会在地理坐标区不存在时自动创建地理坐标区。

示例

geoaxes(Name=Value) 使用一个或多个名称-值参量指定地理坐标区的选项。例如,FontSize=14 将地理坐标区的字体大小设置为 14 磅。有关属性列表,请参阅 GeographicAxes 属性

示例

geoaxes(parent,___)parent 指定的对象中(而不是在当前图窗中)创建地理坐标区,此外还使用来自上述语法的输入的任何组合。

示例

gx = geoaxes(___) 返回 GeographicAxes 对象。可在创建 GeographicAxes 对象后使用 gx 查询和修改对象属性。有关属性列表,请参阅 GeographicAxes 属性

指定当前坐标区

geoaxes(cgx) 使 GeographicAxes 对象 cgx 成为当前坐标区。

示例

示例

全部折叠

通过在一个图窗中放置两个 GeographicAxes 对象来创建一个具有插页地图的地图。

创建两个 GeographicAxes 对象。对第一个 GeographicAxes 对象使用默认位置。指定第二个 GeographicAxes 对象的位置,使其左下角位于点 (0.65 0.65) 处,宽度为 0.245,高度为 0.265。默认情况下,geoaxes 会对值进行归一化,使其适合在图窗中显示。将这两个 GeographicAxes 对象返回为 gx1gx2

figure
gx1 = geoaxes;
gx2 = geoaxes(Position=[0.65 0.65 0.245 0.265]);

加载一个包含加利福尼亚州手机信号发射塔数据的表。表中的行表示单个手机信号发射塔。表变量包括关于手机信号发射塔的数据,例如纬度和经度坐标。

load cellularTowers.mat

在第一个地理坐标区中显示手机信号发射塔的位置。通过更改底图为数据提供地理上下文。

geoscatter(gx1,cellularTowers,"Latitude","Longitude",Marker=".")
geobasemap(gx1,"colorterrain")

自定义第二个地理坐标区的外观。

  • 指定与第一个地理坐标区的范围匹配的范围。

  • 更改底图并删除网格线。

  • 通过设置 AxisColor 属性隐藏轴线、刻度和标签。

  • 添加文本。

[latlim,lonlim] = geolimits(gx1);
geolimits(gx2,latlim,lonlim)

geobasemap(gx2,"darkwater")
grid(gx2,"off")

gx2.AxisColor = "none";

text(gx2,38,-121,"*California")

创建两个 GeographicAxes 对象并指定其位置。将这两个 GeographicAxes 对象返回为 gx1gx2

figure
gx1 = geoaxes(Position=[0.13 0.11 0.35 0.37]);
gx2 = geoaxes(Position=[0.52 0.50 0.35 0.37]);

gx1 设置为当前坐标区。此操作使该坐标区成为后续图形函数的目标。

geoaxes(gx1)

加载一个 MAT 文件,其中包含美国的连续外边缘坐标。该文件包含两个变量:uslat 变量以度为单位指定纬度坐标,uslon 变量以度为单位指定经度坐标。

load usapolygon.mat

显示当前坐标区中的数据。然后,更改当前坐标区的底图。请注意,这些更改应用于 gx1

geoplot(uslat,uslon)
geobasemap topographic

创建包含两个选项卡的图窗。通过为每个坐标区指定父容器,向每个选项卡添加一个地理坐标区。

figure
tab1 = uitab(Title="Tab1");
gx1 = geoaxes(tab1);

tab2 = uitab(Title="Tab2");
gx2 = geoaxes(tab2);

在第一个选项卡中,在灰色和白色底图上绘制美国东北部的县位置。在第二个选项卡中,在地貌底图上查看同一区域。

tbl = readtable("counties.xlsx");
geoscatter(gx1,tbl,"Latitude","Longitude")
geobasemap(gx1,"grayland")

[latlim,lonlim] = geolimits(gx1);
geolimits(gx2,latlim,lonlim)
geobasemap(gx2,"topographic")

输入参数

全部折叠

父容器,指定为 FigurePanelTabTiledChartLayoutGridLayout 对象。

要设置为当前坐标区的地理坐标区,指定为 GeographicAxes 对象。

名称-值参数

全部折叠

Name1=Value1,...,NameN=ValueN 的形式指定可选参量对组,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。

示例: geoaxes(Position=[0.3 0.3 0.5 0.5]) 指定地理坐标区的位置,使其左下角位于 (0.3, 0.3) 处,宽度和高度为 0.5。默认情况下,geoaxes 会对值进行归一化,使其适合在图窗中显示。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: geoaxes("Position",[0.3 0.3 0.5 0.5]) 指定地理坐标区的位置,使其左下角位于 (0.3, 0.3) 处,宽度和高度为 0.5。默认情况下,geoaxes 会对值进行归一化,使其适合在图窗中显示。

注意

使用名称-值参量为由此函数创建的 GeographicAxes 对象的属性指定值。此处所列的属性只是一部分。有关完整列表,请参阅 GeographicAxes 属性

要在其上绘制数据的地图,指定为下表中列出的值之一。有六幅底图是使用 Natural Earth 创建的图块化数据集。其中五个底图是由 Esri® 托管的高缩放级别地图。

'streets-light' basemap

'streets-light'(默认值)

旨在提供地理上下文同时在浅色背景上突出显示用户数据的地图。

由 Esri 托管。

'streets-dark' basemap

'streets-dark'

旨在提供地理上下文同时在深色背景上突出显示用户数据的地图。

由 Esri 托管。

'streets' basemap

'streets'

通用公路图,强调公路和交通网络的准确、清晰样式。

由 Esri 托管。

'satellite' basemap

'satellite'

由高分辨率卫星图像组成的完整全球底图。

由 Esri 托管。

'topographic' basemap

'topographic'

具有用于描绘地貌特征的样式的通用地图。

由 Esri 托管。

'landcover' basemap

'landcover'

结合卫星衍生的地表数据、着色地势和海底地势的地图。明亮、自然的调色板适用于主题地图和参考地图。

使用 Natural Earth 创建。

'colorterrain' basemap

'colorterrain'

叠加了地表配色的着色地势图。潮湿的低地为绿色,干旱的低地为棕色。

使用 Natural Earth 创建。

'grayterrain' basemap

'grayterrain'

灰色地形图。着色地势强调高山和洼地的微地形。

使用 Natural Earth 创建。

'bluegreen' basemap

'bluegreen'

具有浅绿色陆地区域和浅蓝色水域的双色陆地海洋地图。

使用 Natural Earth 创建。

'grayland' basemap

'grayland'

具有灰色陆地区域和白色水域的双色陆地海洋地图。

使用 Natural Earth 创建。

'darkwater' basemap

'darkwater'

具有浅灰色陆地区域和深灰色水域的双色陆地海洋地图。此底图随 MATLAB® 一起安装。

使用 Natural Earth 创建。

 

'none'

空白背景,用经纬度网格、刻度和标签绘制数据。

'darkwater' 外,所有底图都需要 Internet 访问权限。'darkwater' 底图包含在 MATLAB 中。

如果您不能随时访问 Internet,可使用附加功能资源管理器将使用 Natural Earth 创建的底图下载到您的本地系统上。这五个高缩放级别的地图无法下载。有关下载底图和更改本地系统上默认底图的详细信息,请参阅访问用于地理坐标区和地理图的底图

由 Esri 托管的底图会周期性更新。因此,随着时间的推移,您可能会看到可视化出现差异。

边界和区域标签的对齐是数据供应商提供的功能的展示,并不意味着 MathWorks® 对此做出背书。

数据类型: char | string

大小和位置,不包括标签边距,指定为 [left bottom width height] 形式的四元素向量。默认情况下,MATLAB 按照归一化的容器单位来测量值。要更改单位,请设置 Units 属性。

  • leftbottom 元素定义从容器(通常为图窗、面板或选项卡)左下角到位置边界左下角之间的距离。

  • widthheight 元素是位置边界维度。

如果要指定位置并考虑让文本围绕坐标区,请改为设置 OuterPosition 属性。以下图窗显示由 OuterPosition 值(蓝色)和 Position 值(红色)定义的区域。

Geographic axes with a title. The inner position is outlined in red. The outer position is outlined in blue.

注意

当父容器为 TiledChartLayout 对象时,设置此属性不起作用。

大小和位置,包括标签和边距,指定为 [left bottom width height] 形式的四元素向量。默认情况下,MATLAB 按照归一化的容器单位来测量值。要更改单位,请设置 Units 属性。[0 0 1 1] 的默认值包括容器的整个内部。

  • leftbottom 元素定义从容器(通常为图窗、面板或选项卡)左下角到外部位置边界左下角之间的距离。

  • widthheight 元素是外边界尺寸。

以下图窗显示由 OuterPosition 值(蓝色)和 Position 值(红色)定义的区域。

Geographic axes with a title. The inner position is outlined in red. The outer position is outlined in blue.

注意

当父容器为 TiledChartLayout 对象时,设置此属性不起作用。

位置单位,指定为下列值之一:

Units描述
"normalized"(默认值)根据容器进行归一化,容器通常是图窗或面板。容器的左下角映射到 (0,0),右上角映射到 (1,1)
"inches"英寸。
"centimeters"厘米。
"characters"

基于图形根对象的默认 UIControl 字体:

  • 字符宽度 = 字母 x 的宽度。

  • 字符高度 = 两个文本行的基线之间的距离。

"points"字体磅数。1 磅等于 1/72 英寸。
"pixels"

像素。

在 Windows®Macintosh 系统上,像素的大小为 1/96 英寸。此大小与系统分辨率无关。

在 Linux® 系统上,一个像素的大小由系统分辨率确定。

在对象创建过程中使用名称-值参量指定单位时,您必须先设置 Units 属性,然后再指定要使用这些单位的属性(如 Position)。

输出参量

全部折叠

地理坐标区,以 GeographicAxes 对象形式返回。可在创建 GeographicAxes 对象后使用 gx 查询和修改对象属性。有关属性列表,请参阅 GeographicAxes 属性

提示

  • Mapping Toolbox™ 支持其他绘图功能:

  • 有些图形函数会在绘图时重置坐标区属性。要在地理坐标区中绘制其他数据,请在调用绘图函数之前使用 hold on 命令。

  • 不支持在地理坐标区中绘制需要笛卡尔坐标区的数据。

  • 当您在地理坐标区上绘图时,geoaxes 函数假定坐标参考 WGS84 坐标参考系。如果使用参考不同坐标参考系的坐标进行绘图,则坐标可能会显示为未对齐。

版本历史记录

在 R2018b 中推出