Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vypočítať kurz a vzdialenosť v VB

vzdialenosť a samozrejme medzi dvoma bodmi na zemeguli možno vypočítať pomocou dvoch vzorcov . Problém je dobre definovaná a slúži ako ľahká úloha pre programovací jazyk , ako je Visual Basic . Avšak , voľba musí byť medzi rovnými , nemenný kurz ( loxodrómami ) alebo účinnejšie zakrivené kurzu , ktorý využíva krivky Zeme . Pokyny dovolená 1

Vytvorte nový projekt kliknutím na tlačidlo " Súbor " a " Nový projekt " .
2

Presuňte štyri štítky z panela nástrojov a do projektu a usporiadať ich v rade od zhora nadol . Kliknite na každý štítok a v okne Vlastnosti zmeňte textové pole tak , že si " spúšťanie Latitude " , " Ukončenie Latitude , " " Predvolená dĺžka , " " Ukončenie dĺžky . "
3

Drag štyri textové polia z panela nástrojov a umiestniť jeden len na pravej strane každého štítku . Kliknite na jednotlivé textové pole a v okne vlastností , zmeniť názov poľa , aby odrážal nasledujúce názvy : . " StartLatTextBox " , " endLatTextBox " , " startLongTextBox " , " endLongTextBox "
4

Presuňte tlačidlo z panela nástrojov a vložte ho do spodnej časti projektu . Double - kliknite na to , aby vstup do editora kódu
5

vložte nasledujúci rámci metódy " Button1_Click " : .

Dim lamiel = Double.Parse ( startLatTextBox.Text )

Dim slong = Double.Parse ( startLongTextBox.Text )

Dim Elóta = Double.Parse ( endLatTextBox.Text )

Dim Elong = Double.Parse ( endLongTextBox.Text )

Dim DLAT = D2R ( Elat - lamela )

Dim dLong = D2R ( Elong - slong )

Dim dPhi = Math.log ( Math.tan ( Elóta /2 + Math . PI /4 ) /Math.tan ( lamela /2 + Math.PI /4 ) )

Dim q = New Double

( dPhi = 0 ) Then

q = Math.cos ( lamela )

Else

q = DLAT /dPhi

End If

( Math.abs ( dLong ) > ; Math.PI ) Potom

IIf ( dLong > 0 , dLong = ( 2 * Math.PI - dLong ) * -1 , dLong = 2 * Math.PI + dLong )

end If

Dim earthRadius = 6371 REM kilometrov

Dim vzdialenosť = Math.Sqrt ( DLAT ^ 2 + q ^ 2 * dLong ^ 2 ) * earthRadius

Dim ložiská = Math.Atan2 ( dLong , dPhi )

ložiská = ložisko * 180 /Math.PI

MessageBox.Show ( " Distance = " & odstup a " . kurz = " & ložisko )

vyššie uvedený kód využíva " D2R " ( stupne na radiány ) je funkcia , ktorá ešte neexistuje , takže vložte nasledujúci kód priamo pod " End Function " vyhlásenie k " Button1_Click . "

Public Function D2R ( byVal uhol As Double ) As Double

D2R = uhol * Math.PI /180

End Function
6

Kliknite na zelenú šípku spustite program . Teraz môžete zadať ľubovoľný pár zemepisných súradníc ( v desatinnom formáte ) a nájsť vzdialenosť medzi nimi ( v kilometroch ) a ložiská ( v stupňoch ) k dosiahnutiu cieľa .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené