Сервисы геолокации по сотовым вышкам

Telegram dou#techПідписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

Всем привет. Можете подсказать лучшие и в идеале проверенные сервисы геолокации для определения координат по LBS (данные от сотовых вышек).

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

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Если интересно я делал так:
1. Получал координаты БС
2. По такому алгоритму определял позицию по известным координатам:
stackoverflow.com/...​-towers-to-get-a-location

3 Towers at
tx1,ty1
tx2,ty2
tx3,ty3

With signal strengths s1, s2, s3

We calculate the weight of each signal. Essentially a number from 0 to 1 for each tower where the sum of the weights adds up to 1.

Weighted signal w1, w2, w3 where:
w1 = s1/(s1+s2+s3)
w2 = s2/(s1+s2+s3)
w3 = s3/(s1+s2+s3)

User will be at
x: (w1 * tx1 + w2 * tx2+ w3 * tx3)
y: (w1 * ty1 + w2 * ty2+ w3 * ty3)

Данные о вышках брал с нескольких источников :
1. www.google.com/glm/mmap
2. www.googleapis.com/geolocation/v1/geolocate (здесь ключ надо)
3. api.mylnikov.org/geolocation/cell...
4. opencellid.org/cell/get (здесь ключ надо)
5. location.services.mozilla.com (Здесь можно выкачать офлайн базу)

Примерно так. Ну точность будет в 2G не меньше 550 м в 3G не меньшеметров 300 в 4G не все вышки можно найти в интернете.

а що таке в цьому контексті сила сигналу? точніше, в яких одиницях s?

В dbm измеряется — уровень сигнала от базовой станции до телефона. Вот есть описание как считать для разных стандартов wiki.opencellid.org/wiki/FAQ а вот как получить данные с телефона developer.android.com/...​phony/NeighboringCellInfo

Если взять не телефон а модемы типа Telit, Huawei. В зависимости от прошивки можно еще получить для 2G TA тогда точность будет лучше. А если брать лес тогда да там точность будет ± зона действия соты. Для города будет однозначно точнее. Такой метод можно использовать только как вспомогательный если вдруг GPS сигнал либо подавлен либо работает система увода координат. Тут скорее всего надо комбинировать два метода получения координат.

Даже мощные сигналы, если время его прибытия больше, чем прохождение 35 км отбрасываются, как мусор.

Телефон просто не успевает ответить так быстро, чтобы ответ вписался в отведенный тайм-слот.

Операторы используют время прохождения сигнала от тебя до вышки. Точность — десятки метров, если три вышки видны.

На самом деле нет, т.к. смартфоны всех победили и LBS для тупофонов умер, не успев толком родиться.

Оператору для предоставления услуг связи не надо знать, где именно находится телефон.
Поэтому определять положение телефона оператор будет только для того, чтобы продать это как доп. услугу. Именно это называлось LBS, но не взлетело, т.к. смартфоны (умеющие сами определять свое положение и выполнять произвольные приложения) убили на корню весь потенциальный спрос.

Телефон знает время прохождения (timing advance) в текущей активной соте, а для соседей он знает только уровень сигнала. Поэтому даже тогда, когда LBS пытались взлететь, они не строились на том, что мы будем использовать timing advance от «трех соседних вышек». Это потребовал бы от оператора временно отключать текущую активную соту (и так два раза), что для массового сервиса было бы неприемлемо.

Да, согласен. Я спорил исключительно с утверждением про «операторы используют время ...» и «три вышки».

Есть предположение, что вам не нужен LBS, на самом деле. Что такое, по-вашему, LBS?

Підписатись на коментарі