A distância eo curso entre dois pontos em um globo pode ser calculado usando duas fórmulas . O problema é bem definida e serve como uma tarefa fácil para uma linguagem de programação , como o Visual Basic. No entanto, a escolha deve ser feita entre , de um curso imutável reta ( linhas de rumo ) ou um curso curvo mais eficiente que aproveita a curva da Terra. Instruções
1
Crie um novo projeto , clicando em " Arquivo" e " New Project ".
2
Arraste quatro rótulos de caixa de ferramentas e em seu projeto e organizá-los numa linha de cima para baixo . Clique em cada rótulo e , na caixa de propriedades , altere o campo de texto para que eles leiam "Iniciando Latitude ", "Acabar com Latitude ", "Iniciando Longitude ", "Acabar com Longitude ".
3
Arraste quatro caixas de texto para fora da caixa de ferramentas e colocar um pouco para a direita de cada etiqueta . Clique em cada caixa de texto e , na caixa de propriedades , altere o campo nome para refletir os seguintes nomes: . " StartLatTextBox ", " endLatTextBox ", " startLongTextBox ", " endLongTextBox "
4
Arraste um botão da caixa de ferramentas e colocá-lo na parte inferior do projeto. Clique duas vezes nele para entrar no editor de código
5
Cole o seguinte dentro do método " Button1_Click " : .
Dim SLAT = Double.Parse ( startLatTextBox.Text )
Dim slong = Double.Parse ( startLongTextBox.Text )
Dim Elat = Double.Parse ( endLatTextBox.Text )
Dim eLong = Double.Parse ( endLongTextBox.Text ) < br >
Dim DLAT = D2R ( ELAT - sLAT )
Dim Dlong = D2R ( eLong - slong )
Dim dPhi = Math.Log ( Math.tan ( Elat /2 + matemática . PI /4) /Math.tan ( sLAT /2 + Math.PI /4) )
q Dim = Novo dobro
Se ( dPhi = 0) Então
q = Math.cos ( sLAT )
Else
q = DLAT /dPhi
End If
Se ( Math.Abs ( Dlong )> ; Math.PI ) Então
IIf ( Dlong > 0, Dlong = (2 * Math.PI - Dlong ) * -1, Dlong = 2 * Math.PI + Dlong )
End If
Dim earthRadius = 6371 REM km
Dim distância = Math.Sqrt ( DLAT ^ 2 + q ^ 2 * Dlong ^ 2) * earthRadius
Dim rolamento = Math.Atan2 ( Dlong , dPhi )
rolamento rolamento = * 180 /Math.PI
MessageBox.Show (" Distância =" & distância & " . Curso =" & rolamento) < br >
o código acima faz uso de uma função " D2R " ( graus para radianos) que ainda não existe , por isso, cole o seguinte código logo abaixo da " função final " declaração de " Button1_Click ".
D2R Função Pública ( Angle ByVal as Double ) as Double
D2R = Ângulo * Math.PI /180
End Function
6
Clique na seta verde para iniciar o seu programa. Agora você pode entrar em qualquer par de coordenadas de latitude e longitude (em formato decimal) e encontrar a distância entre eles ( em quilômetros ) e rumo (em graus) para chegar ao destino .