真方位から磁方位へ変換
真方位90°で東偏7.5°なら、磁方位は82.5°です。方位と符号付きの偏角を入力すると、結果は0°以上360°未満のコンパスの範囲に収めて表示されます。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 真方位
- 90
- 赤緯
- 7.5
- 磁方位
- 82.5
- 精度
- 6
この計算機は、地理上の北を基準とする真方位を、磁北を基準とする磁方位へ変換します。真方位と現地の磁気偏角を明示的に入力すると、東を正とする偏角を差し引き、結果を0度以上360度未満へ正規化します。現在地、日付、偏角を推測する機能はありません。処理範囲を明確に限定しているため、航法演習、測量記録、地図作業、自動テストで再現可能な結果を得られます。
変換前に北の基準を確認します
方位は、どの北を基準にするかが分からなければ一意に定まりません。真方位は地理上の北から時計回りに測る角度です。磁方位は、機器固有の影響を除いた理想的な磁気コンパスが示す磁北から測ります。
両者の角度差を磁気偏角、または偏差と呼びます。この計算機では東を正とする規約を採用しています。東偏角は正数、西偏角は負数で入力してください。
真方位から磁方位へ変換する際は、符号付き偏角を差し引きます。たとえば真方位90度、東偏角7.5度なら磁方位は82.5度です。西偏角7.5度の場合は-7.5と入力し、97.5度を得ます。
値自体に符号を持たせるため、プログラム、表計算、教材、野外記録でも同じ規則を再現しやすくなります。海図やデータ源が採用する符号規約は必ずご確認ください。符号を逆にすると、もっともらしく見えても誤った結果になります。
偏角を入力し、正規化された結果を読み取ります
累積回転などから得た真方位は通常範囲外でも構いません。最初に0度以上360度未満へ正規化し、偏角を引いた後でもう一度正規化するため、北をまたぐ場合も正しく処理されます。真方位2度、東偏角8度なら、正規化前は-6度となり、磁方位354度が返ります。
偏角は符号付きオフセットなので正規化しません。-12を348へ変えると意味が失われます。任意の precision では小数点以下を0桁から12桁まで指定でき、既定値は6です。
航法手順の中で適切に利用します
この処理は、意図的に局所的な代数計算だけを行います。座標から偏角を検索したり、住所を推定したり、時間による地磁気変化を計算したりしません。対象地点と時期に合う偏角を、海図、航法機関、測量記録、地磁気モデルなどから取得し、明示的に渡してください。
偏角の出典と変換処理を分けることで、根拠が見え、結果を再現できます。地図の針路をコンパス練習用に直す、航空・海洋の演習問題を確認する、測量観測を比較する、航法ソフトウェアのテストデータを作る、といった用途に利用できます。ネットワーク、乱数、現在日時は使わず、同じ入力には同じ出力を返します。
実際の航法では、機差、周辺金属、電気機器、グリッド収束、最新データの補正も必要な場合があります。本計算機は真方位から偏角を引くだけであり、正式な運航手順の代わりにはなりません。
活用例
地図の針路をコンパス用に変換
最新の現地偏角を取得した後、真北基準の地図針路を磁方位へ変換します。
航法訓練の答え合わせ
航空、海洋、測量、野外活動の問題を、東正の偏角を明示して確認します。
ソフトウェア用テスト値
地図やコンパス画面の試験向けに、再現可能で正規化済みの磁方位を生成します。
よくある質問
どの計算式を使用しますか?
磁方位 = 真方位 − 偏角を使用し、東偏角を正として結果を [0, 360) へ正規化します。
西偏角はどのように入力しますか?
負数で入力してください。負の値を引くため、磁方位は大きくなります。
現在地から偏角を取得しますか?
いいえ。 場所と日付に適した現地偏角を、お客様が別途ご用意ください。
計算結果が負になる場合はどうなりますか?
北をまたいで標準範囲へ戻します。たとえば-6度は354度になります。
磁気偏角とバリエーションは同じものですか?
はい、同じ角度です。航空や船舶の資料ではバリエーションと呼ばれることがありますが、真北と磁北の差を指します。呼び方にかかわらず、東を正、西を負として入力してください。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geo/true-to-magnetic \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"true_bearing":90,"declination":7.5}'const res = await fetch("https://api.kit.forhosting.com/geo/true-to-magnetic", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"true_bearing": 90,
"declination": 7.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/true-to-magnetic",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"true_bearing": 90,
"declination": 7.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/true-to-magnetic", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"true_bearing":90,"declination":7.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"true_bearing":90,"declination":7.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/true-to-magnetic", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"true_bearing": 90,
"declination": 7.5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.true_to_magnetic",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
偏角を入力し、正規化された結果を読み取ります
true_bearing と declination には、有限の度数を JSON の数値として指定します。JSON では不要な末尾のゼロを表示しません。未入力、「北」のような文字列、非有限値、過大な値、無効な精度は invalid_input になります。応答には正規化した真方位、偏角、magnetic_bearing、精度、式が含まれますので、隠れた状態に頼らず規約をご確認いただけます。
航法手順の中で適切に利用します
ブラウザーでの個別計算は無料で、自動処理に組み込む API リクエストは $0.002 です。
技術的な質問
API の料金はいくらですか。
API リクエスト1回につき $0.002 です。ブラウザーの対話型計算は無料です。