主要内容

Geoplayer.

可视化流地理地图数据

描述

一种Geoplayer.对象是一个地理播放器,在地图上显示驾驶路径的流坐标。

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

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

  • 改变底层地图,或底图的,Geoplayer.对象,更新基础图物体的财产。有关更多信息,请参阅自定义底图

创建

描述

玩家= Geoplayer(latCenter念珠人的)创建一个地理播放器,以纬度坐标为中心latCenter和经度坐标念珠人

例子

玩家= Geoplayer(latCenter念珠人zoomlevel.的)创建一个带有地图放大率的地理播放器zoomlevel.

例子

玩家= Geoplayer(___名称,价值的)特性除了指定来自先前语法的输入参数之外,使用一个或多个名称值对。例如,Geoplayer(45,0,'HistoryDe​​pth',5)创建以纬度经度坐标(45,0)为中心的地理播放器,并设置历史部门Player为播放器显示五个以前的地理坐标。

输入参数

全部展开

地理播放器居中的纬度坐标,指定为范围内的实际标量(-90,90)。

数据类型:|

地理播放器所在的经度坐标,指定为范围的实际标量[-180,180]。

数据类型:|

地理玩家的放大倍数,指定为[0,25]范围内的整数。这种放大是以2为基数的对数尺度进行的。增加zoomlevel.一个加倍地图比例。

属性

全部展开

显示的以前的地理坐标数,指定为非负整数或.价值0.仅显示当前的地理坐标。价值显示先前绘制的所有地理坐标使用绘图函数。

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

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

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

  • '线'—将坐标显示为单线连接。

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

映射到哪个数据,指定为此表中的基础映射之一,'没有任何'或使用的自定义基础映射定义addcustombasemap.函数。有关添加自定义基础的更多信息,请参阅自定义底图.有关如何添加自定义基础的示例,请参阅在OpenStreetMap BaseMap上显示数据在HERE Basemap上显示数据

“街道”技术。

“街道”(默认)

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

由Esri主持。

“streets-light”技术。

“streets-light”

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

由Esri主持。

'街道黑暗'底座。

'街道黑暗'

旨在提供地理上下文的地图,同时在深色背景上突出显示用户数据。

由Esri主持。

'卫星'底画。

'卫星'

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

由Esri主持。

“地形”技术。

“地形”

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

由Esri主持。

'Landcover'底图。

“landcover”

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

使用天然地球

“colorterrain”技术。

“colorterrain”

阴影浮雕地图与陆地封面调色板混合。潮湿的低地是绿色的,干旱的低地是棕色的。

使用天然地球

'Grayterrain'底画。

“grayterrain”

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

使用天然地球

'Bluegreen'底画。

“bluegreen”

双音,陆上海洋地图,浅绿地地区和浅蓝色水域。

使用天然地球

'Grayland'底座。

'Grayland'

双音,陆上海洋地图与灰色陆地和白色水域。

使用天然地球

“darkwater”技术。

'Darkwater'

双音,陆地海洋地图,浅灰色土地区域和深灰水域。此基础图像安装在Matlab中®

使用天然地球

N/A

'没有任何'

地理轴用纬度 - 经度网格,刻度线和标签绘制您的数据,但不包括地图。

默认情况下,对BaseMaps的访问需要Internet连接。例外是'Darkwater'basemap,与MATLAB一起安装。

如果您不能一致地访问Internet,您可以下载使用天然地球使用附加资源管理器进入本地系统。由ESRI托管的底座不可用于下载。有关下载Basemaps的更多信息,请参阅用于地理轴和图表的访问底座

通过ESRI定期更新的基础部分。因此,您可能会随着时间的推移看到可视化的差异。

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

例子:播放器= Geoplayer(LatCenter,Loncenter,'Basemap','Darkwater')

例子:Player.Basemap ='Darkwater'

数据类型:字符|字符串

垂直显示基于指定的轨道ID,指定为正整数。这Geoplayer.对象默认在新位置时的地图,由此指定latCenter念珠人,在当前可视地图区域之外移动。您还可以将此属性使用此属性来默认在可查看区域之外的先前绘制的轨道上的地图。通过使用使用曲目ID定义'trackid'您调用时的名称 - 值对参数绘图对象功能。

地理玩家的父轴,指定为数字图形对象或控制板图形对象。如果您未指定, 然后Geoplayer.在新图形中创建地理玩家。

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

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

对象功能

绘图 显示当前位置Geoplayer.数字
plotRoute 显示连续路线Geoplayer.数字
重置 删除所有现有的图Geoplayer.数字
显示 制作Geoplayer.图可见
隐藏 制作Geoplayer.图是看不见的
isOpen 返回True If.Geoplayer.图是可见的

