主要内容

地质层

可视化流式地理地图数据

描述

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

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

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

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

创建

描述

球员= geoplayer (latCenter,伦敦中心)创建以纬度坐标为中心的地理播放器latCenter和经度坐标伦敦中心

实例

球员= geoplayer (latCenter,伦敦中心,zoomLevel)指定的地图放大倍数创建一个地理玩家zoomLevel

实例

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

输入参数

全部展开

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

数据类型:|

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

数据类型:|

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

属性

全部展开

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

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

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

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

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

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

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

“街道”技术。

“街道”(默认)

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

由Esri主持。

“streets-light”技术。

“streets-light”

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

由Esri主持。

“streets-dark”技术。

“黑暗的街道”

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

由Esri主持。

“卫星”技术。

“卫星”

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

由Esri主持。

“地形”技术。

“地形”

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

由Esri主持。

“土地覆盖”底图。

“landcover”

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

使用创建天然土

“colorterrain”技术。

“colorterrain”

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

使用创建天然土

“灰色地形”底图。

“grayterrain”

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

使用创建天然土

“蓝绿色”底图。

“bluegreen”

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

使用创建天然土

“灰色地带”底图。

“grayland”

带有灰色陆地区域和白色水域的双色调陆地-海洋地图。

使用创建天然土

“darkwater”技术。

“黑暗者”

浅灰色陆地区域和深灰色水域的双色调陆地-海洋地图。此底图是用MATLAB安装的®

使用创建天然土

N/A

“没有”

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

默认情况下,访问底图需要Internet连接“黑暗者”basemap,与MATLAB一起安装。

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

Esri托管的底图会定期更新。因此,随着时间的推移,您可能会看到视觉效果的差异。

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

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

例子:player.Basemap='darkwater'

数据类型:字符|字符串

中心显示基于指定的轨道ID,指定为一个正整数。这个地质层对象在新位置指定时使地图居中latCenter伦敦中心,移动到当前可查看地图区域之外。您还可以使用此属性在可查看区域之外以前绘制的轨迹上重新居中移动地图。使用“TrackID”调用绘图位置对象的功能。

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

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

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

目标函数

绘图位置 显示当前位置地质层数字
plotRoute 显示连续路由地质层数字
重置 从中删除所有现有绘图地质层数字
显示 使地质层图可见
隐藏 使地质层看不见的身影
isOpen 返回true,如果地质层图是可见的

例子

全部折叠

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

数据=负载(“geoSequence.mat”);

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

zoomLevel=17;player=geoplayer(数据。纬度(1),数据。经度(1),zoomLevel,“HistoryDepth”、正);

显示坐标序列。

对于plotPosition(player,data.latitude(i),data.longitude(i));暂停(0.01)终止

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

数据=负载(“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®基础地图上显示驾驶路线和车辆位置。

将OpenStreetMap底图添加到可用于的底图列表中地质层对象。添加基本映射后,不需要在以后的会话中再次添加它。

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

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

数据=负载(“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);

按顺序显示车辆的位置。

对于plotPosition(player,data.latitude(i),data.longitude(i))终止

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

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

name =“这里是街道”;url = ['https://1.base.maps.ls.hereapi.com/maptile/2.1/maptile/',...'latest/normal.day/${z}/${x}/${y}/256/png?apikey=%s'];

“从此处映射”技术需要有效的许可证。请创建一个对话框。在该对话框中,输入与您的“此处”许可证对应的访问密钥ID。

提示={'此处为访问密钥ID:'}; 头衔=“这令牌”;dim = [1 40];%文本编辑字段的高度和宽度hereTokens = inputdlg(提示、标题、dim);

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

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

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

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

数据=负载(“geoRoute.mat”);

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

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

显示完整路由。

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

显示车辆沿路线的位置。

对于plotPosition(player,data.latitude(i),data.longitude(i))终止

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

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

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

加载路由的数据。

数据=负载(“geoRoute.mat”);

为第一辆车提取数据。

lat1=数据纬度;lon1=数据经度;

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

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

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

zoomLevel = 12;球员= geoplayer (lat1 (1) lon1 (1) zoomLevel,...“HistoryDepth”10“HistoryStyle”,“行”);

绘制两辆车在路线上移动时的位置。使用“TrackID”名称-值对的论点。默认情况下,地质层对象将车辆显示屏居中显示在第一条轨道上。您可以使用CenterOnID财产的地质层对象。

循环计数器=长度(lat1);对于i=1:环路计数器打印位置(播放器、lat1(i)、lon1(i),“TrackID”,1,“标签”,“车辆1”); 打印位置(播放器、lat2(i)、lon2(i),“TrackID”2,“标签”,“车辆2”);终止

限制

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

更多关于

全部展开

提示

  • 地质层对象打印地图当前视图之外的位置,对象自动滚动地图。

R2018a中引入