主要内容

geoplayer

可视化流地理地图数据

描述

一个geoplayer对象是一个地理播放器,它在地图上显示驾驶路线的流坐标。

  • 若要显示车辆的行驶路线,请使用plotRoute函数。

  • 若要显示车辆沿路线行驶时的位置,请使用plotPosition函数。通过为每条路线指定唯一的轨道ID,可以同时绘制不同路线上的多辆车辆的位置。有关更多信息,请参见“TrackID”名称-值对参数开启plotPosition

  • 更改底层映射或基础图的,geoplayer对象,更新基础图对象的属性。有关更多信息,请参见自定义视频

创建

描述

球员= geoplayer (latCenterlonCenter创建一个以纬度坐标为中心的地理播放器latCenter经度坐标lonCenter

例子

球员= geoplayer (latCenterlonCenterzoomLevel指定的地图放大倍数创建一个地理玩家zoomLevel

例子

球员= geoplayer (___名称,值属性使用一个或多个名称-值对,并指定以前语法中的输入参数。例如,geoplayer (45 0 HistoryDepth, 5)创建一个以经纬度坐标(45,0)为中心的地理玩家,并设置HistoryDepth属性,以便玩家显示之前的五个地理坐标。

输入参数

全部展开

地理玩家居中所处的纬度坐标,指定为范围(- 90,90)中的实标量。

数据类型:|

地理玩家居中所处的经度坐标,指定为范围[- 180,180]中的实标量。

数据类型:|

地理播放器的放大率,指定为[0,25]范围内的整数。这种放大是以2为底的对数比例进行的。增加的zoomLevel比一倍的地图比例。

属性

全部展开

要显示的先前地理坐标的数目,指定为非负整数或Inf.的值0仅显示当前地理坐标。的值Inf控件显示以前绘制的所有地理坐标plotPosition函数。

只有在创建对象时才能设置此属性。创建对象后,此属性是只读的。

显示的地理坐标样式,指定为以下值之一:

  • “点”-将坐标显示为离散的、未连接的点。

  • “行”-将坐标显示为单个连接线。

您可以在创建对象时设置此属性。创建对象后,此属性是只读的。

要在其上绘制数据的映射,指定为该表中的一个基映射名称,“没有”,或使用addCustomBasemap函数。有关添加自定义基映射的更多信息,请参见自定义视频.有关如何添加自定义基映射的示例,请参见在OpenStreetMap Basemap上显示数据在HERE Basemap上显示数据

“街道”技术。

“街道”(默认)

街道地图数据由使用Esri提供的世界街道地图的地理地图块组成®.有关地图的更多信息,请参见世界地图在Esri ArcGIS网站上。

由Esri主持。

“streets-light”技术。

“街灯”

地图设计提供地理背景,同时突出用户数据在一个浅色背景。

由Esri主持。

“streets-dark”技术。

“streets-dark”

地图设计提供地理背景,同时突出用户数据在黑暗的背景。

由Esri主持。

“卫星”技术。

“卫星”

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

由Esri主持。

“地形”技术。

“地形”

具有描述地形特征的样式的通用地图。

由Esri主持。

“landcover”技术。

“土地覆盖”

结合卫星获得的陆地覆盖数据、阴影地形和海底地形的地图。光线,自然的调色板适合主题和参考地图。

创建使用自然地球

“彩色地形”底图。

“colorterrain”

阴影地形图与土地覆盖调色板混合。潮湿的低地是绿色的,干旱的低地是棕色的。

创建使用自然地球

“grayterrain”技术。

“grayterrain”

以灰色阴影显示的地形图。阴影地形强调高山和低地的微地形。

创建使用自然地球

“bluegreen”技术。

“bluegreen”

双色,陆海地图与浅绿色的陆地地区和浅蓝色的水域。

创建使用自然地球

“grayland”技术。

“grayland”

双色,陆海地图与灰色的陆地区域和白色的水域。

创建使用自然地球

“darkwater”技术。

“darkwater”

双色,陆洋地图与浅灰色的土地地区和深灰色的水域。这个底图是用MATLAB安装的®

创建使用自然地球

N/A

“没有”

地理轴用经纬度网格、标记和标签绘制数据,但不包括地图。

默认情况下,访问basemaps需要Internet连接。例外是“darkwater”basemap,与MATLAB一起安装。

如果您不能一致地访问Internet,您可以下载使用自然地球通过使用Add-On资源管理器,将其添加到本地系统。由Esri托管的基础地图无法下载。有关下载基映射的更多信息,请参见访问地理轴和图表的基础地图

由Esri托管的基础地图定期更新。因此,随着时间的推移,您可能会看到可视化的差异。

边界和区域标签的对齐是数据供应商提供的功能的表示,并不意味着MathWorks认可®

例子:球员= geoplayer (latCenter lonCenter,“技术”、“darkwater”)

例子:的球员。基础图= 'darkwater'

数据类型:字符|字符串

中心显示基于指定的轨道ID,指定为一个正整数。的geoplayer对象在新位置指定时使地图居中latCenterlonCenter,移动到当前可视地图区域之外。您还可以使用此属性在可见区域之外的先前绘制的轨迹上居中地图。属性定义曲目ID“TrackID”的名称-值对参数plotPosition对象的功能。

地理玩家的父轴,指定为数字图形对象或面板图形对象。如果没有指定,然后geoplayer在新图形中创建地理玩家。

您可以在创建对象时设置此属性。创建对象后,此属性是只读的。

地理玩家使用的轴,指定为GeographicAxes对象。使用此轴自定义地理播放器显示的地图。例如,请参见自定义地理轴.有关可自定义属性的详细信息,请参见GeographicAxes属性

对象的功能

plotPosition 显示当前位置geoplayer数字
plotRoute 显示连续路由geoplayer数字
重置 删除所有现有的地块geoplayer数字
显示 使geoplayer图可见
隐藏 使geoplayer图看不见
isOpen 返回true,如果geoplayer图是可见的

例子

全部折叠

载入经纬度坐标序列。

data =负载(“geoSequence.mat”);

创建一个地理玩家,并将其配置为显示其历史中的所有点。

zoomLevel = 17;球员= geoplayer (data.latitude (1) data.longitude (1) zoomLevel,“HistoryDepth”、正);

显示坐标序列。

plotPosition(player,data.latitude(i),data.longitude(i));暂停(0.01)结束

载入经纬度坐标序列。

data =负载(“geoRoute.mat”);

创建一个地理播放器,并将缩放级别设置为12。与默认缩放级别相比,此缩放级别将地图缩小8倍。

player=geoplayer(数据。纬度(1),数据。经度(1),12);

显示完整路线。

plotRoute(球员,data.latitude data.longitude);

按顺序显示坐标。圆形标记表示当前位置。

plotPosition(player,data.latitude(i),data.longitude(i));暂停(0.05)结束

这个例子展示了如何在OpenStreetMap®基础地图上显示驾驶路线和车辆位置。

将OpenStreetMap基地图添加到可用的基地图列表中geoplayer对象。添加了basemap之后,就不需要在以后的会话中再次添加了。

name =“公开”; 网址=“https://a.tile.openstreetmap.org/ $ {z} / {x} / {y} . png美元”;版权= char (uint8 (169));归属=版权+“OpenStreetMap贡献者”;addCustomBasemap(名称、网址“归因”归因)

载入经纬度坐标序列。

data =负载(“geoRoute.mat”);

创建一个地理玩家。将地理播放器居中于驾驶路线的第一个位置,并设置缩放级别为12。

zoomLevel = 12;球员= geoplayer (data.latitude (1) data.longitude (1) zoomLevel);

显示完整路线。

plotRoute(球员,data.latitude data.longitude);

默认情况下,地理玩家使用世界街道地图基准地图(“街道”)由Esri®提供。更新地理玩家以使用添加的OpenStreetMap基础地图。

的球员。基础图=“公开”

重新显示路由。

plotRoute(球员,data.latitude data.longitude);

按顺序显示车辆的位置。

i=1:length(数据.纬度)plotPosition(播放器,数据.纬度(i),数据.经度(i))结束

在HERE Technologies提供的基础地图上显示驾驶路线。要使用本示例,您必须从这里的技术

指定基映射名称和映射URL。

name =“herestreets”; 网址=[“https://1.base.maps.ls.hereapi.com/maptile/2.1/maptile/”...的最新/ normal.day / $ {z} / {x} / {y}美元/ 256 / png吗?apikey = % s '];

HERE Technologies的地图需要一个有效的许可证。创建对话框。在对话框中,输入与HERE许可证对应的Access Key ID。

提示= {'HERE Access Key ID:'};title =“这令牌”;dim = [1 40];%文本编辑字段的高度和宽度hereTokens = inputdlg(提示、标题、dim);

如果许可有效,则指定HERE凭据和自定义属性,加载坐标数据,并使用geoplayer对象。如果license不合法,则返回错误提示。

如果~ isempty (hereTokens)添加自定义属性的basemap。url = sprintf (url, hereTokens {1});copyrightSymbol = char (169);%Alt代码归因= [copyrightSymbol,' 'datestr(现在,“yyyy”),“在这里”];addCustomBasemap(名称、网址“归因”、归因);%加载样品的坐标。data =负载(“geoSequence.mat”);用这里的地图创建地理玩家。球员= geoplayer (data.latitude (1) data.longitude (1),...“技术”“herestreets”“HistoryDepth”、正);%按顺序显示坐标。plotPosition(player,data.latitude(i),data.longitude(i));结束其他的错误(“您必须输入有效凭证才能从HERE Technologies访问地图”);结束

自定义的地理轴geoplayer对象,方法是在路由端点之间添加自定义线。

装载一个行驶路线和沿着该路线的车辆位置。

data =负载(“geoRoute.mat”);

创建一个以车辆第一个位置为中心的地理玩家。

zoomLevel = 10;球员= geoplayer (data.latitude (1) data.longitude (1) zoomLevel);

显示完整路线。

plotRoute(球员,data.latitude data.longitude);

显示车辆沿路线的位置。

i=1:length(数据.纬度)plotPosition(播放器,数据.纬度(i),数据.经度(i))结束

通过在路由的两个端点之间添加一条线来定制地理轴。

geoplot (player.Axes [data.latitude (1) data.latitude(结束),...[data.longitude (1) data.longitude(结束),“g - *”

在一个地理玩家中同时绘制多条路线。首先,给每条路由分配一个唯一的标识符。然后,当在路线上用plotPosition对象函数中指定路由标识符“TrackID”名称-值对的论点。在本例中,路径被标记为Vehicle 1和Vehicle 2。这个屏幕截图显示了两条路径将要交叉的位置。

加载路由的数据。

data =负载(“geoRoute.mat”);

为第一辆车提取数据。

lat1 = data.latitude;lon1 = data.longitude;

为第二辆以相反方向行驶同一路线的车辆创建合成路线。

lat2 = flipud (lat1);lon2 = flipud (lon1);

创建一个geoplayer对象。初始化播放器以显示最后10个位置作为当前位置的尾随行。

zoomLevel = 12;球员= geoplayer (lat1 (1) lon1 (1) zoomLevel,...“HistoryDepth”10“历史风格”“行”);

绘制两辆车在路线上移动时的位置。属性指定每个音轨的ID“TrackID”名称-值对的论点。默认情况下,geoplayer物体的中心显示在第一个轨道上的车辆。您可以使用的中心显示在其他轨道CenterOnID财产geoplayer对象。

loopCounter =长度(lat1);i = 1:loopCounter plotPosition(player,lat1(i),lon1(i)),“TrackID”,1,“标签”“车辆1”);plotPosition(球员,lat2(我),lon2(我),“TrackID”,2,“标签”《车辆2》);结束

限制

  • 地理地图贴图并非适用于所有地点。

更多关于

全部展开

提示

  • geoplayer对象绘制位于地图当前视图之外的位置,对象将自动滚动地图。

介绍了R2018a