2016-01-19 24 views
0

試圖編寫一個vbscript函數以將DMS中的座標轉換爲十進制格式。將DegreesMinutesSeconds轉換爲十進制LatLng

38°37'16.662"N, 109°36'5.01"W應該翻譯爲38.621295,-109.601391666667

下面我的功能,我得到了正確的數字,但我無法弄清楚如何確定是否把負號液化天然氣之前。

latLngDmsToDecimal(38, 37, 16.662) = 38.621295 
latLngDmsToDecimal(109, 36, 5.01) = 109.601391666667 

注意第二個結果沒有負號。

Function latLngDmsToDecimal(byVal d, byVal m, byVal s) 
    d = cDbl(d) 
    m = cDbl(m) 
    s = cDbl(s) 

    If d < 0 Then 
     latLngDmsToDecimal = -(s/3600) - (m/60) + d 
    Else 
     latLngDmsToDecimal = (s/3600) + (m/60) + d 
    End If 
End Function 

回答

1

您需要解析方向。 W和S應該是負值。用戶可以在本應傳遞到您的功能,從解析器應反轉度部

所以第二個應該讀要麼

latLngDmsToDecimal(109,36,5.01,W)= -109.601391666667

或者

latLngDmsToDecimal(-109,36歲,5.01)= -109.601391666667

+0

完美,我提供給我的方向值...將在10分鐘內爲答案標記當系統讓我。 – GWR

相關問題