read

Считайте данные о слое HERE HD Live Map

Описание

пример

layerData = read(reader,layerType) чтения HD HERE Живая Карта [1] (HERE HDLM) данные заданного типа слоя от hereHDLMReader возразите и возвращает массив расположенных на слое объектов. Эти расположенные на слое объекты содержат данные о слое карты для мозаик карты HERE, идентификаторы которых соответствуют идентификаторам, сохраненным в TileIds свойство reader.

пример

layerData = read(reader,layerType,fields) возвращает массив расположенных на слое объектов, содержащих данные только для обязательных полей, таких как HereTileId поле, и для заданных полей. Все другие поля в возвращенных расположенных на слое объектах возвращены как пустые: []. Если вы не требуете данных из всех полей в расположенных на слое объектах, используйте этот синтаксис, чтобы ускорить эффективность этой функции.

Примеры

свернуть все

Используйте HD HERE Живая Карта (HERE HDLM) сервис считать данные о топологии маршрута ведущего маршрута и его окружающего пространства. Отобразите эти данные на графике, и затем передайте маршрут потоком на географическом проигрывателе.

Загрузите координаты широты и долготы ведущего маршрута в Натике, Массачусетсе, США.

route = load('geoSequenceNatickMA.mat');
lat = route.latitude;
lon = route.longitude;

Передайте координаты потоком на географическом проигрывателе.

player = geoplayer(lat(1),lon(1),'HistoryDepth',5);
plotRoute(player,lat,lon)

for idx = 1:length(lat)
    plotPosition(player,lat(idx),lon(idx))
end

Создайте читателя HERE HDLM из координат маршрута. Если вы ранее не настроили учетные данные HERE HDLM, диалоговое окно предлагает вам вводить их. Средство чтения содержит данные о карте для двух мозаик карты, которые пересекает маршрут.

reader = hereHDLMReader(lat,lon);

Считайте данные о топологии маршрута из LaneTopology слой мозаик карты. Постройте топологию маршрута.

laneTopology = read(reader,'LaneTopology');
plot(laneTopology)

Наложите данные о маршруте по графику.

hold on
geoplot(lat,lon,'bo-','DisplayName','Route');
hold off

Наложите данные о топологии маршрута по географическому проигрывателю. Передайте маршрут потоком снова.

plot(laneTopology,'Axes',player.Axes)
for idx = 1:length(lat)
    plotPosition(player,lat(idx),lon(idx))
end

Используйте веб-сервис HERE HD Live Map (HERE HDLM), чтобы считать данные о геометрии топологии из мозаики карты. Используйте эти данные, чтобы найти кратчайший путь между двумя узлами в мозаике карты.

Задайте ID мозаики HERE для области Стокгольма, Швеция.

tileID = uint32(378373553);

Создайте читателя HERE HDLM для ID мозаики. Сконфигурируйте читателя, чтобы искать мозаику только в каталоге Западной Европы. Если вы ранее не настроили учетные данные HERE HDLM, диалоговое окно предлагает вам вводить их. Средство чтения содержит данные о карте для заданной мозаики карты.

config = hereHDLMConfiguration('hrn:here:data::olp-here-had:here-hdlm-protobuf-weu-2');
reader = hereHDLMReader(tileID,'Configuration',config);

Считайте определения ссылки из TopologyGeometry слой мозаики карты. Возвращенный расположенный на слое объект содержит заданный LinksStartingInTile поле и необходимые поля мозаики карты, такие как ID мозаики. Другие поля пусты. Ваши данные о карте и версия каталога могут отличаться от тех показанных здесь.

topology = read(reader,'TopologyGeometry','LinksStartingInTile')
topology = 
  TopologyGeometry with properties:

   Data:
                    HereTileId: 378373553
          IntersectingLinkRefs: []
           LinksStartingInTile: [1249×1 struct]
                   NodesInTile: []
    TileCenterHere2dCoordinate: [59.3372 18.0505]

   Metadata:
                       Catalog: 'hrn:here:data::olp-here-had:here-hdlm-protobuf-weu-2'
                CatalogVersion: 5597

  Use plot to visualize TopologyGeometry data.

Найдите узлы начала и конца для каждой ссылки в LinksStartingInTile поле .

