Местоположение lac. Определение местонахождения базовых станций GSM

В крупных мегаполисах редко бывают неполадки с приемом сигнала сотовых операторов, разве что в метро или подземных переходах. Но стоит выехать за город, например, на дачу или на пляж, то сразу же встречаешься с проблемой приема лицом к лицу. И больше всего времени обычно тратишь на поиск того самого сигнала.

Приложение открытая карта покрытия существенно сэкономит ваше время. Отслеживая расположения сотовых вышек, оно без труда покажет в каком направлении находится ближайшая станция.

Для этого в приложении есть специальный компас, который находится в разделе обзор. Он также доступен по нажатию на компактный виджет программы. Но это не единственный способ нахождения сигнала с помощью открытой карты покрытия . В разделе карта вы сразу увидите расположение всех ближайших вышек. При отсутствии мобильного интернета можно воспользоваться слоем радар.

Из остальных функций открытой карты покрытия можно отметить:

  • поиск WiFi точек (правда, при тестировании было выявлено, что она немного ошибаться в направлении).
  • замер скорости соединения
  • отображение детальной информации о мощности сигнала
  • сохранение точек доступа WiFi и карты их расположения (при запуске теста скорости)
  • отображение истории замеров мощности сигнала
  • построение графика мощности сигнала

Сегодня я хочу представить всем желающим базу телефонных станций всего мира.

Это может быть полезно приложениям или сервисам, которые по идентификаторам мобильной станции хотят получить ее геопозицию и тип. Данная база частично является копией The OpenCellID map , однако в официальной реализации есть ограничение на количество запросов и обязательно выпускать API ключ. В базе так же собраны и другие источники данных.

Список открытых источников:

  • OpenCellID (CC-BY-SA 3.0 unported)
  • openBmap.org (Open Database License (ODbL) v1.0)
  • Mozilla Location Service (CC0 1.0 Universal (CC0 1.0))

В моей реализации нет не лимитов, ни ключей.

Данные обновляются еженедельно.

Реализация API (Открытые источники)

http://api.сайт/geolocation/cell адрес запросов передаются методом GET

Так же доступен по протоколу https://api.сайт/geolocation/cell

  1. mcc - Integer (Код страны)
  2. data=open - указание, что данные полученные из API строго открытые

Ответ:

Строка JSON имеющее обязательное поле result.

Если станция найдена в поле result приходит ответ 200 , при ошибках возвращается код 404.

{ "result":200, "data":{ "lon":"30.385654398", "mcc":250, "lac": 7840, "range":"869.994176272", "radio":"UMTS", "samples":49, "time":1430577060, "lat":"60.056594206", "mnc":2, "cellid":200719106 } } { "result":404, "data":{ }, "real":6, "desc":"No information about location", "time":1430579063 }

Описание успешного ответа:

  • lat - широта
  • lon - долгота
  • range - точность определения координаты в метрах
  • samples - количество измерений
  • mcc - код страны
  • mnc - код мобильного оператора
  • lac - код мобильного региона
  • cellid - Id базовой станции
  • radio - тим базовой стании

Реализация API (Данные "как есть")

Для запроса есть 4 обязательных поля:

  1. mcc - Integer (Код страны)
  2. mnc - Integer (Код телефонного оператора)
  3. cellid - Integer (Код телефонной станции)
  4. lac - Integer (Код региона или Area, Location)
  5. v - Номер версии (Актуацльная версия 1.1)

Уточненное местоположение

Вводится новая функция получения приблизительного пожложения точки триангуляционного центра. Синтаксис следующий: на сервер передается набор базовых станций, видимых приемником и силу сигналов станций, а сервер по имеющимся данным получает приблизительное положение точки, качественно являющейся трианглуляционным центром. все данныые запроса оборачиваются base64

Пример исходной строки:

250,02,7810,318,-81;250,02,4711,24208,-83;250,02,4711,24214,-89;250,02,4711,619,-95;250,02,4711,16627,-95

