在矢量地图中可视化遍历的路径
此示例显示如何在地图上可视化 ThingSpeak™ 通道源中的纬度和经度数据。您可以使用 Mapping Toolbox 提供的矢量地图并绘制玛丽马士基号行进的路径。
读取数据
ThingSpeak 通道 73734 包含 Mary Maersk 轮的位置数据。使用 thingSpealRead
函数读取过去 10 天的位置数据。
data = thingSpeakRead(73734,'DateRange',... [datetime('today')-caldays(10),datetime('today')],'outputFormat','table');
处理原始数据
在将数据绘制到地图上之前,先处理原始纬度和经度数据。将纬度和经度信息存储在单独的变量 lat
和 lon
中。
lon = data.Longitude; lat = data.Latitude;
使用 geoquadline
函数查找最紧密的地理四边形的极限,该四边形界定了连接顶点与由 lat
和 lon
指定的地理坐标的线。
[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
函数返回的矢量地图生成玛丽马士基号船在过去 10 天内行驶的路径图。加载并使用海岸线数据来标记每个大陆的边缘。
load coastlines; geoshow(lat,lon,'Color','k'); hold on; geoshow(coastlat,coastlon,'FaceColor','yellow','DisplayType','polygon'); title('Polygon Geographic Vector Data');
矢量地图显示了玛丽马士基号在过去 10 天内的航行路线。
另请参阅
函数
geoquadline
(Mapping Toolbox) |bufgeoquad
(Mapping Toolbox) |worldmap
(Mapping Toolbox) |geoshow
(Mapping Toolbox) |thingSpeakRead