Разработанный пермскими студентами алгоритм позволяет на 36% точнее по сравнению с существующими методами отображать координаты объекта — к примеру, автобуса или автомобиля — на карте.
Студенты Пермского национального исследовательского политехнического университета разработали алгоритм, который устранить задержки при передаче геолокации автобусов и автомобилей. Свои наработки они представили на всероссийской студенческой научно-технической конференции «Автоматизированные системы управления и информационные технологии».
Зачастую реальные координаты объекта отличаются от тех, которые отображаются на экране приложения у пользователя. Из-за этого возникает множество проблем: на карте отображается одно местонахождение автобуса, а при обновлении данных оказывается, что он уже проехал необходимую остановку. Чтобы этого избежать, сервисы отображения используют различные методы компенсации задержек, но в их основе лежат лишь прогнозируемые положения.
Чтобы более точно устанавливать координаты объекта, программисты из ПНИПУ предложили использовать две последние точки его местоположения. Это позволяет вычислить его вектор и тем самым лучше компенсировать задержки. Разработанный ими на псевдоязыке алгоритм для вычисления координат включает в себя текущее и новое местоположение объекта, а также задержку между ними.
Оценили его эффективность с помощью созданной студентами двухмерной игры на движке Godot. В ней сервер три раза в секунду отправляет координаты персонажа двум клиентам — один из которых использует новый алгоритм, а другой нет. Результаты её тестирования показали, что новая модель для определения местоположения увеличила среднюю точность относительно исходных методов на 36 %.
По мнению разработчиков, их алгоритм может использоваться в GPS-навигаторах, онлайн-картах, а также многопользовательских онлайн-играх, таких как Dota 2 или Counter-Strike.
Источник: Ferra