[Python]經緯度轉換
- 2020 年 3 月 10 日
- 筆記
原文鏈接:https://blog.csdn.net/humanking7/article/details/101610559
文章目錄
- @[toc]
- 1.原理
- 2. 源碼及測試結果
- 2.1. 程式源碼
- 2.2. 測試結果
- 文本提示
經緯度轉換
1.原理
# 度分秒制 轉換為 小數形式 decNum = 度 + 分/60 + 秒/3600 # 小數形式 轉換為 度分秒制 decNum = I_Part + D_Part # I_Part: 整數部分 # D_Part: 小數部分 度 = I_Part 分 = D_Part*3600 // 60 # 整除 60 秒 = D_Part*3600 % 60 # 取余 # 或 秒 = D_Part*3600 - 分*60
2. 源碼及測試結果
2.1. 程式源碼
#-*- coding:utf-8 -*- # 經緯度轉換 # [十進位小數] 轉換為 [度分秒] def LatLng_Dec2Rad(decNum): NumIntegral = int(decNum) # 整數部分 NumDecimal = decNum - NumIntegral # 小數部分 tmp = NumDecimal * 3600 degree = NumIntegral # 度 minute = int(tmp//60) # 分 second = tmp - minute*60 # 秒 tmp%3600 return degree, minute, second # [度分秒] 轉換為 [十進位小數] def LatLng_Rad2Dec(d,m,s): decNum = d + m/60.0 + s/3600.0 return decNum if __name__ == "__main__": lng_decNum = 113.211 # 要轉換的經度 t = LatLng_Dec2Rad(lng_decNum) print(t) k = LatLng_Rad2Dec(t[0],t[1],t[2]) print(k)
2.2. 測試結果
文本提示
(113, 12, 39.59999999999468) 113.211 請按任意鍵繼續. . .