HERE HD Live Map [1] (HERE HDLM), разработанная компанией HERE Technologies, представляет собой облачный веб-сервис, позволяющий получать доступ к точным и постоянно обновляемым данным карты. Данные состоят из слоев мозаичной карты, содержащих такую информацию, как топология и геометрия дорог и полос движения, атрибуты уровня дороги и атрибуты уровня полосы движения, а также барьеры, знаки и столбы, обнаруженные вдоль дорог. Эти данные подходят для различных приложений расширенной системы помощи водителю (ADAS), включая локализацию, генерацию сценариев, навигацию и планирование путей.
С помощью функций и объектов Automated Driving Toolbox™ можно настроить и создать устройство чтения HERE HDLM, считывать данные карты из веб-службы HERE HDLM, а затем визуализировать данные из определенных слоев.
Перед использованием веб-службы HERE HDLM необходимо ввести учетные данные, полученные из соглашения с HERE Technologies. Чтобы настроить учетные данные, используйте hereHDLMCredentials функция.
hereHDLMCredentials setup
Введите действительный идентификатор ключа доступа и секрет ключа доступа и нажмите кнопку ОК. Учетные данные сохраняются для оставшейся части сеанса MATLAB ® на компьютере. Чтобы сохранить учетные данные для будущих сеансов MATLAB на компьютере, в диалоговом окне выберите Сохранить учетные данные между сеансами MATLAB. Эти учетные данные сохраняются до их удаления.
В веб-службе HERE HDLM данные карты хранятся в наборе баз данных, называемых каталогами. Каждый каталог примерно соответствует разным географическим регионам, таким как Северная Америка или Западная Европа. Путем создания hereHDLMConfiguration можно настроить средство чтения HERE HDLM для поиска данных карты только из определенного каталога. Можно также дополнительно указать версию каталога, в котором требуется выполнить поиск. Эти конфигурации могут ускорить работу считывателя, поскольку считыватель не ищет ненужные каталоги для картографических данных.
Например, создайте конфигурацию каталога, которая примерно соответствует региону Северной Америки.
config = hereHDLMConfiguration('hrn:here:data::olp-here-had:here-hdlm-protobuf-na-2');Средства чтения, созданные с помощью этой конфигурации, ищут данные карты только из указанного каталога.

Настройка устройства чтения HERE HDLM является необязательной. Если конфигурация не указана, по умолчанию программа чтения выполняет поиск плиток карт во всех каталогах. Считыватель возвращает данные карты из последней версии каталога, в которой были найдены эти плитки.
hereHDLMReader объект считывает данные HERE HDLM из выборки фрагментов карты. По умолчанию для этих плиток карты установлен уровень масштабирования 14, что соответствует прямоугольной площади около 5-10 квадратных километров.

Вы выбираете плитки карты, из которых будут считываться данные при создании hereHDLMReader объект. Идентификаторы плиток карты можно указать непосредственно. Кроме того, можно указать координаты ведущей трассы и считывать данные с плиток карты этой трассы.
Загрузите координаты широты-долготы для маршрута движения в Северной Америке. Для справки отобразите трассу на географических осях.
route = load('geoSequenceNatickMA.mat'); lat = route.latitude; lon = route.longitude; geoplot(lat,lon,'bo-') geobasemap('streets') title('Driving Route')

Создать hereHDLMReader с использованием указанного маршрута движения и конфигурации.
reader = hereHDLMReader(lat,lon,'Configuration',config);
Дополнительные сведения о слоях в этих моделях см. в разделе Слои карт HD Live.
read считывает данные для выбранных фрагментов карты. Данные карты возвращаются в виде последовательности объектов слоя. Считывание данных из слоя, содержащего топологическую геометрию дороги.
topology = read(reader,'TopologyGeometry')topology =
2×1 TopologyGeometry array with properties:
Data:
HereTileId
IntersectingLinkRefs
LinksStartingInTile
NodesInTile
TileCenterHere2dCoordinate
Metadata:
Catalog
CatalogVersionКаждый объект слоя карты соответствует мозаике карты, выбранной с помощью ввода hereHDLMReader объект. Идентификаторы этих фрагментов карты хранятся в TileIds свойство читателя. Проверьте свойства объекта слоя карты для первой плитки карты. Версия каталога и данные карты могут отличаться от приведенных здесь.
topology(1)
ans =
TopologyGeometry with properties:
Data:
HereTileId: 321884279
IntersectingLinkRefs: [42×1 struct]
LinksStartingInTile: [905×1 struct]
NodesInTile: [635×1 struct]
TileCenterHere2dCoordinate: [42.3083 -71.3782]
Metadata:
Catalog: 'hrn:here:data::olp-here-had:here-hdlm-protobuf-na-2'
CatalogVersion: 3321Свойства TopologyGeometry объект слоя соответствует допустимым полям HERE HDLM для этого слоя. В этих объектах слоя имена полей слоя изменяются в соответствии с соглашением об именовании объектов MATLAB. Дополнительные сведения об объектах-слоях см. в разделе layerData описание выходного аргумента на read страница ссылки на функцию.
Для визуализации данных слоев карты используйте plot функция. Постройте график топологии возвращаемых слоев карты. На графике показаны границы, узлы (пересечения и тупики) и звенья (улицы) внутри плитки карты. Если связь выходит за границы указанных фрагментов карты, данные слоя включают эту связь.
plot(topology)

Графики слоя карты возвращаются по географическим осям. Для настройки отображения карт можно использовать свойства географических осей. Для получения дополнительной информации посмотрите GeographicAxes Properties. Наложение маршрута движения на график.
hold on geoplot(lat,lon,'bo-','DisplayName','Route') hold off

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