Main Content

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

可视化矢量地图中经过的路径

此示例演示如何在地图上可视化 ThingSpeak™通道源中的纬度和经度数据。您可以使用 Mapping Toolbox 提供的矢量图绘制 Mary Maersk 走过的路径。

读取数据

ThingSpeak通道73734 包含 Mary Maersk 船舶的位置数据。使用 thingSpealRead 函数读取过去 10 天的位置数据。

data = thingSpeakRead(73734,'DateRange',...
    [datetime('today')-caldays(10),datetime('today')],'outputFormat','table');

处理原始数据

在地图上绘制数据之前处理原始纬度和经度数据。将纬度和经度信息存储在单独的变量 latlon 中。

lon = data.Longitude;
lat = data.Latitude;

使用 geoquadline 函数查找尽可能紧密的地理四边形的界限,该四边形限制连接顶点与 lat 和 指定的地理坐标的线$$。

[latlim,lonlim] = geoquadline(lat,lon);

为了使地图更易于阅读,请使用函数 bufgeoquad 将纬度和经度限制扩展 10 个单位。

buf = 10;
[latlim,lonlim] = bufgeoquad(latlim,lonlim,buf,buf);

检索矢量图

检索 worldmap 函数提供的感兴趣区域的矢量图。此外,定义海洋的颜色以区分海洋和陆地。

ax = worldmap(latlim,lonlim);
oceanColor = [.5 .7 .9];
setm(ax, 'FFaceColor',oceanColor);

生成地图

使用 worldmap 函数返回的矢量图生成 Mary Maersk 船舶在过去 10 天内行驶的路径图。加载并使用海岸线数据来标记每个大陆的边缘。

load coastlines;
geoshow(lat,lon,'Color','k');
hold on;
geoshow(coastlat,coastlon,'FaceColor','yellow','DisplayType','polygon');
title('Polygon Geographic Vector Data');

矢量地图显示了玛丽·马士基号在过去 10 天内的航行地点。

另请参阅

函数