geoplayer
可视化流地理地图数据
描述
一个geoplayer
对象是一个地理播放器,它在地图上显示驾驶路线的流坐标。
要显示车辆的行驶路线,请使用
plotRoute
函数。要显示车辆沿路线行驶时的位置,请使用
plotPosition
函数。您可以通过为每条路线指定唯一的轨道ID,同时绘制不同路线上多辆车辆的位置。有关更多信息,请参见“TrackID”
名称-值对参数plotPosition
.
创建
语法
描述
Player = geoplayer(___,
集属性使用一个或多个名称-值对,并指定以前语法中的输入参数。例如,名称,值
)geoplayer (45 0 HistoryDepth, 5)
创建以经纬度坐标(45,0)为中心的地理播放器,并设置HistoryDepth
属性,以便玩家显示前五个地理坐标。
输入参数
latCenter
- - - - - -纬度坐标
范围内的实标量(- 90,90)
地理播放器位于中心的纬度坐标,指定为范围内的实标量(- 90,90)。
数据类型:单
|双
lonCenter
- - - - - -经度坐标
[-180, 180]范围内的实标量
地理玩家位于中心的经度坐标,指定为范围[-180,180]中的实标量。
数据类型:单
|双
zoomLevel
- - - - - -放大
15
|范围为[0,25]的整数
地理播放器的放大倍数,指定为范围[0,25]的整数。这种放大发生在以2为底的对数刻度上。增加zoomLevel
地图比例翻倍。
属性
HistoryDepth
- - - - - -要显示的以前地理坐标的数目
0
(默认)|非负整数|正
以前要显示的地理坐标的数目,指定为非负整数或正
.值为0
仅显示当前地理坐标。值为正
控件显示以前绘制的所有地理坐标plotPosition
函数。
只有在创建对象时才能设置此属性。创建对象后,此属性为只读。
HistoryStyle
- - - - - -显示地理坐标的样式
“点”
(默认)|“行”
显示的地理坐标的样式,指定为以下值之一:
“点”
-将坐标显示为离散的、不相连的点。“行”
-将坐标显示为单线连接。
您可以在创建对象时设置此属性。创建对象后,此属性为只读。
基础图
- - - - - -要在其中绘制数据的映射
“街道”
(默认)|“streets-light”
|“streets-dark”
|“卫星”
|“地形”
|……
要在其上绘制数据的映射,指定为本表中的基映射名称之一,“没有”
类定义的自定义基映射addCustomBasemap
函数。有关添加自定义基映射的详细信息,请参见自定义视频.有关如何添加自定义底图的示例,请参见在OpenStreetMap基础地图上显示数据而且在HERE Basemap上显示数据.
|
街道地图数据由使用Esri提供的世界街道地图的地理地图块组成®.有关地图的更多信息,请参见世界街道地图在Esri ArcGIS网站上。 Esri主持。 |
|
地图设计提供地理背景,同时突出显示用户数据在浅色背景。 Esri主持。 |
|
地图设计提供地理背景,同时突出显示用户数据在黑暗的背景。 Esri主持。 |
|
由高分辨率卫星图像组成的完整全球底图。 Esri主持。 |
|
具有描述地形特征样式的通用地图。 Esri主持。 |
|
结合卫星获取的土地覆盖数据、阴影浮雕和海底浮雕的地图。浅色,自然的调色板适合专题和参考地图。 创建使用自然地球. |
|
阴影浮雕地图与土地覆盖调色板混合。潮湿的低地是绿色的,干旱的低地是棕色的。 创建使用自然地球. |
|
地形图的灰色阴影。阴影浮雕强调了高山和低地的微地形。 创建使用自然地球. |
|
双色陆地-海洋地图,浅绿色陆地区域和浅蓝色水域区域。 创建使用自然地球. |
|
双色陆地-海洋地图,灰色陆地区域和白色水域。 创建使用自然地球. |
|
双色陆地-海洋地图,浅灰色陆地区域和深灰色水域。该底图是用MATLAB安装的®. 创建使用自然地球. |
N/A |
地理轴使用经纬度网格、刻度和标签绘制数据,但不包括地图。 |
默认情况下,访问基图需要Internet连接。唯一的例外是“darkwater”
basemap,它是用MATLAB安装的。
如果您没有一致的Internet访问,您可以下载使用自然地球使用Add-On资源管理器连接到本地系统。Esri托管的底图不能下载。有关下载基图的详细信息,请参见访问地理轴和图表的基本地图.
Esri托管的basemap定期更新。因此,随着时间的推移,您可能会看到可视化的差异。
边界和区域标签的对齐是数据供应商提供的特性的表示,并不意味着得到MathWorks的认可®.
例子:player = geoplayer(latCenter,lonCenter,'Basemap','darkwater')
例子:的球员。基础图= 'darkwater'
数据类型:字符
|字符串
CenterOnID
- - - - - -根据指定的轨道ID重新定位显示
[]
(第一轨道中心)(默认)|正整数
根据指定的轨道ID(指定为正整数)向中心显示。的geoplayer
方法指定的新位置时,对象将重定向映射latCenter
而且lonCenter
,移动到当前可见地图区域之外。您还可以使用此属性使先前绘制的轨迹在可视区域之外的地图重新居中。属性定义曲目ID“TrackID”
类时,名称-值对参数plotPosition
对象的功能。
父
- - - - - -地理玩家的父轴
数字
图形对象|面板
图形对象
地理播放器的父轴,指定为数字
图形对象或面板
图形对象。如果您没有指定父
,然后geoplayer
在新图形中创建地理播放器。
您可以在创建对象时设置此属性。创建对象后,此属性为只读。
轴
- - - - - -地理玩家使用的斧头
GeographicAxes
对象
地理玩家使用的斧头,指定为GeographicAxes
对象。使用这个轴来自定义地理播放器显示的地图。有关示例,请参见自定义地理轴.有关可以自定义的属性的详细信息,请参见GeographicAxes属性.
对象的功能
例子
纬度和经度坐标的动画序列
加载经纬度坐标序列。
数据=负载(“geoSequence.mat”);
创建一个地理播放器,并将其配置为显示其历史中的所有点。
zoomLevel = 17;player = geoplayer(data.latitude(1),data.longitude(1),zoomLevel,“HistoryDepth”、正);
显示坐标序列。
为i = 1:长度(数据.纬度)plotPosition(播放器,数据.纬度(i),数据.经度(i));暂停(0.01)结束
查看车辆沿途位置
加载经纬度坐标序列。
数据=负载(“geoRoute.mat”);
创建一个地理播放器,并设置缩放级别为12。与默认的缩放级别相比,这个缩放级别将地图放大8倍。
玩家= geoplayer(data.latitude(1),data.longitude(1),12);
显示全路由。
plotRoute(球员,data.latitude data.longitude);
按顺序显示坐标。圆形标记表示当前位置。
为i = 1:长度(数据.纬度)plotPosition(播放器,数据.纬度(i),数据.经度(i));暂停(0.05)结束
在OpenStreetMap基础地图上显示数据
本示例展示如何在OpenStreetMap®底图上显示驾驶路线和车辆位置。
属性可使用的基映射列表中添加OpenStreetMap基映射geoplayer
对象。添加基准地图后,在以后的会话中不需要再次添加它。
name =“公开”;url =“https://a.tile.openstreetmap.org/ $ {z} / {x} / {y} . png美元”;版权所有= char(uint8(169));归属=版权+“OpenStreetMap贡献者”;addCustomBasemap(名称、网址“归因”归因)
加载经纬度坐标序列。
数据=负载(“geoRoute.mat”);
创建一个地域玩家。将地理播放器置于驾驶路线的第一个位置,并将缩放级别设置为12。
zoomLevel = 12;player = geoplayer(data.latitude(1),data.longitude(1),zoomLevel);
显示全路由。
plotRoute(球员,data.latitude data.longitude);
默认情况下,地理播放器使用世界街道地图基本地图(“街道”
)由Esri®提供。更新地理播放器以使用添加的OpenStreetMap基础地图。
的球员。基础图=“公开”;
重新显示路由。
plotRoute(球员,data.latitude data.longitude);
按顺序显示车辆的位置。
为i = 1:length(data.latitude) plotPosition(player,data.latitude(i),data.longitude(i))结束
在HERE Basemap上显示数据
在HERE Technologies提供的基本地图上显示驾驶路线。要使用此示例,您必须拥有有效的许可证这里的技术.
指定基映射名称和映射URL。
name =“herestreets”;Url = [“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。
提示= {这里访问密钥ID:};title =“这令牌”;Dims = [1 40];文本编辑字段的高度和宽度hereTokens = inputdlg(提示,标题,昏暗);
如果许可证有效,则指定HERE凭据和自定义属性,加载坐标数据,并使用geoplayer
对象。如果license不合法,则返回错误提示。
如果~ isempty (hereTokens)添加自定义属性的基本地图。url = sprintf(url,hereTokens{1});copyrightSymbol = char(169);% Alt代码attribution = [copyrightSymbol,]' 'datestr(现在,“yyyy”),“在这里”];addCustomBasemap(名称、网址“归因”、归因);加载样本纬度,长度坐标。数据=负载(“geoSequence.mat”);使用HERE底图创建地理播放器。玩家= geoplayer(data.latitude(1),data.longitude(1),...“技术”,“herestreets”,“HistoryDepth”、正);显示序列中的坐标。为i = 1:长度(数据.纬度)plotPosition(播放器,数据.纬度(i),数据.经度(i));结束其他的错误(“您必须输入有效凭据才能从HERE Technologies访问地图”);结束
自定义地理轴
的地理轴geoplayer
通过在路由端点之间添加自定义行来实现。
加载一个驾驶路线和沿该路线的车辆位置。
数据=负载(“geoRoute.mat”);
创建一个以车辆第一个位置为中心的地理玩家。
zoomLevel = 10;player = geoplayer(data.latitude(1),data.longitude(1),zoomLevel);
显示全路由。
plotRoute(球员,data.latitude data.longitude);
显示车辆在沿途的位置。
为i = 1:length(data.latitude) plotPosition(player,data.latitude(i),data.longitude(i))结束
通过在路由的两个端点之间添加一条线来定制地理轴。
geoplot (player.Axes [data.latitude (1) data.latitude(结束),...[data.longitude (1) data.longitude(结束),“g - *”)
画出两辆车的轨迹
在地理玩家中同时绘制多条路线。首先,为每条路由分配一个唯一的标识符。然后,在绘制路线上的点时使用plotPosition
方法指定路由标识符“TrackID”
名称-值对参数。在本例中,路由被标记为Vehicle 1和Vehicle 2。这个屏幕截图显示了两条路线将要交叉的位置。
加载路由数据。
数据=负载(“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“HistoryStyle”,“行”);
画出两辆车在路线上行驶时的位置。属性为每个轨道指定一个ID“TrackID”
名称-值对参数。默认情况下,geoplayer
对象将车辆的显示集中在第一个轨道上。控件可以将显示置于其他轨道的居中CenterOnID
的属性geoplayer
对象。
loopCounter = length(lat1);为i = 1:loopCounter plotPosition(玩家,lat1(i),lon1(i),“TrackID”, 1“标签”,“车辆1”);plotPosition(球员,lat2(我),lon2(我),“TrackID”2,“标签”,《车辆2》);结束
限制
并非所有位置都可以使用地理地图磁贴。
更多关于
自定义视频
的geoplayer
对象可以使用HERE Technologies和OpenStreetMap等提供商提供的自定义基底地图®.
属性可使用的自定义底图geoplayer
对象时,使用addCustomBasemap
函数。添加自定义基准图后,它仍可在以后的MATLAB会话中使用,直到使用removeCustomBasemap
函数。
控件中指定基映射的名称,才能在自定义基映射上显示流坐标基础图
的属性geoplayer
对象。
请注意
对于一些自定义基准地图,访问地图服务器需要地图提供者提供的有效许可证。
提示
当
geoplayer
对象绘制在地图的当前视图之外的位置,则对象自动滚动地图。
版本历史
在R2018a中引入
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。