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

Publicado por ssssssssss 17/01/2008

[ Hits: 15.918 ]

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

Código para validar CPF e CNPJ otimizado

Leitor de Comandos

Cadastramento de Produtos com .JOptionPane

Planilha de cálculo para multa judicial

Calcula as chances de se ganhar na mega-sena.


  

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