手机
微信
1.微信聊天中的定位经纬度:

有时候会看到这种定位,当时做美亚的时候就没出来。实际上可以在位置部分找到:

其他
1.windows详细信息中位置信息转换
转换代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
| """ 把 “度;分;秒” 坐标转换为十进制度,并自动添加 N/E/S/W 标记。 """
def dms_to_dd(s: str) -> float: """ "度;分;秒" → 十进制度 """ parts = [p for p in s.replace(';', ';').replace(',', ';').split(';') if p.strip()] deg, minute, sec = map(float, parts) return deg + minute / 60.0 + sec / 3600.0
def dd_with_dir(value: float, is_lat: bool) -> str: """ 把十进制度数值转换为 “数值° 方向” 的字符串。
参数 ---- value : 十进制度(正数或负数) is_lat : True → 处理纬度,False → 处理经度
返回 ---- 如 "40.0112° N"、"-112.7001° W" → "112.7001° W" """ if is_lat: direction = 'N' if value >= 0 else 'S' else: direction = 'E' if value >= 0 else 'W'
return f"{abs(value):.12f}° {direction}"
if __name__ == '__main__': lat_raw = "40;0;40.3800000000046566" lon_raw = "112; 42; 0.289999999978931555"
lat_dd = dms_to_dd(lat_raw) lon_dd = dms_to_dd(lon_raw)
lat_str = dd_with_dir(lat_dd, is_lat=True) lon_str = dd_with_dir(lon_dd, is_lat=False)
print(f"Latitude : {lat_str}") print(f"Longitude : {lon_str}")
|