informacion[arroba]academiaandroid.com +34 958084455
Post Series: Geolocalización en Android

Iniciamos una serie sobre Geolocalización en Android. En ella desarrollaremos un proyecto que nos permitirá mostrar la ubicación GPS de nuestro dispositivo Android en un mapa de Google Maps. Antes de abordar ese proyecto, vamos a explicar algunas cuestiones previas sobre este tema.

En esta primera publicación haremos una breve introducción al Sistema de Posicionamiento Global, más conocido por sus siglas en inglés GPS (Global Posistioning System).

El GPS es un sistema que proporciona los datos referentes a la posición de un objeto a nivel mundial, mediante el uso de un total de 24 satélites que se encuentran en órbita sobre la Tierra, tal como se representa en la imagen que mostramos a continuación:

Satélites GPS

A nivel funcional, el proceso para conocer la posición de un objeto se realiza mediante el uso de un mínimo de 4 satélites. Cada uno de ellos deben enviar los datos de identificación y hora del reloj. A partir de cada una de las señales enviadas al dispositivo receptor, se sincroniza el reloj del GPS para medir el tiempo que tarda en llegar cada señal, y así poder calcular la distancia que existe entre el punto de medición y los cuatro satélites que intervienen en el proceso. A este método se le denomina trilateración inversa. La precisión de los datos que se reciban dependerá en gran medida del número de satélites que intervengan en el proceso y de su posición geométrica.

Las coordenadas que se obtienen en un sistema GPS, a partir de los meridianos y paralelos de la red geográfica son:Latitud y Longitud

  • Latitud: es la distancia angular entre la línea ecuatorial (el ecuador), y un punto determinado de la Tierra, medida a lo largo del meridiano en el que se encuentra dicho punto (dependerá del hemisferio en el que se sitúe el receptor). Se expresa en grados sexagesimales, tomando un rango de valores de 0º a 90º, correspondiendo el valor 0º al ecuador que es su línea base. El polo norte tendrá un valor de 90ºN y el polo sur de 90ºS.
  • Longitud: es la distancia angular que existe entre el meridiano de Greenwich y un punto cualquiera de la Tierra, medida sobre el paralelo que pasa por dicho punto. Se expresa en grados sexagesimales. Toma un rango de valores de 0º a 180º, correspondiendo el valor 0º al meridiano de Greenwich que es su línea base.
  • Altitud: Es la distancia vertical a un origen determinado, considerado como nivel cero, para el que se suele tomar el nivel medio del mar.

Como ejemplo, vamos a mostrar cómo realizaríamos la conversión de una coordenada, expresada en valores sexagesimales,  a valores decimales, ya que en nuestro proyecto posterior utilizaremos estos últimos.

Estrcutura coordenadas posición

  1. En primer lugar, se partirá de los siguientes valores en grados, minutos y segundos (coordenadas en grados sexagesimales):
  2. Se utilizará como ejemplo el valor de la latitud para obtener la conversión a grados decimales, comenzando por mantener el conjunto de unidades de grados (es decir 40). A continuación, se dividirá el valor de los segundos (0.39) por 60. Esto daría un resultado de: 0.39/60 = 0.0065
  3. Al valor obtenido en la operación anterior, se sumará el minuto de la coordenada (valor 25), y se volverá a dividir entre 60, dando el siguiente resultado: 25.0065/60 = 0.416775
  4. El resultado de la operación anterior dará los decimales de la latitud, quedando finalmente la siguiente coordenada en grados decimales: 40.416775º

En el próximo tutorial veremos cómo podemos utilizar el servicio de mapas de Google en un proyecto Android propio, obteniendo la clave Google Maps API Key.

This Post Has 3 Comments

  1. Hola Estoy interesado en saber como puedo obtener la geolocalización de una base de datos la cual se está alimentando constantemente de latitud y longitud y la idea es que se actualice automáticamente de la base y se muestre en el mapa de la aplicación, me podrías indicar como lo debería hacer, quedo atento y muchas gracias por la información.

  2. Hola Mario,
    en estos comentarios estudiamos/corregimos errores que pudiera haber en estos contenidos, os orientaros sobre tutoriales que puedan serviros de ayuda, aparte de recibir vuestras opiniones/sugerencias para mejorar o abordar nuevos temas.

    Sentimos no poder ofrecer un foro general abierto de soporte, por los costes de recursos que lleva asociados (para ver ayuda a usuarios de Acceso Premium: http://academiaandroid.com/suscripcion/)

    Gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Para evitar robots, por favor completa esta sencilla operación *