mcc,mnc,lac,cellid,SS;mcc1,mnc1,lac1,cellid1,SS1

В данном моде так же работает тег data=open который сообщает серверу что данные должны быть получены исключительно из открытых источников. К сожалению, в этом случае часты ситуации с отрицательным результатом.

Важно заметить, что API позволяет геолоцироваться по разным операторам одновременно, те если абонент слышить много сетей вокруг, то его местоположение пожно определить достаточно достоверно.

Демо

По адресу находится демо-визуализация результатов поиска по сервису API.

Для этого потребуется:
1.Мобильный телефон;
2.Доступ в интернет;

Телефон должен быть с поддержкой netmonitor. Не пугайтесь, эта встроенная утилита, присутствующая чуть ли не в каждой второй мобиле, а так же во всех телефонах с android и ios.

IPhone это *3001#12345#* ,
Android *#*#4636#*#* или *#*#197328640#*#* .

В моем примере iPhone 4s.

Открываем netmonitor набрав *3001#12345#*, затем вкладку UMTS Cell Environment, далее UMTS RR info. Нас интересует поле Cell ID. В айфонах эта цифра представлено несколько раком, а точнее в шестнадцатеричном (hex) формате, например 1a123сс.

Следим за этим полем и записываем на листочек все значения поля Cell ID, их будет не много, скорее всего меньше пяти.
Телефон сам выбирает БС (базовую станцию) исходя из лучшего уровня сигнала, дальности расположения и т.д., по этому скорее всего номеров БС будет несколько, но все же вряд ли сильно много. Нам нужно знать идентификаторы всех базовых станций, которые сможет поймать телефон в этом месте.
Всё. Теперь в моменты особо-обострившейся паранойи можно и заходить сюда же и сверяться с нашим листочком на предмет непонятных номеров "базовых станций", возможно стоящей в Газеле возле подъезда)))

Перейду ко второй части названия темы.

Зная идентификатор БС, которая обслуживает нас в данный момент, все что необходимо знать еще, это LAC, Local Area Code — код локальной зоны.
Для того, что бы узнать LAC заходим в нетмонитор, открываем вкладку MM info, затем Serving PLMN:

После того, как мы узнали LAC и Cell ID идем на http://xinit.ru/bs/ .

Во время написания поста моя базовая станция не найдена, поэтому определить прослушивают меня или нет, я не смог.

На этом сайте http://opencellid.org/ Вы можете определять примерное местоположение телефона, зная всего несколько параметров:

MCC (Россия 250, Украина 255, Беларусь 257)

MNC (код сети: Билайн - 99, МТС - 01, Мегафон - 02, Теле 2 - 20, Ростелеком - 39)

LAC (как узнать LAC написано выше)

CID (как узнать LAC написано выше)

http://opencellid.org/ заполняем поля (Cell ID в формате hex вводить в соответствующее поле!) и любуемся на карту.

Таким образом, мы можем абсолютно бесплатно смотреть местоположение мобильника. Удобно правда?

Обнаружение вышек связи - это не криминальная деятельность, а довольно распространенная задача в отдаленных регионах и деревнях, где качество покрытия оставляет желать лучшего. Как понять, почему у этого столба берет лучше, чем от той калитки? Сориентироваться тебе могут помочь следующие инструменты и сайты.

Из англоязычных сервисов, пожалуй, лучше всего opensignal.com, где можно выбрать оператора и необходимое местоположение. Карта не отображает вышки, но показывает области покрытия. Из русских могу порекомендовать netmonitor.ru - в его базе содержится немало информации о вышках операторов.

Интересны и некоторые приложения для Android. К примеру, OpenSignal отображает карту сотовых вышек и точек Wi-Fi (еще на карте помечены места с плохой связью), имеет встроенный компас и средство проверки скорости.

