본문으로 건너뛰기
🛠️ToolsShed

GPS Coordinate Converter

GPS 좌표를 10진 도(DD), 도 분 초(DMS), 도 10진 분(DDM) 사이에 변환합니다.

이 도구 소개

GPS 좌표는 여러 형식으로 표현될 수 있으며, 이들 간의 변환 방법을 이해하는 것은 네비게이션, 지도 제작, 측량 및 야외 활동에 필수적입니다. 본 GPS 좌표 변환기는 십진 도수(DD), 도분초(DMS), 도분(DDM) 세 가지 가장 널리 사용되는 형식 간의 변환을 완벽하게 수행합니다. GPS 기기, 모바일 앱, 지도 소프트웨어 또는 종이 지도를 다룰 때 이 도구는 다양한 시스템과 표준 간의 호환성을 보장합니다.

변환기를 사용하려면 지원하는 형식으로 좌표를 붙여넣거나 입력한 후 시작 형식을 선택하기만 하면 됩니다. 도구가 입력의 구조를 자동으로 인식하고 세 가지 형식 모두에서 동등한 좌표를 동시에 표시합니다. 수동 계산이나 여러 도구 간의 전환이 불필요하므로 조종사, 측량사, 등산객, 연구자 및 다양한 소스의 위치 데이터를 정기적으로 다루는 누구나에게 매우 유용합니다.

변환기는 브라우저에서 완전히 작동하며 서버 업로드가 없으므로 좌표는 비공개로 유지됩니다. 양수 및 음수 값(위도의 북/남, 경도의 동/서 표현)을 처리하며 변환 전체에서 정밀도를 유지합니다. 구형 Garmin 수신기에서 좌표를 디코딩하든, GIS 소프트웨어를 위해 데이터를 변환하든, 팀이 이해하는 형식으로 위치 정보를 공유하든 이 도구는 다양한 표기법 시스템 간의 격차를 즉시 해결합니다.

자주 묻는 질문

코드 구현

def dd_to_dms(decimal_deg: float, is_lat: bool) -> str:
    """Convert decimal degrees to DMS string."""
    direction = ("N" if decimal_deg >= 0 else "S") if is_lat else ("E" if decimal_deg >= 0 else "W")
    abs_deg = abs(decimal_deg)
    degrees = int(abs_deg)
    minutes_full = (abs_deg - degrees) * 60
    minutes = int(minutes_full)
    seconds = (minutes_full - minutes) * 60
    return f"{degrees}° {minutes}' {seconds:.4f}" {direction}"

def dd_to_ddm(decimal_deg: float, is_lat: bool) -> str:
    """Convert decimal degrees to DDM string."""
    direction = ("N" if decimal_deg >= 0 else "S") if is_lat else ("E" if decimal_deg >= 0 else "W")
    abs_deg = abs(decimal_deg)
    degrees = int(abs_deg)
    minutes = (abs_deg - degrees) * 60
    return f"{degrees}° {minutes:.6f}' {direction}"

def dms_to_dd(degrees: float, minutes: float, seconds: float, direction: str) -> float:
    """Convert DMS to decimal degrees."""
    dd = degrees + minutes / 60 + seconds / 3600
    if direction in ("S", "W"):
        dd = -dd
    return dd

# New York City coordinates
lat, lon = 40.712776, -74.005974
print(f"DD:  {lat}, {lon}")
print(f"DMS: {dd_to_dms(lat, True)}, {dd_to_dms(lon, False)}")
print(f"DDM: {dd_to_ddm(lat, True)}, {dd_to_ddm(lon, False)}")

# Convert back
lat_back = dms_to_dd(40, 42, 45.9936, "N")
print(f"Back to DD: {lat_back:.6f}")  # 40.712776

Comments & Feedback

Comments are powered by Giscus. Sign in with GitHub to leave a comment.