地圖投影-将度-分-秒值轉換為十進制度值
下面是将度分秒轉換為十進制度的簡單等式:
DD = (Seconds/3600) + (Minutes/60) + Degrees
如果角度值是負數,則轉換方法不同。其中一種方法是:
DD = - (Seconds/3600) - (Minutes/60) + Degrees
以下說明講解了使用字段電腦,将表中字段裡以度分秒表示的經度或緯度值轉換為十進制度數的方法。
代碼使用 VBScript 編寫,但能夠輕松轉化為其他程式設計語言。
它假定度分秒是以字元串(文本)的形式存儲的,數字間留有空格且不帶任何符号。例如,資料将被存儲為:
25 35 22.3
其中 25 是度,35 是分,22.3 是秒。
輸出結果将被存儲到數值字段中。
步驟:
- 将表添加至 ArcMap。
- 在内容清單中右鍵單擊該表,然後單擊打開。
- 單擊選項按鈕,然後單擊添加字段。
- 在名稱字段中輸入 Lat2。
- 單擊類型下拉箭頭,然後在清單中單擊雙精度。
- 單擊确定。
- 右鍵單擊 Lat2 字段,然後單擊字段電腦。
- 若彈出消息框則單擊是。
- 選中進階複選框。
- 将以下代碼粘貼到表達式框:
- Dim Degrees
- Dim Minutes
- Dim Seconds
- Dim DMS
- Dim DD
- DMS = Split([Latitude])
- Degrees = CDbl(DMS(0))
- Minutes = CDbl(DMS(1))
- Seconds = CDbl(DMS(2))
- If Degrees < 0 Then
- DD = -(Seconds/3600) - (Minutes/60) + Degrees
- Else
- End If
- 将以下代碼粘貼到對話框底部的 Lat2 = 框中:
- CDbl(DD)
- 對于經度值的轉換,重複步驟 3 到步驟 12 的過程。