sample_code/经纬度转换.py
2025-03-14 12:16:47 +08:00

29 lines
708 B
Python

def ddm_to_dd(ddm):
parts = ddm.split(',')
lat_parts = parts[0]
lon_parts = parts[2]
lat_degrees = int(lat_parts[:2])
lat_minutes = float(lat_parts[2:])
lat_direction = parts[1]
lon_degrees = int(lon_parts[:3])
lon_minutes = float(lon_parts[3:])
lon_direction = parts[3]
lat_dd = lat_degrees + lat_minutes / 60
lon_dd = lon_degrees + lon_minutes / 60
if lat_direction == 'S':
lat_dd *= -1
if lon_direction == 'W':
lon_dd *= -1
return round(lat_dd, 6), round(lon_dd, 6)
# 示例调用
ddm_string = "2239.89242384,N,11411.86681487,E"
lat_dd, lon_dd = ddm_to_dd(ddm_string)
print(f"Latitude: {lat_dd}, Longitude: {lon_dd}")