Main Content

geolimits

设置或查询地理范围

说明

指定范围

示例

geolimits(latlim,lonlim) 调整当前地理坐标区、地理气泡图或地图坐标区的范围,以包括分别由 latlimlonlim 指定的纬度和经度范围。如果当前坐标区不是地理坐标区、地理气泡图或地图坐标区,或没有当前坐标区,则该函数会使用指定的范围创建一个新的地理坐标区。

注意

geolimits 函数使用的范围通常比您指定的范围要宽,以保持地图的纵横比。

geolimits(limitmode) 指定自动或手动范围选择。您可以将 limitmode 指定为以下值之一:

  • "auto" - 启用自动范围选择。MATLAB® 根据您的数据范围选择范围。如果您多次在坐标区或图中绘制,范围会更新以涵盖所有数据。

  • "manual" - 尽可能保留当前范围。

您可以不带括号指定 limitmode 参量。例如,geolimits auto 启用自动范围选择。

查询范围

示例

[latitudeLimits,longitudeLimits] = geolimits 返回当前纬度和经度范围。

[latitudeLimits,longitudeLimits] = geolimits(___) 使用上述语法输入的任意组合调整范围,然后返回实际范围。

指定目标坐标区或图

[___] = geolimits(ax,___) 使用 ax 指定的坐标区或图。

示例

全部折叠

将包含海啸(潮汐波)事件的电子表格以表的形式读入工作区中。Latitude 和 Longitude 表变量包含海啸事件的位置。MaxHeight 表变量包含海啸的最大高度。

T = readtable("tsunamis.xlsx");

lat = T.Latitude;
lon = T.Longitude;
sz = T.MaxHeight;

在地形底图上使用地理气泡图显示数据。使用海啸高度指定气泡大小。使用 SizeLegendTitle 名称-值参量更改大小图例的标题。

geobubble(lat,lon,sz,"SizeLegendTitle","Maximum Height")
geobasemap colorterrain

Figure contains an object of type geobubble.

通过更改纬度和经度范围,放大包含不列颠哥伦比亚省和美国西部的区域。

geolimits([28 65],[-158 -100])

Figure contains an object of type geobubble.

为了保持纬度轴和经度轴的纵横比,geolimits 函数通常使用的覆盖区域的范围比您指定的范围要大。查询地图的实际范围。

[latitudeLimits,longitudeLimits] = geolimits
latitudeLimits = 1×2

   28.0000   65.0000

longitudeLimits = 1×2

 -159.0627  -98.9373

将包含美国连续周边坐标的 MAT 文件加载到工作区中。MAT 文件中的变量 uslatuslon 分别指定数值纬度和经度坐标。在地貌底图上显示坐标。

load usapolygon.mat
geoplot(uslat,uslon)
geobasemap topographic

查询纬度和经度范围。

[latitudeLimits,longitudeLimits] = geolimits
latitudeLimits = 1×2

   17.3588   54.6665

longitudeLimits = 1×2

 -126.1638  -65.5263

向坐标区添加更多绘图时,使用手动模式保持当前纬度和经度范围。

将包含手机信号发射塔数据的电子表格以表形式读入工作区中。LatitudeLongitude 表变量表示手机信号发射塔的位置。使用 grayland 底图上的点标记显示发射塔的位置。

load cellularTowers.mat
lat1 = cellularTowers.Latitude;
lon1 = cellularTowers.Longitude;

geoscatter(lat1,lon1,".")
geobasemap grayland

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

将包含美国各州连续坐标的 MAT 文件加载到工作区中。MAT 文件包含一个具有纬度和经度字段的结构体数组。从该结构体数组中提取纬度和经度。

load usastates.mat
lat2 = [usastates.Lat];
lon2 = [usastates.Lon];

将地理范围模式设置为手动,以便范围不发生变化。使用 hold on 将第二个绘图添加到坐标区。

geolimits manual
hold on
geoplot(lat2,lon2)

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

范围不会更新以包含该新绘图。

通过将模式重置为自动来重新切换回自动更新的范围。

geolimits auto

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

输入参数

全部折叠

最小和最大纬度范围,指定为 [latmin latmax] 形式的二元素向量,其中 latmax 大于 latmin

示例: [50 65]

数据类型: single | double

最小和最大经度范围,指定为 [lonmin lonmax] 形式的二元素向量,其中 lonmax 大于 lonmin

示例: [-175 -130]

数据类型: single | double

范围模式,指定为下列值之一:

  • "auto" - 启用基于数据跨度的自动范围选择。如果您多次在坐标区中绘图,范围会更新以涵盖所有数据。如果更改了范围,然后又想将它们设置回默认值,您可以使用此选项。

  • "manual" - 尽可能保留当前范围。当使用 hold on 命令向坐标区添加新数据时,如果要保留当前范围,请使用此选项。

数据类型: char | string

目标坐标区或图,指定为 GeographicAxes 对象 1GeographicBubbleChart 对象或 MapAxes (Mapping Toolbox™) 对象。

如果不指定此参量,则 geolimits 函数会调整当前坐标区的范围,前提是当前坐标区是地理坐标区对象、地理气泡图或地图坐标区对象。

输出参量

全部折叠

实际纬度范围,返回为 [latmin latmax] 形式的二元素向量。

实际经度范围,返回为 [lonmin lonmax] 形式的二元素向量。

提示

对于地图坐标区,该函数可以包括由 latlimlonlim 定义的四边形周围的区域。有关仅显示四边形内数据的信息,请参阅Create Map of Quadrangle Using Cartographic Map Layout (Mapping Toolbox)

版本历史记录

在 R2017b 中推出


1 Alignment of boundaries and region labels are a presentation of the feature provided by the data vendors and do not imply endorsement by MathWorks®.