Script para cálculo de distâncias na superfície terrestre utilizando coordenadas geográficas

Publicado por ssssssssss 17/01/2008

[ Hits: 15.943 ]

Download script_distancia.txt




Esse script foi feito para calcular a distância entre dois pontos na superfície do globo terrestre.

Para utilizá-lo, passe como parâmetros a latitude e longitude do local de origem e destino, e será retornado a distância em quilômetors entre estes dois pontos.

A latitude e longitude devem ser passadas convertidas para segundos. Para fazer isso, basta seguir o comentário descrito no código.

Espero que ajude alguém.

  



Esconder código-fonte

   /*Os valores da latitude e longitude tem de ser passados já convertidos para segundos.
          para fazer isso basta fazer, por exemplo, para converter  23:50:01 em segundos: 23*60*60 + 50*60 + 01 = 85801      segundos.
        */
   public double distancia (int latitudeOrigem, int longitudeOrigem, int latitudeDestino, int longitudeDestino){

      double circTerra=40030; // Circunferência da Terra (em kilômetros)
      double latitudeO = (double) latitudeOrigem / 3600;
      double longitudeO = (double) longitudeOrigem / 3600;
      double latitudeD = (double) latitudeDestino / 3600;
      double longitudeD = (double) longitudeDestino / 3600;
      double a = longitudeO - longitudeD;
      double c = 90.0 - latitudeO;
      double b = 90.0 - latitudeD;       
      double aCosA =  (Math.acos(Math.cos(radiano(b)) * Math.cos(radiano(c)) + Math.sin(radiano(b)) * Math.sin(radiano(c)) * Math.cos(radiano(a))) * 180 / Math.PI);

      return(aCosA * circTerra / 360);
   }

Scripts recomendados

Calculadora simples

Avaliação de expressões matemáticas

Exemplo de sobrecarga de métodos

Pilha em Java

Torre de Hanoi


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts