exponenta event banner

Чтение и визуализация данных карты HD Live

HERE HD Live Map [1] (HERE HDLM), разработанная компанией HERE Technologies, представляет собой облачный веб-сервис, позволяющий получать доступ к точным и постоянно обновляемым данным карты. Данные состоят из слоев мозаичной карты, содержащих такую информацию, как топология и геометрия дорог и полос движения, атрибуты уровня дороги и атрибуты уровня полосы движения, а также барьеры, знаки и столбы, обнаруженные вдоль дорог. Эти данные подходят для различных приложений расширенной системы помощи водителю (ADAS), включая локализацию, генерацию сценариев, навигацию и планирование путей.

С помощью функций и объектов Automated Driving Toolbox™ можно настроить и создать устройство чтения HERE HDLM, считывать данные карты из веб-службы HERE HDLM, а затем визуализировать данные из определенных слоев.

Ввод учетных данных

Перед использованием веб-службы HERE HDLM необходимо ввести учетные данные, полученные из соглашения с HERE Technologies. Чтобы настроить учетные данные, используйте hereHDLMCredentials функция.

hereHDLMCredentials setup

The HERE HD Live Map Credentials dialog box

Введите действительный идентификатор ключа доступа и секрет ключа доступа и нажмите кнопку ОК. Учетные данные сохраняются для оставшейся части сеанса MATLAB ® на компьютере. Чтобы сохранить учетные данные для будущих сеансов MATLAB на компьютере, в диалоговом окне выберите Сохранить учетные данные между сеансами MATLAB. Эти учетные данные сохраняются до их удаления.

Настройка средства чтения для поиска по конкретному каталогу

В веб-службе HERE HDLM данные карты хранятся в наборе баз данных, называемых каталогами. Каждый каталог примерно соответствует разным географическим регионам, таким как Северная Америка или Западная Европа. Путем создания hereHDLMConfiguration можно настроить средство чтения HERE HDLM для поиска данных карты только из определенного каталога. Можно также дополнительно указать версию каталога, в котором требуется выполнить поиск. Эти конфигурации могут ускорить работу считывателя, поскольку считыватель не ищет ненужные каталоги для картографических данных.

Например, создайте конфигурацию каталога, которая примерно соответствует региону Северной Америки.

config = hereHDLMConfiguration('hrn:here:data::olp-here-had:here-hdlm-protobuf-na-2');

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

A map of the world with only North America highlighted. A HERE HD Live Map catalog is overlaid on top of the North America region.

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

Создать средство чтения для определенных плиток карты

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

Two side-by-side map tiles

Вы выбираете плитки карты, из которых будут считываться данные при создании hereHDLMReader объект. Идентификаторы плиток карты можно указать непосредственно. Кроме того, можно указать координаты ведущей трассы и считывать данные с плиток карты этой трассы.

Загрузите координаты широты-долготы для маршрута движения в Северной Америке. Для справки отобразите трассу на географических осях.

route = load('geoSequenceNatickMA.mat');
lat = route.latitude;
lon = route.longitude;

geoplot(lat,lon,'bo-')
geobasemap('streets')
title('Driving Route')

A driving route on a map

Создать hereHDLMReader с использованием указанного маршрута движения и конфигурации.

reader = hereHDLMReader(lat,lon,'Configuration',config);
Это считывающее устройство позволяет считывать данные карты для плиток, на которых находится данный маршрут движения. Данные карты хранятся в наборе слоев, содержащих подробную информацию о различных аспектах карты. Считыватель поддерживает считывание данных из слоев карты для модели осевой линии дороги, модели полосы HD и модели локализации HD.

The North America catalog points to two tiles containing a driving route. The available layers for these tiles are shown expanding from these tiles.

Дополнительные сведения о слоях в этих моделях см. в разделе Слои карт 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)

A road topology plot displaying the nodes and links on the map tiles

Графики слоя карты возвращаются по географическим осям. Для настройки отображения карт можно использовать свойства географических осей. Для получения дополнительной информации посмотрите GeographicAxes Properties. Наложение маршрута движения на график.

hold on
geoplot(lat,lon,'bo-','DisplayName','Route')
hold off

The road topology plot with the route overlaid on top of it

См. также

| | | |

Связанные темы


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