По результатам предыдущего поста началась некая полемика на тему геолокации различных устройств а-ля трекеры, автосигнализации и всё в этом духе. Поэтому я хотел бы немного пояснить "за технологию".
Прямо сейчас существует всего три технических способа отслеживать (трекать) какое-либо бытовое устройство.
Способ первый
"Тупо и в лоб". Берём свои координаты с GPS и/или ГЛОНАСС-спутников. Раз в N минут отправляем их на сервер по EDGE / 3G / LTE. Сервер записывает координаты в базу данных, выдает по запросу.
Достоинства: GPS и ГЛОНАСС типа бесплатные, гражданские чипы для их приема "ширпортребные". Услуга "мобильный интернет" доступна всем желающим. Устройство может собрать условный Вася на коленке / в подвале и сразу использовать.
Недостатки: для обсчёта данных со спутников требуются существенные вычислительные мощности. Как следствие, устройство получится прожорливым. Для передачи данных на сервер требуется устойчивая связь с этим самым сервером, то есть работающий мобильный интернет. Вблизи определённых объектов сигнал со спутника могут глушить. В подвалах-тоннелях работать тоже не будет по тем же причинам.
Пожалуй, самый главный недостаток это именно энергопотребление. Либо такое устройство не будет миниатюрным, либо будет работать очень недолго, либо не сможет обсчитывать и передавать свои координаты достаточно часто, как бы того хотелось.
Способ второй
Триангуляция по базовым станциям ОПСОСов, он же LBS (Location-Based Services). Контроллеры базовых станций "знают" их GPS-координаты и могут "посмотреть" уровень сигнала до того или иного абонентского устройства. Опросив контроллер можно путём относительно несложных вычислений определить координаты абонента.
Достоинства: достаточно высокая точность в местах плотного покрытия, от абонентского устройства не требуется вообще ничего кроме факта регистрации в сети оператора сотовой связи. Все вычисления производятся на мощных серверах, к которым подведено централизованное энергоснабжение. Передача данных от базовой станции к абоненту или обратно не требуется, так что будет работать везде где есть хоть какой-то приём сигнала. Можно отслеживать перемещение абсолютно любого абонента хоть в реальном времени.
Недостатки: требуется тесная интеграция с базовыми станциями ОПСОСов по семейству протоколов SIGTRAN. То есть это подразумевает внедрение некоего сервера в контур оператора и предоставление ему возможности "щупать" контроллеры базовых станций "напрямую". ОПСОСы подобное очень не любят, тем более что ошибка в ПО на таком сервере потенциально способна перегрузить или вообще вывести из строя всю сеть или значительный её сегмент. А учитывая низкий коммерческий выхлоп от продажи LBS-услуг, ОПСОСы запускают оные крайне неохотно. Да и интеграция тоже несёт в себе существенные трудности, т.к. все операторы используют оборудование разных вендоров и разных моделей, которое вроде бы и должно следовать спецификациям, но на практике, как обычно, каждый дро суслик в поле агроном.
Главный недостаток - необходимость мотивировать оператора развернуть у себя подобный сервис (для чего требуется ну очень серьезный пендаль), плюс невозможность массового применения, т.к. существует некая предельная частота LBS-запросов к контроллерам базовых станций, после которой их ресурс окажется исчерпан.
Способ третий
Статистический. Его как раз используют всякие гугляндексы. Подробно описан
вот здесь. Есть некий сервис, который используют овердохрена подписчиков. И каждый из них регулярно "стучит" большому брату и ежеминутно докладывает свою текущую координату и всевозможные радиомаяки, которые он "видит": WiFi-точки доступа, IDшники базовых станций в поле зрения и т.п. На основании таких докладов "большой брат" собирает статистику и может сообщать координаты в ответ на запрос вида "я вижу то-то и то-то, где я?" Немного напоминает ситуацию, когда два человека пытаются встретиться в незнакомом месте, созваниваются и начинают перечислять друг другу объекты, которые наблюдает каждый из них. "Видишь трёхэтажное здание? А мужика в красной куртке справа от него? О, повернись в его сторону. Вон, я машу тебе рукой."
Достоинства: приемлемая точность без необходимости обладать суровыми вычислительными мощностями на стороне абонента. Он просто спрашивает, ему просто отвечают.
Недостатки: такое могут реализовать только компании, умеющие в Big Data. То есть должен быть некий сервис с ахулиардом подписчиков, которые им постоянно пользуются. Плюс такой же ахулиард серверов, которые всю эту Big Data обсчитывают, агрегируют и актуализируют. И это мы ещё не затрагиваем морально-этическую сторону вопроса, когда "большой брат следит за тобой".
Как-то так. Всем надежного определения собственных координат в пространстве.