Sådan Beregn Kursus & Distance i VB

December 10

Sådan Beregn Kursus & Distance i VB

Afstanden og naturligvis mellem to punkter på en globus kan beregnes ved hjælp af to formler. Problemet er veldefineret og tjener som en let opgave for et programmeringssprog som Visual Basic. Dog skal foretages et valg mellem en straight, uforanderlig kursus (geodætiske linjer) eller en mere effektiv buet kursus, der drager fordel af kurven af ​​Jorden.

Instruktioner


• Opret et nyt projekt ved at klikke på "File" og "Nyt projekt".

• Træk fire etiketter ud af værktøjskassen og ind i dit projekt, og arrangere dem i en linje fra top til bund. Klik på hver etiket, og i feltet egenskaber, ændre tekstfeltet, så de læser "Start Latitude", "Ending Latitude", "Start længdegrad", "Ending Længdegrad."

• Træk fire tekstbokse ud af værktøjskassen og sted én lige til højre for hver etiket. Klik på hver tekstboks, og i feltet egenskaber, ændre navnet feltet for at afspejle følgende navne:. "StartLatTextBox", "endLatTextBox," "startLongTextBox," "endLongTextBox"

• Træk en knap fra værktøjskassen og sætte det i bunden af ​​projektet. Dobbeltklik på den for at indtaste koden editor.

• Indsæt følgende i "Button1_Click" metode: Dim Slat = Double.Parse (startLatTextBox.Text) Dim slong = Double.Parse (startLongTextBox.Text) Dim Eilat = Double.Parse (endLatTextBox.Text) Dim eLong = Double.Parse (endLongTextBox.Text) Dim dLat = D2R (Elat - lamel) Dim dLong = D2R (eLong - slong) Dim DPHI = Math.Log (Math.Tan (Elat / 2 + Math.PI / 4) / Math.Tan (lamel / 2 + Math.PI / 4)) Dim q = Ny Double Hvis (DPHI = 0) Så q = Math.Cos (lamel) Else q = dLat / DPHI End If Hvis (Math.Abs ​​(dLong)> Math.PI ) Derefter IIf (dLong> 0, dLong = (2 * Math.PI - dLong) * -1, dLong = 2 * Math.PI + dLong) End If Dim jord Radius = 6371 REM kilometer Dim afstand = Math.sqrt (dLat ^ 2 + q ^ 2 * dLong ^ 2) * jord Radius Dim bærende = Math.Atan2 (dLong, DPHI) leje = bærende * 180 / Math.PI MessageBox.Show ("Afstand =" & distance & ". Kursus =" & bærende) Ovenstående kode gør brug af en "D2R" (grader til radianer) funktion, der ikke eksisterer endnu, så indsæt følgende kode direkte under "ende funktionen" erklæring for "Button1_Click." Offentlig Function D2R (ByVal vinkel som Double) Som Double D2R = Vinkel * Math.PI / 180 End Function

• Klik på den grønne pil for at starte dit program. Du kan nu indtaste par længde- og breddegrad (i decimal format) og finde afstanden mellem dem (i kilometer) og leje (i grader) for at nå destinationen.