Еще интересна утилита Netmonitor. Она умеет мониторить сети GSM и CDMA, показывает информацию об уровне сигнала, содержит базу данных сотовых вышек, поддерживает устройства с несколькими SIM-картами, а также умеет вести лог в формате CLF или KLM.

Обрати внимание, у Netmonitor есть ограничения при работе на устройствах некоторых производителей. На смартфонах Motorola, LG, Samsung, Acer и Huawei список соседей может быть пуст, а на устройствах Samsung к тому же может не отображаться уровень сигнала.

Также порекомендую приложение GSM Signal Monitoring, которое позволяет работать с сетями GSM, UMTS и LTE. Оно на графике отображает изменение уровня сигнала и показывает соседние соты (только в сетях GSM). Есть монитор скорости передачи данных и возможность отслеживать статус соединения, стандарт подключения, идентификаторы соты и текущей зоны (LAC/RNC/TAC) и уровень мощности принимаемого сигнала (RSSI, а также RSRP для LTE).

Один из первых вопросов, который возникает, когда вы занимаетесь подключением к мобильному интернету, это вопрос о местонахождении базовой станции выбранного вами оператора, чтобы направить в ее сторону свою антенну. Желательно узнать точные координаты вышки и рельеф до нее, чтобы понять, имеет ли смысл использовать вышку для приема сигнала. Сервисы и различные андроид-приложения не дают точных координат БС, т.к. основаны на измерениях и их математической обработке. Погрешность при этом может достигать нескольких километров

Зачастую координаты вышки можно установить, изучая карты покрытия операторов, рельеф местности, карты Гугл и Яндекс, а также предоставляемые ими возможности просматривать фотографии и панорамы изучаемой местности. Надо сказать, что БС на карте можно найти не всегда. Причин тому может быть много – карты устарели, БС находится на крыше здания и ее просто не видно на карте, вышка имеет небольшие размеры и т.п.

Параметры БС неизвестны. Костромская обл

Задано: координаты 57.564243, 41.08345, деревня Кузьминка в Костромской области.
Задача – определить точные координаты БС, к которой можно подключиться для приема 3G-сигнала. Будем рассматривать поиск БС по шагам.

Шаг 1. Анализ карт покрытия.

Воспользуемся известным сервисом yota-faq.ru/yota-zone-map/ , где представлены зоны покрытия четырех операторов, кроме Билайна. Отмечу здесь, что покрытие Билайна, представленное на их офсайте, использовать практически невозможно – там показывается, как правило, сплошное покрытие, не учитывающее рельеф местности. Наиболее интересно с точки зрения подключения выглядят зоны покрытия Мегафона и МТС. Вы сами можете в этом убедиться, открыв сервис, вставив координаты в поисковую строку и переключая операторов.

Зона покрытия Мегафона:

Зона покрытия МТС:


Из анализа зоны покрытия Мегафона видим, что БС 3G вероятнее всего находятся в направлениях Красное, Сухоногово, Лапино (в данном масштабе карты Лапино не видно, это юго-запад, примерно там, где отметка Р-600).

Более интересна зона покрытия МТС. Здесь также рассматриваем направление на Сухоногово и Красное. Но Красное более интересный вариант, т.к. там есть покрытие 4G. Расстояние до Красного порядка 10 км, если МТС раздает 4G на частоте 1800 МГц, то есть все шансы установить связь с одной из БС МТС, которые находятся в этом населенном пункте.

Шаг 2. Изучение рельефа местности.

Рельеф до Красного непростой, но вполне пробиваемый. Для оценки рельефа воспользуемся сервисом https://airlink.ubnt.com . Если вы впервые на этом сайте, то вначале вам нужно будет пройти бесплатную процедуру регистрации. Открыв сервис, прокручиваем ползунок вниз до конца и в правом нижнем углу вводим исходные данные, как показано на следующем рисунке.

