ウェイポイント向けVMG計算
8ノット、針路45°で、方位30°にある目標へは7.727407ノットで近づいています。速度・針路・方位を同じ基準で入力すると、速さのうち実際に目標へ近づく分が分かります。ブラウザで無料で使えます。
- 無料
- ブラウザで動作
- 登録不要
- データは端末の外に出ません
無料で実行
計算例
- 速度
- 8
- 針路 (°)
- 45
- 方位 (度)
- 30
- 角度差 (°)
- 15
- 角度差 (rad)
- 0.261799
- 余弦係数
- 0.965926
- Vmg
- 7.727407
ウェイポイントに向かう対地有効速度(VMG)とは、目的のマークまでの残距離を実際に減らす速度成分です。セーラー、パワーボートの操船者、レース役員、ルーティングエンジンが VMG を重視するのは、マークから外れた速いコースが遅れ、方位により近いやや遅いコースの方が勝つことがあるからです。本ツールは対地速力、船の針路または方位(度)、船からウェイポイントへのベアリングを受け取り、そのベアリング上へ速度ベクトルを余弦で射影します。VMG は速度にコースとベアリングの差の余弦を掛けた値です。正の VMG はマークへ接近、負は離隔を意味します。ネットワーク気象もハンドラ内 GPS も乱数もなく、入力は三つの数値のみです。
対地有効速度の意味と射影の仕組み
古典的航海とヨットレースにおいて、ウェイポイント向けの対地有効速度(VMG)は、関心の速度ベクトルを、関心が注目するマークの大圏または航程線方向へ射影した長さです。対地針路がウェイポイントへのベアリングと完全に一致すれば、速度の各単位がそのまま VMG となり余弦係数は 1 です。
マークのベアリングから相対角 60 度で帆走または航走すると、60 度の余弦は 1/2 なので、ノットメーターや SOG の表示が問題なく見えても VMG は速度の半分になります。マークから 90 度では接近分はゼロ、90 度を超えると余弦は負となり VMG は離隔率になります。2 組の lat/lon からベアリングを再計算せず、風や潮流も取得しません。
速度、コース(ベアリングと同じ角座標系の COG/船首方位)、およびプロッター・AIS アプリ・大圏計算から得た目的ベアリングをご用意ください。角差は −180 度から +180 度の区間に折り畳まれるため、350 度のコースと 10 度のベアリングは正しく 20 度の相対角となり、340 度という誤解を招く差にはなりません。
この正規化により北周りで余弦が連続し、スキッパーが「マークより 20 度高い」と言う感覚と一致します。
VMG が役立つ場面と料金の考え方
レース追跡アプリは SOG とマークベアリングが既知のとき、フルポーラーなしで次マークまでのレグを並べるためにウェイポイント向け VMG を使います。沿岸パワーボートやフェリーは、距離のみの ETA がノイズの多いとき、周期的な SOG・COG・目的ベアリングを投稿して ETA パネルに接近率を示せます。
別の大圏呼び出しで既にベアリングを得たルーティングノートブックは、北周りの余弦境界を再実装せずこの純射影を連結できます。検索語「ウェイポイント向け対地有効速度 計算」向けのコンテンツサイトは、自動化経路とバイト一致する無料ライブツールを得ます。検証失敗は残高を消費しません。
ハンドラは同一枠として扱い、偏差を変換しません。
活用例
ヨットレースのマークレグ
次マークへの SOG・コース・ベアリングを VMG 計算に入れ、候補針路を比較してブイへより速く閉じるものを見ます。
航海訓練とシミュレータ
接近コースと離隔コースの答えが本番アプリと同じ余弦定義になるよう、学習者に決定論的な対地有効速度オラクルを提供します。
ETA とブリッジのダッシュボード
COG が航程線や大圏から外れるとき、船速を目的ベアリングへ射影し、距離ベース ETA の横にライブ接近率を表示します。
よくある質問
ウェイポイント向け対地有効速度はどう計算しますか?
VMG は速度に、コースとウェイポイントへのベアリングの差の余弦を掛けた値です。正はマークへの接近、負は離隔を意味します。
負の VMG は何を意味しますか?
負の VMG はコースがマークベアリングに対して相対角 90 度超であることを意味し、射影は速度と同じ単位で |VMG| の速さでウェイポイント距離を広げます。
緯度経度からベアリングを計算しますか?
いいえ。 ベアリング(とコースと速度)はご自身で与えます。2 点座標から始める場合は、別のベアリングまたは大圏機能と組み合わせてください。
目標から60°ずれると、速さが半分しか生かせないのはなぜですか?
60°のコサインが2分の1で、VMGは速度に針路と方位の差の角度のコサインを掛けた値だからです。90°ずれると、目標には全く近づきません。
北をはさんだ針路と方位はどう比べますか?
差は-180°から180°の範囲に収めて計算します。そのため針路350°と方位10°の差は、340°ではなく20°として扱われます。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/geo/vmg-to-waypoint \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"speed":8,"course_deg":45,"bearing_deg":30}'const res = await fetch("https://api.kit.forhosting.com/geo/vmg-to-waypoint", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"speed": 8,
"course_deg": 45,
"bearing_deg": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/vmg-to-waypoint",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"speed": 8,
"course_deg": 45,
"bearing_deg": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/vmg-to-waypoint", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"speed":8,"course_deg":45,"bearing_deg":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"speed":8,"course_deg":45,"bearing_deg":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/vmg-to-waypoint", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"speed": 8,
"course_deg": 45,
"bearing_deg": 30
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.vmg_to_waypoint",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
技術的な注記
対地有効速度の意味と射影の仕組み
このエンドポイントは正規化したコースとベアリングの差の余弦一つで教科書定義を実装します。
入力契約、応答フィールド、エラー動作
速度は非負である必要があります。コースとベアリングは 0〜360 の外にあってもよく、差だけが重要で余弦の前に正規化されます。POST で必須の有限数 3 つを含む JSON 本文を送ります。speed(別名 sog, vessel_speed, v, speed_over_ground)、course_deg(別名 course, heading, cog, course_degrees, track_deg)、bearing_deg(別名 bearing, waypoint_bearing, destination_bearing, bearing_to_waypoint, target_bearing)です。単位は任意(ノット、m/s、mph、km/h)で、射影は無次元のため速度系の出力はすべて同じ単位を再利用し same_as_speed とラベルされます。成功時は監査用に speed・course_deg・bearing_deg をエコーし、符号付き相対角の angle_diff_deg と angle_diff_rad、その角の純余弦 cos_factor、符号付き射影 vmg、その絶対値 vmg_abs、vmg/speed(speed が 0 なら 0)の efficiency、closing・opening・neither の文字列 closing、単位マーカー、formula 文字列を返します。欠落フィールド、非有限文字列、空オブジェクト、負の速度は invalid_input で失敗し課金されません。
VMG が役立つ場面と料金の考え方
訓練シミュレータやセーリングスクールのダッシュボードは、針路変更で VMG が改善したかを問う決定論的オラクルとして本エンドポイントを使います。実装は純粋な parse ティア A 算術のため、成功呼び出しは公開の基本料金 $0.002 でモデルトークンは不要です。リクエストは小さく保ち、テストでは丸めた vmg を固定し、角が真方位か磁気かを文書化してください。
技術的な質問
VMG 計算に必要な入力は何ですか?
有限数 3 つです。speed(非負・一貫した単位)、course_deg(船の針路または船首方位)、bearing_deg(同じ角座標系で船からウェイポイントへのベアリング)。
対地有効速度計算の料金は?
ブラウザツールは無料です。API は成功呼び出しごとに KIT プリペイド残高から $0.002 です。無効入力は課金されません。