Trace: Entfernungsberechnung
Entfernungsberechnung
From GISWiki
Code
Visual Basic
Function Entf(ByVal Laenge1 As Double, ByVal Breite1 As Double, _ ByVal Laenge2 As Double, ByVal Breite2 As Double) As Double 'Ermittelt die Entfernung zwischen zwei Orten auf der Erde. 'Laenge1 und Breite1 stellen die geografische Lage des ersten, 'Laenge2 und Breite2 des zweiten Ortes dar. Dim Erdradius As Double Erdradius = 6370 Entf = aCos(Sin(DtoR(Breite1)) * Sin(DtoR(Breite2)) + Cos(DtoR(Breite1)) _ * Cos(DtoR(Breite2)) * Cos(DtoR(Laenge1 - Laenge2))) * Erdradius End Function ------ Function DtoR(Grad As Double) As Double 'Konvertiert Winkel im Gradmaß in Winkel im Bogenmaß DtoR = Grad / (180 / PI()) End Function ------- Function aCos(X As Double) As Double If X < -1 Then X = -1 ElseIf X = -1 Then aCos = PI() ElseIf X > -1 And X < 1 Then aCos = 2 * Atn(1) - Atn(X / Sqr(-X * X + 1)) Else aCos = 0 End If 'Zu beachten ist: -1 < X < 1, Arccos(-1) = Pi und Arccos(1) = 0 End Function
BlogMarks
del.icio.us
digg
Facebook
Fark
Furl
GoogleBookmark
Newsvine
reddit
Segnalo
Simpy
Slashdot
smarking
Spurl
TechnoratiSearch
Wists
YahooBookmark
