Считайте данные о слое HERE HD Live Map
layerData = read(reader,layerType)
layerData = read(reader,layerType,fields)
чтения 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
— Тип слояполя
Поля расположенного на слое объектаПоля расположенного на слое объекта, из которых можно считать данные, заданные как скаляр строки, вектор символов, массив строк или массив ячеек из символьных векторов. Все поля должны быть допустимыми полями слоя, заданного 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.