startNodes = [topology.LinksStartingInTile.StartNodeId];
endNodesRef = [topology.LinksStartingInTile.EndNodeRef];
endNodes = [endNodesRef.NodeId];

Найдите длину каждой ссылки в метрах.

linkLengths = [topology.LinksStartingInTile.LinkLengthMeters];

Создайте неориентированного графа для ссылок в мозаике карты.

G = graph(string(startNodes),string(endNodes),double(linkLengths));
H = plot(G,'Layout','force');
title('Undirected Graph')

Задайте узел начала и конца, чтобы найти кратчайший путь между ними. Используйте первый и последний узел в графике как узлы начала и конца, соответственно. Наложите узлы на графике.

startNode = G.Nodes.Name(1);
endNode = G.Nodes.Name(end);

highlight(H,[startNode endNode],'NodeColor','red','MarkerSize',6)
title('Undirected Graph - Start and End Nodes')

Найдите кратчайший путь между этими двумя узлами. Постройте путь.

path = shortestpath(G,startNode,endNode);
highlight(H,path,'EdgeColor','red','LineWidth',2);
title('Undirected Graph - Shortest Path')

Входные параметры

свернуть все

Введите читателя HERE HDLM в виде hereHDLMReader объект.

Тип слоя, из которого можно считать данные в виде строкового скаляра или вектора символов. layerType должен быть допустимый тип слоя для мозаик карты, сохраненных в reader. Чтобы видеть список допустимых слоев, используйте Layers свойство reader.

Пример: "AdasAttributes"

Пример: 'LaneTopology'

Поля расположенного на слое объекта, из которых можно считать данные в виде строкового скаляра, вектора символов, массива строк или массива ячеек из символьных векторов. Все поля должны быть допустимыми полями слоя, заданного layerType. Можно задать только поля верхнего уровня этого слоя. Вы не можете задать его поля метаданных.

В возвращенном массиве расположенных на слое объектов, только обязательные поля, такие как HereTileId поле и заданные поля содержат данные. Все другие поля возвращены как пустые: [].

Для списка допустимых полей данных верхнего уровня для каждого типа слоя смотрите data выходной аргумент.

Пример: 'LinkAttribution'

Пример: "NodeAttribution"

Пример: ["LinkAttribution" "NodeAttribution"]

Пример: {'LinkAttribution','NodeAttribution'}

Выходные аргументы

свернуть все

Данные о слое HERE HDLM, возвращенные как T-by-1 массив расположенных на слое объектов. T является количеством идентификаторов мозаики карты, сохраненных в TileIds свойство заданного reader. Каждый расположенный на слое объект содержит данные о карте, которые имеют тип layerType поскольку HERE сопоставляет мозаику, которая была считана из reader. Такие данные могут включать:

  • Геометрия ссылок (улицы) и узлы (пересечения и тупики) в мозаиках карты

  • Различные атрибуты дорожного уровня и уровня маршрута

  • Основанная на ориентире информация о локализации, такая как барьеры, знаки и полюса вдоль дороги

Расположенные на слое объекты также содержат метаданные, задающие имя каталога и версию каталога от который read функция получила данные.

Свойства расположенных на слое объектов соответствуют допустимым полям слоя HERE HDLM. В этих расположенных на слое объектах имена полей слоя изменяются, чтобы соответствовать MATLAB® соглашение о присвоении имен для свойств объектов. Для каждого имени поля слоя, первой буквы и сначала обозначают буквами после каждого подчеркивания использованы для своей выгоды, и символы нижнего подчеркивания удалены. Эта таблица показывает демонстрационные смены имени.

Поля слоя HERE HDLMСвойство расположенного на слое объекта MATLAB
here_tile_idHereTileId
tile_center_here_2d_coordinateTileCenterHere2dCoordinate
nodes_in_tileNodesInTile

Расположенные на слое объекты являются структурами MATLAB, свойства которых соответствуют полям структуры. К данным о доступе из этих полей используйте запись через точку.

Например, этот код выбирает NodeId подполе от NodeAttribution поле слоя:

layerData.NodeAttribution.NodeId

