Як Android отримує грубе місце розташування?


15

Я читав, що андроїд (і синмілярні системи роботи, наприклад, iOS) отримують поточне грубе розташування за допомогою триангуляції WiFi або GSM вежі. Я розумію основну думку, але у вас є питання щодо деталей.

  1. Нормально, як Android використовує обидва способи, чи він віддає перевагу одному і переходить до іншого?
  2. Чи поєднується він із сервером, щоб отримати позицію через WiFi? (наприклад, надсилання SID-адрес WiFis до веб-сервісу)
  3. Чи спілкується він з Перевізником, щоб отримати позицію через вежі GSM, або це робиться на пристрої?

Відповіді:


8

Розробник справді залежить від того, як реалізувати службу локації. Повний опис доступний тут:

http://developer.android.com/guide/topics/location/obthing-user-location.html

Графік приблизно на 1/3 вниз на сторінці досить корисний, щоб побачити, що може зробити типовий додаток, але знову ж таки, це повністю залежить від розробника додатка. Типи послуг локації:

  • Виправлена ​​помилка
  • Ідентифікатор комірки
  • WiFi
  • GPS
  • Знущаються над розташуванням

Якщо додаток вимагає дозволу лише для грубого місцезнаходження, воно не буде використовувати GPS для визначення місця розташування.

Щоб відповісти на ваші запитання ...

  1. Це залежить від індивідуального розробника додатка, але в більшості випадків послідовність буде кешована, виправлена, ID мобільного телефону, Wifi, GPS у такому порядку.
  2. Так, після отримання ідентифікаторів башти або SSID сигналів WiFi ці дані передаються в Google для визначення приблизного місця розташування.
  3. Ні, Google зробив тут щось дійсно розумне. Google має власну базу даних про розташування стільникових веж, і не потребує взаємодії з оператором для визначення місця розташування вежі.

У цій статті є детальна інформація http://franciscokattan.com/2010/02/06/dynamic-cell-id-clever-way-to-block-google-but-will-it-backfire/

Коротка версія полягає в тому, що, коли ви використовуєте такий додаток, як Google Maps, додаток буде надсилати назад поточну інформацію про Cell-ID разом із поточним виправленням GPS. Таким чином, Google отримує дуже хороший вибірки потужностей сигналу в різних місцях і може створити дуже багату базу даних.


Мені подобається ваша відповідь дуже багато, але я не впевнений, чи відповідає ваше право на частку "це повністю залежить від розробника". Наскільки я можу сказати, розробник може вирішити лише отримати штраф або грубе місце розташування. Іншими словами, він може використовувати LocationManager.NETWORK_PROVIDER та / або LocationManager.GPS_PROVIDER для отримання місцезнаходження. Я думаю, він не може вирішити або навіть побачити, якщо використовується Wifi або GSM, правда?
Тім Бют

У найпоширенішому випадку розробник не піклується, чи дані надходять з WiFi або Cell-ID, але розробник може встановити обмеження, щоб програма могла працювати лише тоді, коли WiFi вимкнено або GPRS / GSM вимкнено. Я сприйняв ваше запитання так: "Чи є стандартна послідовність, яку дотримуються всі програми", і відповідь на це - ні. Однак, зважаючи на різницю між WiFi та ідентифікатором стільникового зв’язку, розробник додатка має обмежені можливості конкретно запитувати один тип служби локації.
JadeMason

1
чи знаєте ви спосіб подати розташування точок доступу Wi-Fi до своєї бази даних, щоб у мене було краще триангуляції у моєму районі / в приміщенні? Я відкрив нитку для цього мого питання: android.stackexchange.com/questions/4715/…
Özgür

3

Багато з цього стосується носіїв, і я не дев, але ось те, що я міг би зібрати з переплетень та тренінгів, проведених в рамках розслідування електронних злочинів:

  1. Так, але це залежить від конкретних пріоритетів програми LBS, які встановлюються розробником і можуть базуватися на поточній точності курсу, рівнях потужності, попередньо визначених пріоритетах ...
  2. Так. Носії мають власні БД розташування базової станції Wifi.
  3. Я не можу розмовляти конкретно з Android, але загалом це буде оператор і тип мережі (CDMA або GSM). Телефони здатні як, але щонайменше кілька років тому вони робили цю роботу на слухавці через обмеження пропускної здатності робити її ота.


0

Ваш телефон знає, які найближчі вежі. Існує база даних провайдерів для кожної країни, ідентифікатор башти де знаходиться на карті. Ця база даних може бути достатньо малою, щоб її попередньо встановив постачальник послуг або поставив її в ефір. Як андроїд-телефон отримує ці дані, я не знаю.


-1

У мене є дещо інші відповіді на №3: ​​пристрій можна використовувати, якщо ви хочете використовувати тріангуляцію, але вам потрібно скористатися оператором, якщо ви хочете відповідати Cell-ID і локалізації вежі gsm (або cdma).


але це варіант, який може визначити розробник програми або навіть кінцевий користувач, чи це щось, що визначається оператором?
Метт

Це обов'язково, якщо ви хочете використовувати цей спосіб для локалізації пристрою. Використання тріангуляції чи іншого методу дозволяє вам знати, де ви перебуваєте проти положення антени. Але якщо ви не знаєте ширину / довжину антени, ви не зможете отримати своє положення на карті. Я вдома ясна :)
Роб

@Rob Але вам не потрібен перевізник, щоб знайти місце розташування вежі. Кожна вежа транслює унікальний ідентифікатор, кожен може самостійно забрати це та зіставити його, не взаємодіючи з оператором. Google займається цим вже деякий час для веж стільникового зв'язку та точок доступу Wi-Fi. Автомобіль Google Streetview збирає інформацію під час подорожі, а користувачі Карт Google на різних платформах також надсилають назад анонімні дані, що відповідають виправленням GPS, ідентифікаторами антени та wifi та потужністю. Це схоже на те, як Google збирає багато своїх даних про трафік у містах, вони збирають швидкість та позиції у багатьох користувачів Карт.
GAThrawn

Ти впевнений ? Виглядає дивно. Наприклад, у Німеччині (та інших країнах Європи) Google подав позов до суду за збір інформації Wi-Fi, тому схоже, що вони не використовували цей ресурс. Для бази даних GSM, якщо Google володіє такою, вона повинна бути доступною, і я ніколи про неї не чув.
Роб

1
@Rob googlemobile.blogspot.com/2008/06/… "Телефон знає ідентифікатор стільникової башти, який він зараз використовує. Якщо в телефоні є GPS, програма Карти на телефоні надсилає координати GPS разом із ідентифікатором комірки на сервер локації Google. " наразі не вдається знайти посилання, але вони деякий час тому оголосили, що додаток Blackberry Google Maps надсилає назад WiFi SSID та потужність із тієї ж причини. Це не те саме, що "помилка" програмування в програмному забезпеченні Streetview, яке вони пред'являють позов, за який було зафіксовано більше даних WiFi, ніж це було призначено.
GAThrawn
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.