чтение

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

Синтаксис

layerData = read(reader,layerType)
layerData = read(reader,layerType,fields)

Описание

пример

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(fullfile(matlabroot,'examples','driving','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('Western Europe');
reader = hereHDLMReader(tileID,'Configuration',config);

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

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

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

   Metadata:
                       Catalog: 'here-hdmap-ext-weu-1'
                CatalogVersion: 3117

  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. Для обзора слоев HERE HDLM и моделей они принадлежат, видят, что HD HERE Живет Слои Карты. Для полного описания полей смотрите, что HD Живет Спецификация Данных о Карте на веб-сайте HERE Technologies.

Расположенный на слое объектОписаниеПоля данных верхнего уровня (свойства расположенного на слое объекта)Постройте поддержку
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.

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 и получить необходимые учетные данные (app_id и app_code) для использования Сервиса HERE.