Mudanças entre as edições de "Fundamentação Teórica do Projeto - O Sistema GPS e métodos para cálculo de área e distância"

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar
Linha 55: Linha 55:
 
<math> Sd =  \sqrt {(x_2-x_1)^2 + (y_2-y_1)^2 + (z_2-z_1)^2 } </math>
 
<math> Sd =  \sqrt {(x_2-x_1)^2 + (y_2-y_1)^2 + (z_2-z_1)^2 } </math>
  
 +
Note que este método calcula a distância em linha reta, e é uma aproximação da distância real quando seu valor é pequeno em relação a curvatura da terra (< 1000 km).
  
 
FONTE: http://mathworld.wolfram.com/Distance.html
 
FONTE: http://mathworld.wolfram.com/Distance.html

Edição das 15h01min de 21 de junho de 2012

Como adquirir o sinal do GPS no Android

No projeto adicione o LocationSensor ao projeto, altere as propriedades desse objeto para Enabled [x] ProviderLocked [x] ProviderName gps em minusculo (pois GPS em maiúsculo não funciona)

Em seguida obtenha as medidas do GPS usando:

Método 1

Aguarde o disparo do evento when LocationSensor1.LocationChanged e utilize os valores retornados nas variáveis locais latitude, longitude e altitude.

  • Neste caso, cada vez que houver mudança na posição do GPS, um novo evento ocorre e novos dados de localização são recebidos. Esse método fornece poucas medidas do GPS mesmo quando a sua posição é alterada. Aparentemente após o disparo do evento o chip é desligado temporariamente.


Método 2

Para aumentar a velocidade das medições do GPS, inclua um Clock1 no projeto e configure as propriedades para disparar a cada 1 segundo, TimerAlwaysFires [x] TimerEnabled [x] TimerInterval 1000

Aguarde o disparo do evento when Clcck1.Timer e leia os valores das variáveis LocationSensor1.Latitude, LocationSensor1.Longitude e LocationSensor1.Altitude.

  • Neste caso, a cada segundo, independente de haver mudança na posição do GPS, um novo evento do timer ocorre e novos dados de localização são recebidos.
  • Note que mesmo sem alterar a posição do GPS os dados recebidos sofrem variação.

Método 3

Pode acontecer que no método 2 o chip não atualize os dados a cada leitura. Neste caso, após efetuar a leitura, é necessário desabilitar temporariamente o GPS LocationSensor1.Enable = False, e seguida habilita-lo LocationSensor1.Enable = True esperando novamente 1 segundo antes da próxima leitura

GPS-Met3.png

Independente do método utilizado, é possível obter a exatidão da medida da localização lendo o valor da variável LocationSensor1.Accuracy. Usando um conjunto maior de aquisições da localização em um mesmo ponto é possível melhorar a precisão da medição usando uma média de valores.

Como calcular a distância entre dois pontos

Se você tiver a localização dada em coordenadas de latitude e longitude de dois pontos e sobre o globo terrestre, pode calcular a distancia entre eles usando diferentes métodos

Método 1

Um método é o cálculo da distância geodésica , o qual considera a distância percorrida sobre uma esfera com raio equivalente ao raio médio da terra .

FONTE: http://mathworld.wolfram.com/GreatCircle.html, http://obsn3.on.br/~jlkm/geopath/

Método 2

Um segundo método é transformar as coordenadas geográficas em coordenadas no plano cartesiano e :

e calcular a distância euclidiana entre os pontos:

Note que este método calcula a distância em linha reta, e é uma aproximação da distância real quando seu valor é pequeno em relação a curvatura da terra (< 1000 km).

FONTE: http://mathworld.wolfram.com/Distance.html

Como calcular a área de um triângulo

Veja os possíveis métodos no site Wolfram Mathword.