Я обычно вначале ввожу одинаковые координаты в оба окошка, а потом начинаю двигать лиловую метку в интересующие меня точки, где предположительно могут находиться БС. При этом в правом верхнем углу экрана отображается рельеф, луч прямой видимости и примерный размер зоны Френеля.

Для наших координат имеем:


Проверка рельефа в других «подозрительных» направлениях показала, что рельеф там значительно хуже. Таким образом, мы определились с направлением и заодно выбрали оператора – МТС.

Шаг 3. Уточнение нашего выбора с помощью сервиса «Качество связи»

Сервис открывается по следующему адресу https://geo.minsvyaz.ru . В поисковой строке задаем название деревни Кузьминка, переключаем просмотр с 4-х окон в однооконный режим, масштабируем карту в удобный размер и получаем для оператора МТС:


Видим, что наш выбор правильный, т.к. согласно базе данных измерений пользователей этого сервиса в Красном действительно имеется хорошее покрытие 4G от МТС.

Увеличим масштаб этой карты и увидим, что наиболее вероятным местоположение вышки (или вышек) является улицы Советская и Окружная.


Шаг 4. Изучение местности с помощью карт Гугл и Яндекса.

Указанные карты обладают полезным инструментом для изучения местности – панорамами и фотографиями местности. У карт Гугл панорам различных местностей значительно больше, чем у Яндекса, поэтому чаще приходится пользоваться Гуглом, рассматривая панорамы. С другой стороны, у Яндекса больше фотографий, сделанных в различных местах, кроме того, обычно карты Яндекса для России более актуальны. В связи с этим приходится пользоваться обоими сервисами. Здесь использованы карты и сервисы Гугл.

Итак, мы выяснили, что нам нужно рассмотреть две улицы в Красном в поисках БС. Запускаем карты Гугл, вводим примерные координаты ул. Советской (или название улицы) и получаем:


Здесь включен режим просмотра улиц, нужная нам улица выделена синим цветом на карте. Получить панораму улицы можно кликнув мышкой в любой точке синей линии. Двигаясь таким образом вдоль улицы на север, у здания почты мы обнаруживаем первую БС:



И наконец невдалеке от пересечения Советской и Окружной улиц обнаруживается третья вышка, самая высокая из найденных:


Возвращаемся к карте и находим тень этой вышки в том месте, куда указывает фотография:


Отмечаем мышкой это место на карте и получаем точные координаты БС:


Подведем некоторые итоги нашего исследования. С помощью информации, полученной из анализа зон покрытия, пользовательских измерений силы сигнала в интересующей нас местности и изучения местности по фотографиям и панорамам, нам удалось найти три базовых станции и их точные координаты в городе, в котором мы никогда не бывали. Вопрос о том, какому оператору принадлежатнайденные БС, остается открытым, т.к. ответ на него требует дополнительного исследования. Проще всего проехать по маршруту и измерить параметры БС с помощью какого-нибудь андроид-приложения, которое выдает MNC, MCC и уровень сигнала. Некоторые из таких приложений представлены здесь.

Параметры БС известны. Пригород Пензы

Как известно ряд андроид-приложений, а также интерфейс модема типа HiLink и программа MDMA могут давать параметры БС, с помощью которых известные сервисы и приложения могут выдавать приблизительные координаты БС, что позволяет облегчить поиск конкретных координат БС на картах. Рассмотрим конкретный пример с форума, пример основан на

Расстояние до вышки примерно 4800 метров:


Как видно из нашего исследования, ошибка в определении координат БС, полученном с помощью сервиса xinit.ru/bs, весьма существенна – составляет почти 2 км. Такие ошибки характерны для всех сервисов, основанных на базах данных измерений пользователей, но других доступных сервисов нет.

Заключение

Представленная методика, основанная на применении широко доступных картографических инструментов,не всегда, но достаточно часто позволяет найти точные координаты БС. Существенную помощь в определении принадлежности БС тому или иному оператору оказывают сервисы, дающую информацию параметрах БС и ее примерных координатах.