等角航路方位
2地点間を等角航路で進むときに保つ、ただ1つのコンパス方位が分かります。51.127, 1.338から50.964, 1.853へは116.72186°、つまりESEです。メルカトル図で直線に見える針路で、ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 緯度1
- 51.127
- 経度1
- 1.338
- 緯度2
- 50.964
- 経度2
- 1.853
- 方位度
- 116.72186
- 方位ラジアン
- 2.0371807626
- 羅針
- ESE
等角航路方位計算機は、大圏初方位では答えない航法の問いに答えます。一定の方位角で緯度経度の一点から他点へロクソドロームに沿って進む単一の羅針方位は何か。船乗り、定方位区間の操縦者、GIS教育者、経路テストを書く開発者は、完全な海図スイートを開かずにその角が必要です。起点と終点の緯度経度を十進度で入れると、0以上360未満の半開区間の等角航路方位(度)、16方位ラベル、用いた閉形式、反子午線正規化のdelta-lambdaと等角緯度のdelta-psiの手順一覧、短いメッセージが返ります。
等角航路方位とは何か、大圏との違い
等角航路(ロクソドローム)は球面上の定方位の経路です。固定羅針方位を保てば大圏弧ではなく等角航路をたどります。メルカトル図上では直線分に見えるため、伝統的航法表や多くの経路計画ツールは最短距離がオルトドロームでも定方位を今も示します。
代数的に方位θはatan2(Δλ, Δψ)を満たし、Δψは等角緯度差、すなわちtan(π/4+φ2/2)/tan(π/4+φ1/2)の自然対数です。Δλは経度差を−πから+πの開閉区間に折り、反子午線をまたぐ短い線を選びます。両点が同一緯線ならΔψ=0で、方位はΔλの符号から真東または真西に潰ります。
極では等角緯度が無限になるため、±90度ちょうどまたは極近傍の緯度は非有限角を返す代わりに拒否します。これは大圏初方位ではなく、その量はオルトドローム上で連続変化し別の球面式を使います。二点WGS84間の単一定方位が必要なときは本機能を、最短路の初トラックが必要なときは大圏方位ツールを選んでください。
活用例
定方位区間の計画
船乗りとUAS運用者はウェイポイント対を入れ、完全なECDISや飛行計画なしにその間に保つ単一羅針方位を読みます。
航法ライブラリの単体テスト
既知の等角航路方位と意図的な範囲外拒否を、movable-type風式に対するコーディング型の期待値として生成します。
GIS教育ワークシート
教員は同じ二都市で等角対大圏を対比し、メルカトル図が定方位を直線に見せる理由を示します。
よくある質問
等角航路方位とは何ですか?
一点の緯度経度から他点への定羅針方位(ロクソドローム)です。大圏初方位と異なり、経路上で方位は変わりません。
どの座標範囲が受け入れられますか?
緯度は-90〜90、経度は-180〜180(いずれも含む)です。真の極は等角緯度が無限のため拒否されます。
大圏方位と同じですか?
いいえ。 大圏(オルトドローム)方位は最短路の初トラックで経路上変化します。本ツールは定等角航路のみ返します。
2地点が同じ緯線上にあるとどの方位になりますか?
経度が増えるか減るかによって、真東か真西になります。同じ緯線上では計算の南北の成分が0になるため、針路はその緯線に沿ったままです。
経路が180度の経線をまたぐとどうなりますか?
経度の差を半周未満に折り返して計算するので、地球をほぼ一周する方向ではなく、日付変更線を越える短い方の線が選ばれます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geo/rhumb-bearing \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":51.127,"lon1":1.338,"lat2":50.964,"lon2":1.853}'const res = await fetch("https://api.kit.forhosting.com/geo/rhumb-bearing", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 51.127,
"lon1": 1.338,
"lat2": 50.964,
"lon2": 1.853
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/rhumb-bearing",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 51.127,
"lon1": 1.338,
"lat2": 50.964,
"lon2": 1.853
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/rhumb-bearing", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":51.127,"lon1":1.338,"lat2":50.964,"lon2":1.853}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":51.127,"lon1":1.338,"lat2":50.964,"lon2":1.853}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/rhumb-bearing", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"lat1": 51.127,
"lon1": 1.338,
"lat2": 50.964,
"lon2": 1.853
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.rhumb_bearing",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
lat_min | -90 |
lat_max | 90 |
lon_min | -180 |
lon_max | 180 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
緯度がマイナス90〜90、経度がマイナス180〜180の有効範囲外は明確なinvalid_inputで失敗し課金されません。経路は純粋な決定的球面演算で、ネットワークも乱数種も壁時計依存もなく、無料ブラウザ実行器と前払いAPIは固定小数丸め後に毎回同じJSONを返します。
等角航路方位とは何か、大圏との違い
起点と終点が一致すると幾何方位は未定義で、本APIは慣例として0度を返しmessageに記して自動テストを決定的に保ちます。
APIの呼び方と返る内容
地理極の緯度も等角緯度式が有限でないため拒否します。有限な必須数4つをJSONで送ります。lat1(別名start_lat, latitude1, from_lat)、lon1(start_lon, longitude1, from_lon, lng1)、lat2(end_lat, latitude2, to_lat)、lon2(end_lon, longitude2, to_lon, lng2)。緯度は−90〜90、経度は−180〜180の閉区間で、範囲外は有効範囲外メッセージ付きinvalid_inputです。成功時は丸め済みlat1等をエコーし、bearing_degを0以上360未満の定方位度、bearing_radを同角のラジアン、compassをN・NE・WSWなどの16方位、formulaをatan2とΔψ式、unitsを度とラジアン、messageを短い英語要約、stepsをテストで断言できる置換行の順序配列にします。欠落・非有限・範囲外・極緯度の検証失敗はinvalid_inputで課金されません。料金は成功リクエストごとに定額$0.002、単位item、限界単価ゼロです。
実務のヒント、制限、関連検索
高緯度付近の長い南北区間では両緯度を開いた極帯の内側に厳密に保ってください。本ランディングは等角航路方位計算機・ロクソドローム定方位・二座標間の定羅針方位を探す人向けで、等角距離計算機でも方位からの到達点ツールでも楕円体測地ソルバでもありません。二点があり定方位だけが必要なら本機能を、大圏飛行計画が源ならオルトドロームツールで変換・再標本化してください。APIは真の極を既に拒否しますが、90度から数マイクロ度の値でも他系ではtan(π/4+φ/2)が浮動小数で張りつきます。クライアントを制御できるなら整形文字列より数値JSONを送り、文字列数は厳密な有限数値パターンに合う場合のみ受け付けます。教育では例を対で:ドーバー付近51.127N,1.338Eから50.964N,1.853Eは南東寄りの定方位、緯線沿いの真東は90度、子午線沿いの真南は180度、緯度91や経度200は硬いinvalid_input経路です。invalid_inputの失敗タスクは前払い残高を消費せず、学習者が意図的に範囲外経度を送る探索スクリプトを安く保ちます。往復確認は短東西・南北区間でΔψとatan2を手計算しbearing_degが同じ6桁丸め内で一致すること、および単純子午線区間で起点終点入れ替えが方位を約180度回すことを確かめれば容易です。
技術的な質問
起点と終点が同一点の場合は?
幾何方位は未定義です。APIは慣例でbearing_deg 0を返し、安定テストのためmessageに記します。
等角航路方位計算機は無料ですか?
ブラウザツールは無料でローカル実行です。APIは成功リクエストごとに前払いKIT残高から$0.002で、失敗タスクは課金されません。