Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Tips & tricks

#289 - Beräkna sträckan med longitud / latitud

Postat 2000-12-22 20:09:32 av Pelle Johansson i Kategori Programmering, C#, Kommandon med 0 Kommentarer

Option Explicit

Const Pi As Double = 3.141592657
Const cEarth As Double = 3959

Private Sub Command1_Click()
Dim lat1 As Double, long1 As Double, lat2 As Double, long2 As Double
Dim Cosd As Double, dMiles As Double, d As Double
On Local Error Resume Next
lat1 = Radians(txtDa(0).Text)
long1 = Radians(txtDa(1).Text)
lat2 = Radians(txtDa(2).Text)
long2 = Radians(txtDa(3).Text)

Cosd = Sin(lat1) * Sin(lat2) + Cos(lat1) * Cos(lat2) * Cos(long1 - long2)

d = ACos(Cosd)
dMiles = cEarth * d
Dim dStatuteMiles As Double, dKilometers As Double
dStatuteMiles = Int(dMiles * 100 + 0.5) / 100
dKilometers = dStatuteMiles * 1.6093470879
dKilometers = Int(dKilometers * 100 + 0.5) / 100
lblDistance.Caption = dStatuteMiles
lblKilometers.Caption = dKilometers
End Sub

Function ACos(R As Double) As Double
If R = -1 Then
ACos = 4 * Atn(1)
Else
ACos = Atn(-R / Sqr(-R * R + 1)) + 2 * Atn(1)
End If
End Function

Function Radians(aDat As String) As Double
Dim j As Long, k As Long, a As String
aDat = UCase$(aDat)
j = InStr(aDat, "N")
If j = 0 Then j = InStr(aDat, "S")
If j = 0 Then j = InStr(aDat, "E")
If j = 0 Then j = InStr(aDat, "W")
If j = 0 Then MsgBox aDat & " error - enter Deg.Min.Sec[EWNS]" & vbCrLf & "Example: 40.40.35N": Exit Function
a = Left$(aDat, j - 1)

k = InStr(a, ".")
If k Then
Radians = Val(Mid$(a, k + 1)) / 60 + Val(Left$(a, k - 1))
Else
Radians = Val(a)
End If
Radians = Radians * (Pi / 180)
Select Case Mid$(aDat, j)
Case "S", "W": Radians = -Radians
End Select
End Function

Sample:
Size:

Nyligen

  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 722
27 958
271 751
418
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies