经纬度,度分秒 与 十进制小数 相互转换


# 十进制小数 转 度分秒
l = [
    "113.211",
]

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 str(degree)+"°"+str(minute)+"\'"+str(second)+"\""

for i in l:
    t = LatLng_Dec2Rad(float(i))
    print(t)

 

 

# 度分秒 转 十进制小数
l = [
    "23:10:43.61978",
    "113:29:23.29115",
]

def LatLng_Rad2Dec(d, m, s):
    decNum = d + m / 60.0 + s / 3600.0
    return decNum

for i in l:
    t = i.split(":")
    k = LatLng_Rad2Dec(float(t[0]), float(t[1]), float(t[2]))
    print(k)

 

posted on 2020-12-24 15:31  二十四岁半  阅读(890)  评论(0)    收藏  举报

导航