Main Content

使用纬度和经度数据创建地图

使用地理坐标区和图在地图上绘制纬度和经度数据。地理坐标区和图使您能够通过使用底图来提供数据的上下文,通过平移来查看附近的区域,以及通过缩放来查看区域的更多细节。

以下示例说明如何根据纬度和经度数据创建地理线图、散点图、气泡图和密度图。

地理线图

使用 geoplot 函数创建地理线图。

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

load usapolygon.mat

使用 geoplot 函数根据坐标创建一个线图。使用线条设定来自定义线条的外观。

figure
geoplot(uslat,uslon,"-.")

使用 geolimits 函数更改地图的纬度和经度范围。使用 geobasemap 函数更改底图。然后,使用 title 函数添加标题。

geolimits([35 49],[-87 -62])
geobasemap grayland
title("Northeast United States")

Figure contains an axes object with type geoaxes. The geoaxes object contains an object of type line.

地理散点图

使用 geoscatter 函数创建地理散点图。

指定几个欧洲城市的经度和纬度坐标。

lat = [48.85 51.5 40.41 41.9 52.52 52.36 52.22 47.49 44.42 50.07 48.20 46.94];
lon = [2.35 -0.12 -3.70 12.49 13.40 4.90 21.01 19.04 26.10 14.43 16.37 7.44];

使用 geoscatter 函数根据坐标创建散点图。使用品红色菱形作为标记。

figure
geoscatter(lat,lon,[],"m","d")

使用 geolimits 函数调整地图的纬度和经度范围。使用 geobasemap 函数更改底图。然后,使用 title 函数添加标题。

geolimits([30 60],[-13 43])
geobasemap topographic
title("European Cities")

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

独立地理气泡图

使用 geobubble 函数创建独立的地理气泡图。

以表的形式将海啸数据读入工作区。表中的每行表示一个单独的海啸事件。表变量包括有关海啸的数据,如纬度、经度、成因和浪高。

tsunamis = readtable("tsunamis.xlsx");

准备根据海啸的成因为气泡着色。Cause 表变量指定每次海啸发生的原因,例如 'Earthquake' 或 'Volcano'。将 Cause 变量从字符向量元胞数组转换为分类向量。

tsunamis.Cause = categorical(tsunamis.Cause);

使用 geobubble 函数基于表创建一个地理气泡图。使用 LatitudeLongitude 表变量指定海啸位置。使用存储在 MaxHeight 表变量中的浪高指定气泡的大小。使用存储在 Cause 表变量中的类别指定气泡的颜色。在 gb 中返回地理气泡图对象。

figure
gb = geobubble(tsunamis,"Latitude","Longitude", ...
    SizeVariable="MaxHeight",ColorVariable="Cause");

使用 geolimits 函数更改地图的纬度和经度范围。使用 geobasemap 函数更改底图。

geolimits([10 65],[-180 -80])
geobasemap colorterrain

使用 title 函数添加标题。通过设置地理气泡图对象的 SizeLegendTitle 属性来更改大小图例的名称。

title("Tsunamis in North America")
gb.SizeLegendTitle = "Maximum Height";

Figure contains an object of type geobubble. The chart of type geobubble has title Tsunamis in North America.

地理密度图

使用 geodensityplot 函数创建地理密度图。

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

load cellularTowers.mat

从表中提取纬度和经度坐标。

lat = cellularTowers.Latitude;
lon = cellularTowers.Longitude;

使用 geodensityplot 函数根据坐标创建一个密度图。将每个坐标的影响半径指定为 50 公里。

figure
geodensityplot(lat,lon,Radius=50e3)

使用 title 函数添加标题。

title("Cell Towers in California")

Figure contains an axes object with type geoaxes. The geoaxes object contains an object of type densityplot.

进一步探查:使用其他地图投影

地理坐标区和图使用 Web 墨卡托地图投影,这在基于 Web 的地图构建任务中很常见。要创建使用其他投影的类似地图,例如适用于极地区域的投影,请使用 Mapping Toolbox™ 中的地图坐标区。有关地图坐标区的详细信息,请参阅Create Common Plots Using Map Axes (Mapping Toolbox)

另请参阅

函数

属性

相关主题