コンテンツへスキップ
🛠️ToolsShed

GPS Coordinate Converter

GPS座標を十進度(DD)、度分秒(DMS)、度小数分(DDM)の間で変換します。

このツールについて

GPS座標は複数の形式で表現でき、それぞれを相互変換できることはナビゲーション、地図作成、測量、屋外活動に不可欠です。本GPS座標コンバーターは、十進度数(DD)、度分秒(DMS)、度分秒以下(DDM)という3つの最も一般的な形式間をシームレスに変換します。GPSデバイス、モバイルアプリケーション、地図ソフトウェア、または紙の地図を扱う場合、このツールはさまざまなシステムと標準間の互換性を確保します。

コンバーターを使用するには、サポートされている形式で座標を貼り付けるか入力し、開始形式を選択するだけです。このツールは自動的に入力の構造を認識し、3つの形式すべてで等価な座標を同時に表示します。手動計算や複数のツール間の切り替えが不要になるため、パイロット、測量士、ハイカー、研究者、および多様なソースからの位置データを定期的に扱う人にとって非常に価値があります。

コンバーターはブラウザ内で完全に動作し、サーバーへのアップロードがないため、座標はプライベートのままです。緯度(北/南)と経度(東/西)を表すポジティブおよびネガティブ値を処理し、変換全体で精度を維持します。ヴィンテージの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.