exponenta event banner

читать

Читайте ЗДЕСЬ Данные слоя HD Live Map

Описание

пример

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

пример

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

Примеры

свернуть все

Используйте услугу HERE HD Live Map (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) для считывания данных геометрии топологии из плитки карты. Эти данные используются для поиска кратчайшего пути между двумя узлами внутри плитки карты.

Определите идентификатор плитки HERE для района Стокгольма, Швеция.

tileID = uint32(378373553);

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

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

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

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')

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

свернуть все

Введите ЗДЕСЬ устройство чтения HDLM, указанное как hereHDLMReader объект.

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

Пример: "AdasAttributes"

Пример: 'LaneTopology'

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

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

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

Пример: 'LinkAttribution'

Пример: "NodeAttribution"

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

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

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

свернуть все

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

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

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

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

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

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

ЗДЕСЬ поля уровня HDLMСвойство объекта слоя MATLAB
here_tile_idHereTileId
tile_center_here_2d_coordinateTileCenterHere2dCoordinate
nodes_in_tileNodesInTile

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

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

layerData.NodeAttribution.NodeId

В этой таблице представлены допустимые типы объектов слоев и их поля данных верхнего уровня. Доступные слои предназначены для модели осевой линии дороги, модели полосы HD и модели локализации HD. Обзор слоев HERE HDLM и моделей, к которым они принадлежат, см. в разделе Слои HERE HD Live Map.

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

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

  • HereTileId

  • LinkAttribution

  • NodeAttribution

Недоступно

ExternalReferenceAttributes

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

  • HereTileId

  • LinkAttribution

  • NodeAttribution

Недоступно

LaneAttributes

Атрибуты уровня полосы движения, такие как направление движения и тип полосы движения.

  • HereTileId

  • LaneGroupAttribution

Недоступно

LaneGeometryPolyline

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

  • HereTileId

  • TileCenterHere3dCoordinate

  • LaneGroupGeometries

Доступно - Используйте plot функция.

LaneRoadReferences

Ссылки на группы дорог и полос движения и информация о диапазоне. Эти данные используются для перемещения положений между моделью осевой линии дороги и моделью полосы высокой четкости.

  • HereTileId

  • LaneGroupLinkReferences

  • LinkLaneGroupReferences

Недоступно

LaneTopology

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

  • HereTileId

  • TileCenterHere2dCoordinate

  • LaneGroupsStartingInTile

  • LaneGroupConnectorsInTile

  • IntersectingLaneGroupRefs

Доступно - Используйте plot функция.

LocalizationBarrier

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

  • HereTileId

  • TileCenterHere3dCoordinate

  • Barriers

  • RoadToBarriersReferences

  • IntersectingBarrierRefs

Недоступно

LocalizationPole

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

  • HereTileId

  • TileCenterHere3dCoordinate

  • Signs

  • RoadToSignsReferences

Недоступно

LocalizationSign

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

  • HereTileId

  • TileCenterHere3dCoordinate

  • Poles

  • RoadToPolesReferences

Недоступно

RoutingAttributes

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

  • HereTileId

  • LinkAttribution

  • NodeAttribution

  • StrandAttribution

  • AttributionGroupList

Недоступно

RoutingLaneAttributes

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

  • HereTileId

  • LinkAttribution

Недоступно

SpeedAttributes

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

  • HereTileId

  • LinkAttribution

Недоступно

TopologyGeometry

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

  • HereTileId

  • TileCenterHere2dCoordinate

  • NodesInTile

  • LinksStartingInTile

  • IntersectingLinkRefs

Доступно - Используйте plot функция.

Представлен в R2019a

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