例子

全部收缩

加载一系列纬度和经度坐标。

data = load(“geoSequence.mat”);

创建一个地理播放器并配置它以显示其历史记录中的所有点。

zoomlevel = 17;Player = GeoPlayer(data.latitude(1),data.longitude(1),zoomlevel,“HistoryDepth”、正);

显示坐标序列。

为了plotPosition(player,data.latitude(i),data.longitude(i));暂停(0.01)结尾

加载一系列纬度和经度坐标。

data = load(“geoRoute.mat”);

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

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

显示完整路由。

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

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

为了plotPosition(player,data.latitude(i),data.longitude(i));暂停(0.05)结尾

此示例显示如何在OpenStreetMap®AcaMap上显示驱动路径和车辆位置。

将OpenStreetMap BaseMap添加到可用于底座的列表中Geoplayer.对象。添加BaseMap后,您无需在将来会话中再次添加它。

name ='OpenStreetMap';url =“https://a.tile.openstreetmap.org/ $ {z} / {x} / {y} . png美元”;版权所有= char(uint8(169));归因=版权+“OpenStreetMap贡献者”;addcustombasemap(名称,URL,'归因',归因)

加载一系列纬度和经度坐标。

data = load(“geoRoute.mat”);

创建一个地理播放器。将地理播放器置于驱动路径的第一个位置并将缩放级别设置为12。

zoomLevel = 12;Player = GeoPlayer(data.latitude(1),data.longitude(1),zoomlevel);

显示完整路由。

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

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

Player.Basemap =.'OpenStreetMap'

再次显示路线。

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

按顺序显示车辆的位置。

为了plotPosition(player,data.latitude(i),data.longitude(i))结尾

在这里提供的基础映射显示驾驶路线。要使用此示例,您必须拥有有效的许可证这里的技术

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

name ='赫斯特雷德';URL = ['https://1.base.maps.ls.hereapi.com/maptile/2.1/maptile/'......'最新/ normal.day / $ {z} / $ {x} / $ {y} / 256 / png?apikey =%s'];

来自这里的地图技术需要有效的许可证。创建一个对话框。在对话框中,输入与此对应的访问密钥ID。

提示= {'这里访问密钥ID:'};标题='这里是令牌';dim = [1 40];%文本编辑字段的高度和宽度heretokens = inputdlg(提示,标题,dims);

如果许可证有效,请指定此处凭据和自定义归因,负载坐标数据,并使用a显示此处的基础图像的坐标Geoplayer.对象。如果license不合法,则返回错误提示。

如果〜isempty(heretokens)添加自定义属性的basemap。URL = SPRINTF(URL,heretokens {1});CopyrightSymbol = Char(169);% Alt代码attribution = [yoursicysymbol,' 'datestr(现在,“yyyy”),' 这里'];addcustombasemap(名称,URL,'归因',归因);%加载样品的坐标。data = load(“geoSequence.mat”);用这里的地图创建地理玩家。Player = GeoPlayer(data.latitude(1),data.longitude(1),......'底画''赫斯特雷德'“HistoryDepth”、正);%以序列显示坐标。为了plotPosition(player,data.latitude(i),data.longitude(i));结尾别的错误(“您必须输入有效的凭据来访问来自此处技术的地图);结尾

自定义a的地理轴Geoplayer.通过在路由端点之间添加自定义行。

沿着该路线装载驱动路线和车辆位置。

data = load(“geoRoute.mat”);

创建一个以车辆第一位置为中心的地理播放器。

zoomlevel = 10;Player = GeoPlayer(data.latitude(1),data.longitude(1),zoomlevel);

显示完整路由。

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

沿着路线显示车辆的位置。

为了plotPosition(player,data.latitude(i),data.longitude(i))结尾

通过在路由的两个端点之间添加一行来自定义地理轴。

geoplot(player.axes,[data.latitude(1)data.lattitude(END)],......[data.longitude (1) data.longitude(结束),“g - *”的)

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

为路线加载数据。

data = load(“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 =长度(LAT1);为了i = 1:loopcounter plotposition(播放器,lat1(i),lon1(i),'trackid', 1'标签''车辆1');情节(播放器,Lat2(i),lon2(i),'trackid'2,'标签''车辆2');结尾

限制

  • 所有位置都不提供地理地图瓷砖。

更多关于

全部展开

提示

  • Geoplayer.对象绘制在地图的当前视图外的位置,对象会自动滚动地图。

在R2018A介绍