Script para cálculo de distâncias na superfície terrestre utilizando coordenadas geográficas
Publicado por ssssssssss 17/01/2008
[ Hits: 15.900 ]
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.
/*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); }
Cálculo de número de anos baseado em data
Ordenação de vetores com letras do alfabeto (atualizado)
Pesquisa Binaria em um vetor ordenado
Nenhum comentário foi encontrado.
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Porblema com MergeList [RESOLVIDO] (10)
Melhor hospedagem em nuvem para projetos Laravel com baixo custo? [RES... (7)
Como baixar os drivers de áudio no linux mint? (7)
Como posso localizar o arquivo HTML da página inicial do GLPI dentro d... (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta