Найдите множество широт и долгот с использованием текущей широты, долготы и направления просмотра объекта

Я создаю приложение для Android, основанное на дополненной реальности. Основная идея заключается в том, когда пользователь открывает мое приложение, по умолчанию камера устройства запускается в режиме предварительного просмотра. На основании текущего местоположения GPS пользователя и направления, в котором находится пользователь / камера, я хочу рассчитать, какие из множества широт и долгот в диапазоне?

Следующее изображение очень хорошо объясняет мой сценарий. У меня есть полный набор широт и долгот, как нарисованы все черные пятна на рисунке. Теперь предположим, что пользователь находится в центре круга. Также учитывая, что он смотрит в Северном направлении. Если мы рассмотрим угол 45 градусов к северному направлению. Я хочу получить множество широт и долгот, которые приходят в этой 45-градусной видимой области.

Введите описание изображения здесь

Я могу получить направление, в котором находится камера пользователя. Я также могу найти текущее местоположение GPS. У меня есть полный набор широт и долгот, хранящихся в моей базе данных SQLite. Теперь я хочу рассчитать набор широт и долгот, с которыми сталкивается камера устройства пользователя.

Надеюсь, я здесь объяснил довольно хорошо. Его немного срочно, если кто-то может помочь в этом.

Заранее спасибо.

Чтобы получить угол обзора, вы можете использовать в качестве приближения метод Camera.Parameters getHorizontalViewAngle () . Назовем его альфа. Вы также знаете опору своего устройства с его точки зрения на магнитный север, назовем его бета-версией.

Оттуда, в пределах заданного радиуса, итерации по множеству местоположений базы данных, вычислите подшипник от вашего положения до его и проверьте, находится ли он внутри интервала [beta-alpha / 2, beta + alpha / 2]

Если вы на самом деле не спешите с этим, я бы предложил взглянуть на Mixare , свою среду с открытым исходным кодом, которая занимается расположением и AR.

Вы можете проверить код mixare, браузер дополненной реальности, выпущенный под GPLv3. Репозиторий доступен по адресу: http://github.com/mixare/mixare

Есть много деталей, о которых вам нужно позаботиться, начиная с того факта, что поле зрения камеры доступно только программно с версии 2.3 (IIRC) для Android. Вы находите эти и многие другие в классе совместимости.

HTH, команда Daniele – mixare

Intereting Posts