Здесь Карты: Как получить информацию об ограничении скорости эффективным способом? - PullRequest
1 голос
/ 04 июля 2019

Мы пытаемся получить информацию об ограничении скорости для конкретной точки (широта, долгота).Мы используем Geocoder API и Расширенные телематические наборы данных Fleet из Здесь Карты .

Для некоторых точек GPS получены значения ограничения скоростине соответствует реальному ограничению скорости.Ниже перечислены возможные причины:

  • Точность GPS.Если точка GPS может быть связана с различными типами дорог.Как мы можем фильтровать по типу дороги?
  • Многоуровневые дороги.
  • Дороги очень близко друг к другу.
  • Мы не применяем правильный метод для получения информации об ограничении скорости.:)

Мы получаем информацию об ограничении скорости, выполняя следующие действия:

Шаг 1. Применение обратного запроса геокода от точки GPS (широта, долгота).

https://reverse.geocoder.cit.api.here.com/6.2/

Мы применяем следующие параметры:

prox=latidude,longitude,radius(value: 10)
mode=retrieveAddresses
maxresults=1
additionaldata=SuppressStreetType,Unnamed
locationattributes=linkInfo

Шаг 2.

Из ответа JSON мыполучить следующую информацию:

ReferenceId (View->Result->Location->MapReference->ReferenceId)
FunctionalClass (View->Result->Location->LinkInfo->FunctionalClass)
SpeedCategory (View->Result->Location->LinkInfo->SpeedCategory)

Шаг 3. Применить запрос PDE:

https://pde.api.here.com/1/tile.json

Мы применяем следующие параметры (значенияотносятся к результатам первого запроса геокодера):

layer=SPEED_LIMIT_FCX
level (value is 8 + functional class)
tileX
tileY

значения для tileX и tileY рассчитываются по следующему примеру: https://github.com/seaBass3/here-pde-speed-limit/blob/master/Here_PDE_Demo.php

Шаг 4.

Из ответа JSON мы ищем результат строки, который соответствует ReferenceID, полученному из запроса геокодера.

Можете ли вы подтвердить правильность методологии?

Для некоторых точек полученные значения отличаются от результатов, представленных в этой демонстрации:

https://tcs.ext.here.com/examples/v3/link_speed_locator

Есть предложения?Можете ли вы помочь нам улучшить этот метод?Кроме того, есть ли способ сделать эти запросы для нескольких точек?

1 Ответ

0 голосов
/ 08 июля 2019

Все, что вам нужно, это GeocoderAPI.Используйте следующий параметр, чтобы получить объявленные ограничения скорости и скорость «свободного потока»:

  • addressattributes=additionalData
  • locationattributes=linkInfo

'speedLimit'является объявленным ограничением скорости для обоих направлений.Если вы используете mode=trackPosition с подшипником, то элементы ответа будут отсортированы таким образом, чтобы первый элемент соответствовал данному подшипнику.

«Traffic» показывает скорости свободного потока.Скорость свободного потока - это скорость, с которой движение будет проходить на участке дороги, когда условия хорошие (например, нет дождя или снега) и когда движение не перегружено.

...