GPS основан на оценках дальности от излучающих спутников до вашего приемника. Ваш GPS-приемник нуждается (в общем) в сигнале как минимум от 4 спутников, чтобы иметь возможность вычислить его местоположение. Уровни сигналов для полосы L1 в условиях открытого неба приблизительно достигают -130 дБм. Коммерческие приемники, такие как встроенные в мобильные телефоны, способны отслеживать спутники до -160 дБм. При этом пороговом значении приемник не может использовать сигнал. Этот запас 30 дБ допускает некоторое ослабление от препятствий, таких как листва, стеклянные окна, даже светлые стены, но несколько этажей здания полностью маскируют сигналы практически со всех направлений, что делает GPS полностью недоступным. И даже если затухание позволяет приемнику использовать сигналы для вычисления своих позиций, достигнутой точности, вероятно, будет недостаточно для вашего целевого приложения (точность ухудшается из-за затухания сигнала).
С другой стороны, системы определения местоположения Wi-Fi, такие как Skyhook (реализованные на многих мобильных платформах), часто могут вычислить местоположение внутри зданий, но у этого метода есть два основных недостатка:
- Охват базы данных не
включают внутренние сайты (AFAIK), поэтому
возвращаемое местоположение очень приблизительное
и непригоден для любого применения.
- Алгоритмы определения местоположения Wi-Fi, основанные на оценке дальности до горячих точек с использованием уровней сигнала, очень сильно зависят от внутренних препятствий (людей, мебели и т. Д.). Это снижает точность позиционирования.
Существует третий вариант: интегрировать ускорение из набора микросхем MEMS в мобильном телефоне, из последней известной позиции GPS. Это может работать при определенных условиях ...
В заключение, не существует готового решения для определения местоположения внутри мобильных телефонов, но некоторые работают над этим вопросом (например, http://www.polestar.eu/en/node/111/y)
Редактировать: Я забыл упомянуть позиционирование на основе сотовой вышки, которое доступно, если в телефоне активная коррекция данных в сотовой сети. Этот метод достаточно точен, чтобы указать город, в котором находится мобильный телефон.