Location Providers

        Location providers, ou provedores de localização, são as fontes fornecedoras de dados da localização de um dispositivo com Android. Essas fontes estão categorizadas em 2 tipos, Fine-grained (Refinados) e Coarse-grained (Grosseiros). Os providers do tipo Fine-Grained, como por exemplo o famoso GPS Provider, permitem o acesso a localizações com um precisão de menos de 100 metros, enquanto os do tipo Coarse-Grained, como por exemplo o Network Provider,  a precisão está por volta de 100 à 500 metros.

        Mas não é apenas a precisão que os diferencia. Por usarem maneiras diferentes de se obter a localização, os provedores também se diferenciam em intervalos mínimo de notificação, Time to First Fix (TTFF), ou o tempo necessário para a obtenção da primeira localização, e por fim, se diferenciam também no consumo de bateria.

Figura 01. Categorias de Provedores

    Dentro dessas duas categorias e possuindo esses atributos descritos existem dois famosos providers, GPS Provider e o Network Provider.

GPS Provider

        O mais famoso e referencia de provedor de localização é o GPS. É tão famoso que chegamos a falhar ao relacionarmos sempre a funcionalidade de localização do Android com o seu nome, mas como já visto, o GPS não é o único provedor atuante nessa funcionalidade.

        É um dos mais eficientes em termos de precisão, já que é categorizado como Fine-Grained.Sua precisão é menor do que 100 metros oficialmente pela sua categoria, porém, na realidade sua precisão é bem maior, estando entre 2 à 20 metros. Além disso, possui um intervalo de notificações pequeno, obtendo em um curto espaço de tempo, ou seja, possui uma boa taxa de atualização da localização.

        Pode soar como um provider ideal, porém, o GPS possui seus problemas. O seu TTFF é bem lento. Tradicionalmente, o GPS precisa se conectar a pelo menos três satélites enviando dados através do sinal de rádio para obter uma localização 2D, e essa transmissão inicial leva um mínimo de 30 segundos para um satélite. Uma vez conectado nos satélites e obtido a primeira localização, as atualizações passam a ser rápidas.

    Para uma melhoria no TTFF do GPS provider é utilizada a conexão com a internet para uma triangulação da localização mais rápida. Quando há presença da conexão com a internet, o Android faz uso do GPS assistido dessa conexão com a internet, ou apenas GPS Assistido (A-GPS), para melhorar o desempenho de inicialização, passando o tempo de espera a ser dentro do intervalo de 5 à 15 segundos.

        Porém, esse não é o único problema desse provider. O consumo de bateria dele é alto e aplicações que fazer uso continuo podem comprometer a satisfação do usuário. Como já dito, seu intervalo de tempo para notificações ou atualizações é pequeno, o que faz com que seja provido localizações em pequenos segundo, porém, relacionando isso ao seu alto consumo de bateria, o guia dos desenvolvedores Android recomenta que essa taxa de atualização seja alterada para um intervalo de 10 minutos.

        Por último,  o GPS faz uso de sinal de radio e por isso objetos, especialmente os feitos de metais, irão obstruir o sinal e impedir seu funcionamento. Com isso, aplicações que fazem seu uso, sofreram quando usadas por dispositivos que estiverem dentro de prédios e elevadores.

Figura 02 – Identifcação do GPS Provider na Categorização

Network Provider

        Network Provider é categorizado como Coarse-Grained e faz uso tanto do Wifi Hotspots quanto das torres de celulares para obter a localização do dispositivo móvel. O que acontece é que o ID do Wifi Hotspots e/ou de torres de celulares que o dispositivo está conectado são enviados pela internet para o Google Location Server. Esse servidor contém um banco de dados com os IDs de wifi hotspots e torres de celular que existem e também sua exata localização, e sendo assim, será capaz de supor a localização do dispositivo móvel com uma grande margem de erro, já que torres de celular e wifi-hotspots podem cobrir áreas imensas.

        A localizalização obtida através desse provedor é imprecisa, estando entre 100 à 1000 metros. Isso porque a precisão é uma combinação da precisão do wifi hotspots, que é de 100 à 500 metros, com a precisão das torres de celular, que é acima de 500 metros.

        Continuando com os pontos negativos, assim como o GPS, o Network Provider tem alto consumo de bateria. Situação esperada já que faz uso de internet e como é de conhecimento de todos, wifi ou pacote de dados contectado drena um grande quantidade de bateria.

        Apesar da baixa precisão e alto consumo de bateria como pontos negativos, o Network Provider possui um ponto positivo, que é sua TTFF. O tempo estimado do TTFF desse provedor é inferior ao do provedor GPS. Inclusive, como já dito, o GPS depende da ajuda da internet, implicitamente do network provider, para que com o A-GPS melhore o seu TTFF.

Figura 03 – Identifcação do Network Provider na Categorização

Deixe um comentário