十進度を度分秒(DMS)に変換
緯度40.7128は40° 42′ 46.08″ Nになります。緯度か経度かを選ぶと、度・分・秒に分け、符号から半球を決め、確認用に十進度へ戻した値も示します。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 値
- 40.7128
- 軸
- Latitude
- 度
- 40
- 分
- 42
- 秒
- 46.08
- 半球
- N
十進度は GIS レイヤー、GPS ログ、Web 地図、スプレッドシートのエクスポートで標準的な座標形式ですが、野外マニュアル、海図、測量図、多くの規制様式では、半球の文字を明示した六十進法の度分秒表記が今も求められます。このコンバーターは、符号付き十進度の数値と軸(緯度または経度)の選択を受け取り、整数の度、整数の分、小数の秒、半球(N、S、E、W)、印刷可能な DMS 文字列、そして往復変換の精度を確認できる復元された十進度を返します。正の値は北または東、負の値は南または西を意味し、ゼロは慣例により正の半球を使用します。軸の範囲外の値は、極やアンチメリディアンを黙って越えるのではなく、明確なバリデーションエラーで失敗します。
十進度が度・分・秒に変わる仕組み
符号付き十進度の値 v と、許容範囲と半球のアルファベットの両方を決める軸から始めます。緯度の閉区間はマイナス90度からプラス90度で、非負の値には N、負の値には S を使います。経度の閉区間はマイナス180度からプラス180度で、非負の値には E、負の値には W を使います。
変換は絶対値に対して行います。絶対値の十進数の整数部分(床)を度の成分とし、小数の剰余に60を掛けて分を求め、その積の整数部分を分の成分とし、残った小数の分に再び60を掛けて秒を求めます。秒は固定の小数桁数に丸められ、丸めで秒が60になると分に繰り上がり、分が60になると度に繰り上がります。
この繰り上げにより、値が分や度の境界に極めて近い場合に「60秒」や「60分」のような不格好な結果を防ぎます。半球は元の符号と軸から決まり、絶対値の大きさだけからは決まらないため、南緯は度・分・秒が正の整数でも必ず S と表示されます。
十進度から DMS への変換が実務で使われる場面
測量士、航海士、GIS アナリストは、機械に優しい十進座標を、図面、航海通告、航空図、登記記述で使われる六十進表記へと絶えず変換しており、信頼できる単一のコンバーターはチーム間のスプレッドシート式のずれを解消します。
オープンデータポータルは WGS84 の点を十進度で公開することが多い一方、提携機関は固定長レポートテンプレートに半球文字付きの DMS 文字列を求め、ETL ジョブはバッチエクスポートで地積が1秒ずれないよう決定的な丸めと繰り上げを必要とします。
座標系を教える教育者は、試験の時間制約の中で60進の剰余を手計算させずに、符号付き十進形式と N S E W 形式を並べて見せたいと考えます。
後で DMS の各部から十進度への逆変換、大圏上の目的地の点、lat と lon からのスリッピーマップのタイルインデックスが必要になった場合は、この十進度→DMS ページに詰め込まず、別の検索意図とランディングページとして扱ってください。
活用例
測量・登記レポートの整形
符号付き十進の GPS や GIS の点を、図面、権利証の添付資料、規制当局への提出物向けに、度・分・秒と半球文字へ変換します。
GPS トラックとオープンデータの一括 ETL
十進の緯度・経度の列全体を、決定的な丸めと軸範囲バリデーション付きで安定した DMS 文字列に変換します。
座標系の教育
符号付き十進度の正確な六十進分割を N/S または E/W 付きで生徒に示し、解答キーが唯一の正解と一致するようにします。
よくある質問
十進度と DMS の違いは何ですか?
十進度は座標を1つの符号付き数値(例:40.7128)として保存します。DMS は絶対値を整数の度、整数の分、秒に分割し、符号と軸から半球の文字(N、S、E、W)を付けます。
受け付ける範囲はどのくらいですか?
緯度は十進度で [-90, 90]、経度は [-180, 180] である必要があります。
正と負の値はどう解釈されますか?
正は緯度では北、経度では東を意味します。負は南と西を意味します。ゼロは慣例により正の半球(N または E)を使用します。
料金はいくらですか?
ブラウザツールは無料でローカルに動作します。無効な入力は課金されません。
値が0のときはどの半球になりますか?
0は正の側として扱われ、緯度ならN、経度ならEになります。赤道や本初子午線で使われる一般的な決まりに従っています。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geo/decimal-to-dms \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":40.7128,"axis":"latitude"}'const res = await fetch("https://api.kit.forhosting.com/geo/decimal-to-dms", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 40.7128,
"axis": "latitude"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/decimal-to-dms",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 40.7128,
"axis": "latitude"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/decimal-to-dms", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":40.7128,"axis":"latitude"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":40.7128,"axis":"latitude"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/decimal-to-dms", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"value": 40.7128,
"axis": "latitude"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.decimal_to_dms",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
十進度が度・分・秒に変わる仕組み
パイプラインは純粋で決定的な浮動小数点演算であり、乱数シード、時刻、ネットワークのジオコーディング、モデルのドリフトがないため、同じ値と軸からは常に同じ JSON が得られます。欠落した入力、非数値、NaN、Infinity は拒否され、軸の範囲を超える値は invalid_input で失敗するため、呼び出し側は不可能な位置を公開する代わりに座標を修正できます。
送信する内容と返ってくる内容
ハンドラーはスクリプトでの便宜のため、短い別名 lat、lon、lng も受け付けます。代表的な確認例としては、ニューヨーク市の地図サンプルで使う緯度40.7128、グリニッジの西側にある同市の経度 -74.006、赤道や本初子午線のエッジケースである各軸のゼロ、そしてエラー経路を試すための緯度91や経度181のような意図的な範囲外の値があります。宿題や簡単な確認には無料のブラウザフォームを使い、GPS トラックや解答キーの一括変換が必要なときはスクリプトから同一のコントラクトを呼び出してください。送信するのは2つのフィールドです。有限の符号付き十進度数である value と、文字列 latitude または longitude である axis です。両方とも必須です。 フィールドの欠落、非数値文字列、NaN、Infinity は invalid_input で失敗し、課金されません。value が緯度のマイナス90から90の範囲外、または経度のマイナス180から180の範囲外の場合、リクエストは軸の範囲を示すメッセージで失敗するため、自動化されたクライアントは正確な修正方法を提示できます。成功時のレスポンスには、クリーニングされた値と正規化された軸、整数の度、整数の分、小数の秒、1文字の半球、プラスまたはマイナス1の符号、六十進分割に使われた絶対値 absolute_decimal、度・分・秒の記号と文字を含む人間が読める dms 文字列、空白なしのコンパクト形式 dms_compact、簡易検証用に復元された十進度、軸の数値範囲オブジェクト、メソッド decimal_to_dms、短い計算式の文字列が含まれます。成功した API 呼び出しの料金は公開ベースの $0.002(1件あたり)で、バリデーション失敗はプリペイド残高を消費しません。
十進度から DMS への変換が実務で使われる場面
インタラクティブな教材を作るカリキュラム作成者は、自動採点とワークシートがずれないよう、オフラインとオンラインで同じ JSON 形状を必要とします。この機能は純粋な parse エンジンであるため、API 料金は公開ベースの $0.002(成功1件あたり)で、バリデーション失敗は残高を消費しません。
技術的な質問
latitude や longitude の代わりに lat や lon を渡せますか?
はい。axis フィールドは latitude、longitude と、短い別名 lat、lon、lng を受け付けます。レスポンスでは axis は常に latitude または longitude に正規化されます。