HERE HD Live Map[1] (HERE HDLM), разработанная HERE Technologies, представляет собой облачный веб-сервис, позволяющий получать доступ к высокоточным, постоянно обновляемым картографическим данным. Данные состоят из плиточных слоев карты, содержащих такую информацию, как топология и геометрия дорог и полос, атрибуты уровня дороги и атрибуты уровня полосы, а также барьеры, знаки и столбы, обнаруженные вдоль дорог. Эти данные подходят для различных приложений расширенной системы помощи драйверам (ADAS), включая локализацию, генерацию сценариев, навигацию и планирование пути.
Используя функции и объекты Automated Driving Toolbox™, можно сконфигурировать и создать HERE HDLM reader, считать данные карты из веб-сервиса HERE HDLM, а затем визуализировать данные с определенных слоев.
Прежде чем вы сможете использовать веб-сервис HERE HDLM, необходимо ввести учетные данные, полученные из соглашения с HERE Technologies. Чтобы настроить свои учетные данные, используйте hereHDLMCredentials
функция.
hereHDLMCredentials setup
Введите допустимые Access Key ID и Access Key Secret и нажмите OK. Учетные данные сохраняются для остальной части MATLAB® сеанс на вашей машине. Чтобы сохранить учетные данные для будущих сеансов работы с MATLAB на компьютере, в диалоговом окне выберите Save my credentials between MATLAB sessions. Эти учетные данные сохраняются до удаления.
В веб-сервисе HERE HDLM данные карты хранятся в наборе баз данных, называемом catalogs. Каждый каталог примерно соответствует другой географической области, такому как Северная Америка или Западная Европа. Путем создания hereHDLMConfiguration
можно сконфигурировать HERE HDLM reader для поиска данных карты только из определенного каталога. Вы также можете задать версию каталога, которую вы хотите искать. Эти строения могут ускорить эффективность считывателя, потому что считыватель не ищет ненужные каталоги для данных карты.
Например, создайте строение для каталога, которая примерно соответствует области Северной Америки.
config = hereHDLMConfiguration('hrn:here:data::olp-here-had:here-hdlm-protobuf-na-2');
Считыватели, созданные с помощью этого строения, ищут данные карты только из указанного каталога.
Настройка HERE HDLM Reader опциональна. Если вы не задаете строение, программа чтения по умолчанию выбирает для поиска плитки карты по всем каталогам. Считыватель возвращает данные карты из последней версии каталога, в котором были найдены эти плитки.
The 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 Map Layers.
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
объект слоя соответствует допустимым полям HDLM HERE для этого слоя. В этих объектах слоя имена полей слоя изменяются в соответствии с соглашением об именовании MATLAB для свойств объекта. Для получения дополнительной информации об объектах слоя смотрите layerData
описание выходного аргумента на read
страница с описанием функции.
Чтобы визуализировать данные слоев карты, используйте plot
функция. Постройте график топологии возвращенных слоев карты. На графике показаны контуры, узлы (пересечения и тупики) и ссылки (улицы) внутри мозаик карты. Если ссылка выходит за контуры заданных фрагментов карты, данные слоя включают эту ссылку.
plot(topology)
Графики map слоя возвращаются на географической оси. Для настройки отображения карты можно использовать свойства географических осей. Дополнительные сведения см. в разделе Свойства GeographicAxes. Наложите маршрут вождения на график.
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.