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

Publicado por ssssssssss 17/01/2008

[ Hits: 15.928 ]

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

Pequeno algoritmo para determinar se um número é primo ou não entre 1 e 10000

Exemplo de sobrecarga de métodos

Contador de caracteres, palavras e linhas de um arquivo

Calcular ritmo de corrida de rua

MostraSeNumPrimo.java


  

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