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