¿Cómo obtiene Android la ubicación aproximada?

15

Leí que Android (y sistemas de operación similares, por ejemplo, iOS) obtienen la ubicación aproximada actual mediante la triangulación de torre WiFi o GSM. Tengo la idea básica pero tengo preguntas sobre los detalles.

  1. ¿Android usa normalmente ambos métodos o prefiere uno y recurre al otro?
  2. ¿Se comunica con un servidor para obtener la posición a través de WiFi? (por ejemplo, enviar los SID de los WiFis a un servicio web)
  3. ¿Se comunica con el operador para obtener la posición a través de las torres GSM o se hace esto en el dispositivo?
Tim Büthe
fuente

Respuestas:

8

Realmente depende del desarrollador cómo implementar el servicio de ubicación. La descripción completa está disponible aquí:

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

El gráfico sobre 1/3 de la página es bastante útil para ver lo que podría hacer una aplicación típica, pero nuevamente, depende completamente del desarrollador de la aplicación. Los tipos de servicio de ubicación son:

  • Arreglo en caché
  • ID de celda
  • Wifi
  • GPS
  • Ubicación simulacro

Si la aplicación solicita permiso solo para ubicación aproximada, no utilizará el GPS para determinar la ubicación.

Para responder tu pregunta...

  1. Depende del desarrollador de la aplicación individual, pero en la mayoría de los casos la secuencia será Arreglo en caché, Cell-ID, Wifi, GPS, en ese orden.
  2. Sí, después de adquirir las ID de torre o SSID de las señales WiFi, esos datos se transmiten a Google para determinar una ubicación aproximada.
  3. No, Google ha hecho algo realmente inteligente aquí. Google tiene su propia base de datos de ubicaciones de torres celulares, y no requiere una interacción con el operador para determinar la ubicación de la torre.

Este artículo tiene algunos detalles http://franciscokattan.com/2010/02/06/dynamic-cell-id-clever-way-to-block-google-but-will-it-backfire/

La versión corta es que, cuando utiliza una aplicación como Google Maps, la aplicación enviará la información actual de ID de celda junto con su corrección GPS actual. De esta manera, Google obtiene una muestra muy buena de las intensidades de señal en varias ubicaciones, y puede construir una base de datos muy rica.

JadeMason
fuente
Me gusta mucho su respuesta, pero no estoy seguro de si está en la parte "depende totalmente del desarrollador". Por lo que puedo decir, el desarrollador solo puede decidir obtener la ubicación fina o gruesa. En otras palabras, puede usar LocationManager.NETWORK_PROVIDER y / o LocationManager.GPS_PROVIDER para obtener la ubicación. Creo que no puede decidir o incluso ver, si se utiliza Wifi o GSM, ¿verdad?
Tim Büthe
En el caso más común, al desarrollador no le importará si los datos provienen de WiFi o Cell-ID, pero el desarrollador podría imponer restricciones para permitir que la aplicación solo funcione cuando WiFi está desactivado o GPRS / GSM está desactivado. Supuse que su pregunta significaba: "¿Hay una secuencia estándar que siguen todas las aplicaciones" y la respuesta es no. Sin embargo, con respecto a la diferencia entre WiFi y Cell-ID, el desarrollador de la aplicación tiene una capacidad limitada para solicitar específicamente un tipo de servicio de ubicación.
JadeMason
1
¿Conoces una forma de enviar la ubicación de los puntos de acceso Wi-Fi a su base de datos para que tenga una mejor triangulación en mi vecindario / interior? He abierto un hilo para esa pregunta mía: android.stackexchange.com/questions/4715/…
Özgür
3

Mucho de esto es específico del operador y no soy un desarrollador, pero heres lo que podría reunir de las redes y los entrenamientos que he tenido en la investigación de delitos electrónicos:

  1. Sí, pero depende de las prioridades específicas de LBS de las aplicaciones que establece el desarrollador y puede basarse en la precisión actual del curso, los niveles de potencia, las prioridades predefinidas ...
  2. Si. Los operadores tienen bases de datos de ubicación de estación base Wifi patentadas.
  3. No puedo hablar con Android específicamente, pero en general este será el tipo de operador y red (CDMA o GSM). Los teléfonos son capaces de ambos, pero al menos hace unos años hicieron este trabajo en el teléfono debido a las limitaciones de ancho de banda de hacerlo de otra manera.
Mate
fuente
0

Tu teléfono sabe cuáles son las torres más cercanas. Hay una base de datos de proveedores para cada país en el que se encuentra la identificación de la torre en el mapa. Esta base de datos puede ser lo suficientemente pequeña como para que su proveedor la preinstale o la suministre por aire. Cómo un teléfono Android obtiene estos datos, no lo sé.

Barfieldmv
fuente
-1

Tengo respuestas ligeramente diferentes para el n. ° 3: el dispositivo podría usarse si desea utilizar la triangulación, pero debe usar el operador si desea hacer coincidir la ID de celda y la localización de la torre gsm (o cdma).

Robar
fuente
pero, ¿es esta una opción que puede determinar un desarrollador de aplicaciones o incluso un usuario final o es algo que determina el operador?
Matt
Es obligatorio, si desea utilizar de esta manera para localizar un dispositivo. El uso de triangulación u otro método le permite saber dónde se encuentra frente a la posición de la antena. Pero si no conoce el lat / long de la antena, no podrá obtener su posición en un mapa. Estoy en casa estoy claro :)
Rob
@Rob Pero no necesita el transportista para encontrar la ubicación de la torre. Cada torre emite una identificación única, cualquiera puede recogerla y mapearla independientemente, sin interacción del operador. Google ha estado haciendo esto por un tiempo para torres celulares y puntos de acceso WiFi. El automóvil de Google Streetview recoge la información a medida que viaja, y los usuarios de Google Maps en varias plataformas también envían datos anónimos que coinciden con las correcciones de GPS con ID de antena y wifi y fuerza. Esto es similar a cómo Google recoge gran parte de sus datos de tráfico en las ciudades, agregan velocidad y posiciones de muchos usuarios de Maps.
GAThrawn
Estás seguro ? Parece sorprendente Por ejemplo, en Alemania (y otros países de Europa), Google ha sido demandado por recopilar información wifi, por lo que parece que no utilizaron este recurso. Para la base de datos GSM, si Google posee una, debería ser accesible y nunca escuché sobre ella.
Rob
1
@Rob googlemobile.blogspot.com/2008/06/… "El teléfono conoce la ID de la torre celular que está usando actualmente. Si el teléfono tiene GPS, la aplicación de Mapas en el teléfono envía las coordenadas GPS junto con la ID de la celda a el servidor de ubicación de Google ". no puedo encontrar el enlace en este momento, pero anunciaron hace un tiempo que la aplicación Blackberry Google Maps estaba enviando el SSID WiFi cercano y la fuerza por la misma razón. Esto no es lo mismo que el "error" de programación en el software Streetview por el que están siendo demandados y que capturó más datos de WiFi de los que debían.
GAThrawn