Эта таблица суммирует допустимые типы расположенных на слое объектов и их полей данных верхнего уровня. Доступные слои для Дорожной Модели Средней линии, Модели Маршрута HD и Модели Локализации HD. Для обзора слоев HERE HDLM и моделей, которым они принадлежат, смотрите, что HD HERE Живет Слои Карты.

Расположенный на слое объектОписаниеПоля данных верхнего уровня (свойства расположенного на слое объекта)Постройте поддержку
AdasAttributes

Измерения геометрии точности, такие как наклон, вертикальное изменение и искривление дорог. Используйте эти данные, чтобы разработать продвинутые системы помощи водителю (ADAS).

  • HereTileId

  • LinkAttribution

  • NodeAttribution

Не доступный

ExternalReferenceAttributes

Ссылки на внешние ссылки карты, узлы и топологию для других карт HERE.

  • HereTileId

  • LinkAttribution

  • NodeAttribution

Не доступный

LaneAttributes

Атрибуты уровня маршрута, такие как направление перемещения и типа маршрута.

  • HereTileId

  • LaneGroupAttribution

Не доступный

LaneGeometryPolyline

3-D геометрия маршрута, состоявшая из набора 3-D точек, к которым соединяют в ломаные линии.

  • HereTileId

  • TileCenterHere3dCoordinate

  • LaneGroupGeometries

Доступный — используют plot функция.

LaneRoadReferences

Дорога и ссылки группы маршрута и информация об области значений. Используйте эти данные, чтобы перевести положения между Дорожной Моделью Средней линии и Моделью Маршрута HD.

  • HereTileId

  • LaneGroupLinkReferences

  • LinkLaneGroupReferences

Не доступный

LaneTopology

Топология модели HD Lane, включая группу маршрута, коннектор группы маршрута, маршрут и топологию коннектора маршрута. Этот слой также содержит упрощенную 2D граничную геометрию модели маршрута для определения сродства мозаики карты и переполнения.

  • HereTileId

  • TileCenterHere2dCoordinate

  • LaneGroupsStartingInTile

  • LaneGroupConnectorsInTile

  • IntersectingLaneGroupRefs

Доступный — используют plot функция.

LocalizationBarrier

Положения, размерности и атрибуты барьеров, такие как поручни и барьеры Джерси найдены вдоль дорог

  • HereTileId

  • TileCenterHere3dCoordinate

  • Barriers

  • RoadToBarriersReferences

  • IntersectingBarrierRefs

Не доступный

LocalizationPole

Положения, размерности и атрибуты трафика сигнализируют о полюсах и других полюсах, найденных вперед или продолжающиеся дороги

  • HereTileId

  • TileCenterHere3dCoordinate

  • Signs

  • RoadToSignsReferences

Не доступный

LocalizationSign

Положения, размерности и атрибуты поверхностей дорожного знака найдены вдоль дорог

  • HereTileId

  • TileCenterHere3dCoordinate

  • Poles

  • RoadToPolesReferences

Не доступный

RoutingAttributes

Дорожные атрибуты связаны с навигацией и условиями. Эти атрибуты сопоставлены параметрически с 2D полилинейной геометрией в слое топологии.

  • HereTileId

  • LinkAttribution

  • NodeAttribution

  • StrandAttribution

  • AttributionGroupList

Не доступный

RoutingLaneAttributes

Базовые атрибуты маршрута навигации и условия, такие как количество маршрутов на дороге. Эти значения сопоставлены параметрически с 2D ломаными линиями вдоль дорожных ссылок.

  • HereTileId

  • LinkAttribution

Не доступный

SpeedAttributes

Связанные со скоростью дорожные атрибуты, такие как ограничения скорости. Эти атрибуты сопоставлены с 2D полилинейной геометрией слоя топологии.

  • HereTileId

  • LinkAttribution

Не доступный

TopologyGeometry

Топология и 2D геометрия линии дороги. Этот слой также содержит определения узлов и ссылок в мозаике карты.

  • HereTileId

  • TileCenterHere2dCoordinate

  • NodesInTile

  • LinksStartingInTile

  • IntersectingLinkRefs

Доступный — используют plot функция.

Введенный в R2019a

[1] Необходимо заключить отдельное соглашение с HERE для того, чтобы получить доступ к сервисам HDLM и получить необходимые учетные данные (access_key_id и access_key_secret) для использования Сервиса HERE.