Читайте ЗДЕСЬ Данные слоя HD Live Map
читает данные HERE HD Live Map [1] (HERE HDLM) указанного типа слоя из layerData = read(reader,layerType)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')

reader - Ввод HERE HDLM readerhereHDLMReader объектВведите ЗДЕСЬ устройство чтения HDLM, указанное как hereHDLMReader объект.
layerType - Тип слояfields - Поля объектов слоевПоля объектов слоев, из которых считываются данные, указанные как строковый скаляр, символьный вектор, строковый массив или массив ячеек символьных векторов. Все поля должны быть допустимыми полями слоя, указанного layerType. Можно указать только поля верхнего уровня этого слоя. Нельзя указать его поля метаданных.
В возвращенном массиве объектов-слоев только обязательные поля, такие как HereTileId и указанные поля содержат данные. Все остальные поля возвращаются как пустые: [].
Список допустимых полей данных верхнего уровня для каждого типа слоев см. в разделе data выходной аргумент.
Пример: 'LinkAttribution'
Пример: "NodeAttribution"
Пример: ["LinkAttribution" "NodeAttribution"]
Пример: {'LinkAttribution','NodeAttribution'}
layerData - ЗДЕСЬ данные уровня HDLMЗДЕСЬ данные слоя HDLM, возвращаемые в виде T-by-1 массива объектов слоя. T - количество идентификаторов плиток карты, сохраненных в TileIds свойства указанного reader. Каждый объект слоя содержит данные карты, имеющие тип layerType для плитки карты HERE, которая была прочитана из reader. Такие данные могут включать:
Геометрия звеньев (улиц) и узлов (пересечений и тупиков) внутри плиток карты
Различные атрибуты уровня дороги и уровня полосы движения
Информация о локализации на основе ориентиров, например, о барьерах, знаках и столбах вдоль дороги
Объекты слоя также содержат метаданные, определяющие имя каталога и версию каталога, из которых read функция получила данные.
Свойства объектов слоя соответствуют допустимым полям слоев HERE HDLM. В этих объектах слоя имена полей слоя изменяются в соответствии с соглашением MATLAB ® об именовании свойств объекта. Для каждого имени поля слоя первая буква и первая буква после каждого подчеркивания заглавны, а подчеркивания удалены. В этой таблице приведены примеры изменений имен .
| ЗДЕСЬ поля уровня HDLM | Свойство объекта слоя MATLAB |
|---|---|
here_tile_id | HereTileId |
tile_center_here_2d_coordinate | TileCenterHere2dCoordinate |
nodes_in_tile | NodesInTile |
Объектами слоя являются структуры MATLAB, свойства которых соответствуют полям структуры. Для доступа к данным из этих полей используйте точечную нотацию.
Например, этот код выбирает NodeId из подполя NodeAttribution поле слоя:
layerData.NodeAttribution.NodeId
В этой таблице представлены допустимые типы объектов слоев и их поля данных верхнего уровня. Доступные слои предназначены для модели осевой линии дороги, модели полосы HD и модели локализации HD. Обзор слоев HERE HDLM и моделей, к которым они принадлежат, см. в разделе Слои HERE HD Live Map.
| Объект-слой | Описание | Поля данных верхнего уровня (свойства объекта слоя) | Поддержка графика |
|---|---|---|---|
AdasAttributes | Точные измерения геометрии, такие как уклон, отметка и кривизна дорог. Используйте эти данные для разработки расширенных систем помощи водителю (ADAS). |
| Недоступно |
ExternalReferenceAttributes | Ссылки на внешние ссылки на карты, узлы и топологии для других карт HERE. |
| Недоступно |
LaneAttributes | Атрибуты уровня полосы движения, такие как направление движения и тип полосы движения. |
| Недоступно |
LaneGeometryPolyline | 3-D геометрию полосы движения, состоящую из набора 3-D точек, соединенных в полилинии. |
| Доступно - Используйте
|
LaneRoadReferences | Ссылки на группы дорог и полос движения и информация о диапазоне. Эти данные используются для перемещения положений между моделью осевой линии дороги и моделью полосы высокой четкости. |
| Недоступно |
LaneTopology | Топологии модели HD Lane, включая группы полос, соединители групп полос, полосы и соединители полос. Этот слой также содержит упрощенную 2-D граничную геометрию модели полосы движения для определения сродства и переполнения плитки карты. |
| Доступно - Используйте
|
LocalizationBarrier | Позиции, размеры и атрибуты барьеров, таких как ограждения и барьеры Джерси, найденные вдоль дорог |
| Недоступно |
LocalizationPole | Положения, размеры и атрибуты сигнальных столбов и других столбов, обнаруженных вдоль дорог или нависающих над ними |
| Недоступно |
LocalizationSign | Положения, размеры и атрибуты граней знаков дорожного движения, обнаруженных вдоль дорог |
| Недоступно |
RoutingAttributes | Атрибуты дороги, связанные с навигацией и условиями. Эти атрибуты параметрически сопоставляются с 2-D геометрией полилинии в слое топологии. |
| Недоступно |
RoutingLaneAttributes | Атрибуты и условия основной навигационной полосы, такие как количество полос движения на дороге. Эти значения сопоставляются параметрически с 2-D полилиниями вдоль звеньев дороги. |
| Недоступно |
SpeedAttributes | Связанные со скоростью атрибуты дороги, такие как ограничения скорости. Эти атрибуты сопоставляются с 2-D геометрией полилинии слоя топологии. |
| Недоступно |
TopologyGeometry | Топология и геометрия 2-D линии дороги. Этот слой также содержит определения узлов и связей в плитке карты. |
| Доступно - Используйте
|
hereHDLMConfiguration | hereHDLMCredentials | hereHDLMReader | plot
[1] Необходимо заключить отдельное соглашение с HERE, чтобы получить доступ к услугам HDLM и получить необходимые учетные данные (access_key_id и access_key_secret) для использования услуги HERE.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.